Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fayon,90,112,5 script Sample 757,{
- function JobClass;
- do{
- mes "You can change to ^0055FFwhatever job class^000000 you want for ^FF0000"+.Limitation+" times^000000.";
- mes "^777777===========================^000000";
- mes "^FF0000Requirements :^000000";
- if( getarraysize(.ItemID) == 2 ) mes " ^0055FF~ "+.ItemID[1]+" x "+getitemname(.ItemID[0])+"^000000";
- if( .Cost ) mes " ^0055FF~ "+.Cost+" Zeny^000000";
- next;
- }while( select("Change Job:Information") == 2 );
- if( Zeny < .Cost && getgmlevel() < .GMLevel ){
- mes "You need ^FF0000"+.Cost+" Zeny^000000";
- close;
- }
- if( getarraysize(.ItemID) == 2 && getgmlevel() < .GMLevel )
- if( countitem( .ItemID[0] ) < .ItemID[1] ){
- mes "You need ^FF0000"+.ItemID[1]+" x "+getitemname(.ItemID[0])+"^000000";
- close;
- }
- if( @JobChanged >= .Limitation && getgmlevel() < .GMLevel ){
- mes "Sorry, services isnt Available for you because 1 player can only change ^FF0000"+.Limitation+" times^000000.";
- }else{
- do{
- mes "Which classes you prefer to change ?";
- next;
- set @JobClass,JobClass( 1,2,3,4,5,6,23,24,25 );
- if( @JobClass < 23 ){
- mes "Job Class : ^0055FF"+jobname( @JobClass )+"^000000";
- set .@Option,select("Normal Class:Baby Class");
- switch( .@Option ){
- Case 1:
- set @JobClass,JobClass( roclass( (eaclass(@JobClass)&EAJ_BASEMASK) ),
- roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_2_1 ),
- roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_2_2 ),
- roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_UPPER ),
- roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_2_1|EAJL_UPPER ),
- roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_2_2|EAJL_UPPER ),
- roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_2_1|EAJL_THIRD ),
- roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_2_2|EAJL_THIRD )
- );
- break;
- Case 2:
- set @JobClass,JobClass( roclass( (eaclass(@JobClass)&EAJ_BASEMASK|EAJL_BABY) ),
- roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_BABY|EAJL_2_1 ),
- roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_BABY|EAJL_2_2 ),
- // roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_BABY|EAJL_UPPER ),
- // roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_BABY|EAJL_2_1|EAJL_UPPER ),
- // roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_BABY|EAJL_2_2|EAJL_UPPER ),
- roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_BABY|EAJL_2_1|EAJL_THIRD ),
- roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_BABY|EAJL_2_2|EAJL_THIRD )
- );
- break;
- }
- next;
- }
- mes "Job Class : ^0055FF"+jobname( @JobClass )+"^000000";
- mes "Are you sure ?";
- }while( select("Yes:Re-Select") == 2 );
- jobchange @JobClass;
- set BaseLevel,.Level[0];
- set JobLevel,.Level[1];
- if( .Skills )set SkillPoint,.Skills;
- else atcommand "@allskill";
- set @JobChanged,@JobChanged + 1;
- }
- close;
- function JobClass {
- set .@Menu$,"";
- for( set .@i,0; .@i < getarg(.@i,0); set .@i,.@i + 1 )
- set .@Menu$,.@Menu$ + " ^0055FF~ "+jobname( getarg(.@i) )+"^000000:";
- return getarg( select( .@Menu$ ) - 1 );
- }
- OnInit:
- //Item ID + Amount
- setarray .ItemID[0],7539,10;
- // Zeny Cost
- set .Cost,100000;
- // Minimum GM Level to bypass JobChange Limitation
- set .GMLevel,99;
- // Max Base Level + Job Level
- setarray .Level[0],255,50;
- // How many times can a Player use this Services ?
- set .Limitation,1;
- // Given Skill Points ( 0 = Give All Skills )
- set .Skills,100;
- end;
- }
Advertisement