Advertisement
johnlol

class_setter

May 10th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //===== Hercules Script ======================================
  2. //= Class Setter
  3. //===== By: ==================================================
  4. //= Ancyker
  5. //===== Description: =========================================
  6. //= Disguises you as various classes.
  7. //===== Additional Comments: =================================
  8. //= v1.1 - Bug Fixes
  9. //= v1.0 - Initial version
  10. //===== Obtained at: =========================================
  11. //= https://github.com/Ancyker/PublicScripts/blob/master/SingleFiles/class_setter.txt
  12. //============================================================
  13. prontera,158,163,4  script  Class Setter    615,{
  14.     mes "["+strnpcinfo(1)+"]";
  15.     mes "What can I do for you?";
  16.     next;
  17.     switch(select("Disguise as Third Class:Disguise as Trans Class:Disguise as Baby Class:Disguise as Second Class:Disguise as First Class:End All Disguises")) {
  18.     case 1: // Display everything as third
  19.         set .@eac, eaclass();
  20.         .@eac |= EAJL_THIRD;
  21.         set .@job,roclass(.@eac);
  22.         if (.@job < 0 || !(.@eac&EAJL_2)) {
  23.             mes "["+strnpcinfo(1)+"]";
  24.             mes "I'm sorry, but I can't disguise you as this class.";
  25.             close;
  26.         } else callfunc "applybase",.@job;
  27.         break;
  28.     case 2: // Display everything as trans
  29.         set .@eac, eaclass();
  30.         if (.@eac&EAJL_THIRD) .@eac -= EAJL_THIRD;
  31.         .@eac |= EAJL_UPPER;
  32.         set .@job,roclass(.@eac);
  33.         if (.@job < 0 || !(.@eac&EAJL_2)) {
  34.             mes "["+strnpcinfo(1)+"]";
  35.             mes "I'm sorry, but I can't disguise you as this class.";
  36.             close;
  37.         } else callfunc "applybase",.@job;
  38.         break;
  39.     case 3: // Display everyone as baby
  40.         set .@eac, eaclass();
  41.         if (.@eac&EAJL_UPPER) .@eac -= EAJL_UPPER;
  42.         .@eac |= EAJL_BABY;
  43.         set .@job,roclass(.@eac);
  44.         if (.@job < 0) {
  45.             mes "["+strnpcinfo(1)+"]";
  46.             mes "I'm sorry, but I can't disguise you as this class.";
  47.             close;
  48.         } else callfunc "applybase",.@job;
  49.         break;
  50.     case 4: // Display everyone as 2nd
  51.         set .@eac, eaclass();
  52.         if (.@eac&EAJL_THIRD) .@eac -= EAJL_THIRD;
  53.         if (.@eac&EAJL_UPPER) .@eac -= EAJL_UPPER;
  54.         set .@job,roclass(.@eac);
  55.         if (.@job < 0 || !(.@eac&EAJL_2)) {
  56.             mes "["+strnpcinfo(1)+"]";
  57.             mes "I'm sorry, but I can't disguise you as this class.";
  58.             close;
  59.         } else callfunc "applybase",.@job;
  60.         break;
  61.     case 5: // Display everyone as 1st
  62.         set .@eac, eaclass();
  63.         if (.@eac&EAJL_THIRD) .@eac -= EAJL_THIRD;
  64.         if (.@eac&EAJL_UPPER) .@eac -= EAJL_UPPER;
  65.         if (.@eac&EAJL_2_1) .@eac -= EAJL_2_1;
  66.         if (.@eac&EAJL_2_2) .@eac -= EAJL_2_2;
  67.         set .@job,roclass(.@eac);
  68.         if (.@job < 0) {
  69.             mes "["+strnpcinfo(1)+"]";
  70.             mes "I'm sorry, but I can't disguise you as this class.";
  71.             close;
  72.         } else callfunc "applybase",.@job;
  73.         break;
  74.     default:
  75.         callfunc "applybase";
  76.         break;
  77.     }
  78.     mes "["+strnpcinfo(1)+"]";
  79.     mes "There you go!";
  80.     close;
  81. }
  82.  
  83. function    script  applybase   {
  84.     if (checkmount()) switch (getarg(0,Class)) {
  85.     case Job_Rune_Knight:
  86.     case Job_Rune_Knight_T:
  87.     case Job_Baby_Rune:
  88.         setoption 0x80000;
  89.         break;
  90.     case Job_Knight:
  91.     case Job_Baby_Knight:
  92.     case Job_Crusader:
  93.     case Job_Baby_Crusader:
  94.     case Job_Lord_Knight:
  95.     case Job_Paladin:
  96.     case Job_Royal_Guard:
  97.     case Job_Royal_Guard_T:
  98.     case Job_Baby_Guard:
  99.         setoption 0x20;
  100.         break;
  101.     default:
  102.         break;
  103.     }
  104.     changebase getarg(0,Class);
  105.     return 0;
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement