viewing paste Class Setter (Disguise) | Athena

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