Emistry

Instant Job Class Changer

Sep 26th, 2012
359
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.39 KB | None | 0 0
  1.  
  2.  
  3. fayon,90,112,5 script Sample 757,{
  4. function JobClass;
  5. do{
  6. mes "You can change to ^0055FFwhatever job class^000000 you want for ^FF0000"+.Limitation+" times^000000.";
  7. mes "^777777===========================^000000";
  8. mes "^FF0000Requirements :^000000";
  9. if( getarraysize(.ItemID) == 2 ) mes " ^0055FF~ "+.ItemID[1]+" x "+getitemname(.ItemID[0])+"^000000";
  10. if( .Cost ) mes " ^0055FF~ "+.Cost+" Zeny^000000";
  11. next;
  12. }while( select("Change Job:Information") == 2 );
  13. if( Zeny < .Cost && getgmlevel() < .GMLevel ){
  14. mes "You need ^FF0000"+.Cost+" Zeny^000000";
  15. close;
  16. }
  17. if( getarraysize(.ItemID) == 2 && getgmlevel() < .GMLevel )
  18. if( countitem( .ItemID[0] ) < .ItemID[1] ){
  19. mes "You need ^FF0000"+.ItemID[1]+" x "+getitemname(.ItemID[0])+"^000000";
  20. close;
  21. }
  22. if( @JobChanged >= .Limitation && getgmlevel() < .GMLevel ){
  23. mes "Sorry, services isnt Available for you because 1 player can only change ^FF0000"+.Limitation+" times^000000.";
  24. }else{
  25. do{
  26. mes "Which classes you prefer to change ?";
  27. next;
  28. set @JobClass,JobClass( 1,2,3,4,5,6,23,24,25 );
  29. if( @JobClass < 23 ){
  30. mes "Job Class : ^0055FF"+jobname( @JobClass )+"^000000";
  31. set .@Option,select("Normal Class:Baby Class");
  32. switch( .@Option ){
  33. Case 1:
  34. set @JobClass,JobClass( roclass( (eaclass(@JobClass)&EAJ_BASEMASK) ),
  35. roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_2_1 ),
  36. roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_2_2 ),
  37. roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_UPPER ),
  38. roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_2_1|EAJL_UPPER ),
  39. roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_2_2|EAJL_UPPER ),
  40. roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_2_1|EAJL_THIRD ),
  41. roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_2_2|EAJL_THIRD )
  42. );
  43. break;
  44. Case 2:
  45. set @JobClass,JobClass( roclass( (eaclass(@JobClass)&EAJ_BASEMASK|EAJL_BABY) ),
  46. roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_BABY|EAJL_2_1 ),
  47. roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_BABY|EAJL_2_2 ),
  48. // roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_BABY|EAJL_UPPER ),
  49. // roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_BABY|EAJL_2_1|EAJL_UPPER ),
  50. // roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_BABY|EAJL_2_2|EAJL_UPPER ),
  51. roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_BABY|EAJL_2_1|EAJL_THIRD ),
  52. roclass( (eaclass(@JobClass)&EAJ_BASEMASK)|EAJL_BABY|EAJL_2_2|EAJL_THIRD )
  53. );
  54. break;
  55. }
  56. next;
  57. }
  58. mes "Job Class : ^0055FF"+jobname( @JobClass )+"^000000";
  59. mes "Are you sure ?";
  60. }while( select("Yes:Re-Select") == 2 );
  61. jobchange @JobClass;
  62. set BaseLevel,.Level[0];
  63. set JobLevel,.Level[1];
  64. if( .Skills )set SkillPoint,.Skills;
  65. else atcommand "@allskill";
  66. set @JobChanged,@JobChanged + 1;
  67. }
  68. close;
  69.  
  70. function JobClass {
  71. set .@Menu$,"";
  72. for( set .@i,0; .@i < getarg(.@i,0); set .@i,.@i + 1 )
  73. set .@Menu$,.@Menu$ + " ^0055FF~ "+jobname( getarg(.@i) )+"^000000:";
  74. return getarg( select( .@Menu$ ) - 1 );
  75. }
  76.  
  77. OnInit:
  78. //Item ID + Amount
  79. setarray .ItemID[0],7539,10;
  80. // Zeny Cost
  81. set .Cost,100000;
  82. // Minimum GM Level to bypass JobChange Limitation
  83. set .GMLevel,99;
  84. // Max Base Level + Job Level
  85. setarray .Level[0],255,50;
  86. // How many times can a Player use this Services ?
  87. set .Limitation,1;
  88. // Given Skill Points ( 0 = Give All Skills )
  89. set .Skills,100;
  90. end;
  91. }
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment