Budots Posted December 23, 2013 Posted December 23, 2013 (edited) I have here a Job Sprite Changer Script made by or shall we say modified by AnnieRuRu I hope Annie can read this I want to add something like; - They need to do a random MONSTER QUEST before they can change their job sprites. - 3 Sets of MOBS - 200 - 300 monster per set like for example (poring = 238 / fabre = 287 / lunatic = 292) - If they want to return to original job sprite, they need to pay 1,000 item 9524 // 9524 <----- is the item ID Hopefully pro scripters will help me with this :wub: MERRY CHRISTMAS :meow: bump BUMP BUMP job_sprite.txt Edited December 22, 2013 by Budots Quote
AnnieRuru Posted December 24, 2013 Posted December 24, 2013 (edited) depends on my mood this is not event script ... this is a quest script, which I'm not very motivated... that's why the other topics solved faster than this prontera,150,180,4 script asdfasdf 100,{ // job_sprite_changer_q$ = ""; if ( job_sprite_changer_d ) { mes "return to original disguise ?"; if ( select ( "Yes", "No" ) == 2 ) close; else if ( countitem(9524) < 1000 ) { mes "you need 1000x "+ getitemname(9524); close; } mes "disguise reverted"; changebase class; job_sprite_changer_d = 0; close; } if ( getstrlen( job_sprite_changer_q$ ) ) { mes job_sprite_changer_q$; for ( .@i = 0; .@i < 3; .@i++ ) mes strmobinfo( 2, @job_sprite_changer_qm[.@i] ) +" : ["+ @job_sprite_changer_qa[.@i] +"/"+ @job_sprite_changer_qr[.@i] +"]"; .@i = 0; while ( @job_sprite_changer_qa[.@i] >= @job_sprite_changer_qr[.@i] && .@i < 3 ) .@i++; if ( .@i < 3 ) close; next; mes "select which jobtype you would like to change into."; switch ( select ( "Normal Jobs", "Rebirth Jobs", "Baby Jobs", "Expanded Jobs" ) ) { case 1: .@job = callsub( L_eamenu, 0 ); break; case 2: .@job = callsub( L_eamenu, EAJL_UPPER ); break; case 3: .@job = callsub( L_eamenu, EAJL_BABY ); break; case 4: .@job = callsub( L_menu, 23,24,25, 4046,4047,4049 ); } if ( !.@job ) { mes "sry you can't take novice"; // TO-DO close; } changebase .@job; mes "You now look like "+ jobname( .@job ) +"! Enjoy"; job_sprite_changer_d = .@job; job_sprite_changer_q$ = ""; close; } mes "want to take up monster quest ?"; next; if ( select ( "Yes", "No" ) == 2 ) { mes "come back another time"; close; } set .@Blacklist$, // Blacklisted mob IDs. "1062,1088,1183,1186,1200,1212,1220,1221,1234,1235,"+ "1244,1245,1250,1268,1290,1293,1294,1296,1298,1299,"+ "1300,1301,1303,1304,1305,1306,1308,1309,1311,1313,"+ "1515,1588,1618,1676,1677,1678,1679,1796,1797,1974,"+ "1975,1976,1977,1978,1979"; query_sql("SELECT ID FROM `mob_db` WHERE left(Sprite, 4) != 'meta' AND left(Sprite, 2) != 'E_' AND ~Mode & 32 AND EXP > 0 AND MVP1id = 0 AND DropCardid > 4000 AND DropCardid < 5000 AND ID < 2000 AND ID not in ("+ .@Blacklist$ +") ORDER BY rand() LIMIT 3", @job_sprite_changer_qm); job_sprite_changer_q$ = ""; for ( .@i = 0; .@i < 3; .@i++ ) { @job_sprite_changer_qr[.@i] = rand(200,300); job_sprite_changer_q$ = job_sprite_changer_q$ + @job_sprite_changer_qm[.@i] +"#"+ @job_sprite_changer_qr[.@i] +"#0#"; } mes "the monster you need to hunt is"; for ( .@i = 0; .@i < 3; .@i++ ) mes strmobinfo( 2, @job_sprite_changer_qm[.@i] ) +" : [0/"+ @job_sprite_changer_qr[.@i] +"]"; close; L_menu: for ( set .@i, 0; getarg(.@i, -1) != -1; set .@i, .@i +1 ) set .@menu$, .@menu$ + jobname( getarg(.@i) ) +":"; set .@s, select(.@menu$) -1; return getarg(.@s); L_eamenu: switch ( select ( "First Jobs", "2-1", "2-2", "3-1", "3-2" ) ) { case 1: set .@job, callsub( L_eajob, 0 | getarg(0) ); break; case 2: set .@job, callsub( L_eajob, EAJL_2_1 | getarg(0) ); break; case 3: set .@job, callsub( L_eajob, EAJL_2_2 | getarg(0) ); break; case 4: set .@job, callsub( L_eajob, EAJL_THIRD | EAJL_2_1 | getarg(0) ); break; case 5: set .@job, callsub( L_eajob, EAJL_THIRD | EAJL_2_2 | getarg(0) ); } return .@job; L_eajob: for ( set .@i, getarg(0); .@i < getarg(0) +7; set .@i, .@i +1 ) { set .@job[.@c], roclass( getarg(0) + .@c ); set .@menu$, .@menu$ +( ( jobname( .@job[.@c] ) == "Unknown Job" )? "" : jobname( .@job[.@c] ) )+":"; set .@c, .@c +1; } set .@s, select(.@menu$) -1; return .@job[.@s]; OnNPCKillEvent: if ( !getstrlen( job_sprite_changer_q$ ) ) end; while ( @job_sprite_changer_qm[.@i] != killedrid && .@i < 3 ) .@i++; // dispbottom @job_sprite_changer_qm[.@i] +" "+ killedrid +" "+ ( @job_sprite_changer_qm != killedrid )+" "; if ( .@i < 3 && @job_sprite_changer_qa[.@i] < @job_sprite_changer_qr[.@i] ) { @job_sprite_changer_qa[.@i]++; job_sprite_changer_q$ = ""; for ( .@i = 0; .@i < 3; .@i++ ) job_sprite_changer_q$ = job_sprite_changer_q$ + @job_sprite_changer_qm[.@i] +"#"+ @job_sprite_changer_qr[.@i] +"#"+ @job_sprite_changer_qa[.@i] +"#"; } end; OnPCLoginEvent: if ( job_sprite_changer_d ) changebase job_sprite_changer_d; else if ( getstrlen( job_sprite_changer_q$ ) ) { explode .@var$, job_sprite_changer_q$, "#"; for ( .@i = 0; .@i < 9; .@i++ ) { if ( .@i % 3 == 0 ) @job_sprite_changer_qm[.@i /3] = atoi( .@var$[.@i] ); if ( .@i % 3 == 1 ) @job_sprite_changer_qr[.@i /3] = atoi( .@var$[.@i] ); if ( .@i % 3 == 2 ) @job_sprite_changer_qa[.@i /3] = atoi( .@var$[.@i] ); } } end; } got a feeling this script gonna bug ... since I did this half-heartedly check out everything issit working or not before say thx ... the script looks unoptimized too Edited December 24, 2013 by AnnieRuru 1 Quote
Question
Budots
I have here a Job Sprite Changer Script made by or shall we say modified by AnnieRuRu
I hope Annie can read this
I want to add something like;
- They need to do a random MONSTER QUEST before they can change their job sprites.
- 3 Sets of MOBS
- 200 - 300 monster per set like for example (poring = 238 / fabre = 287 / lunatic = 292)
- If they want to return to original job sprite, they need to pay 1,000 item 9524 // 9524 <----- is the item ID
Hopefully pro scripters will help me with this
:wub: 
MERRY CHRISTMAS
:meow: 
bump
BUMP
BUMP
job_sprite.txt
Edited by Budots1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.