Ok tired of looking at how everyone using a cody who doesnt dispose properly and requires relog each time you so I decide to release my which I edited awhile ago.
I only takes credit for disposing them properly,
Known bugs:
If your overleveled, 120+ and your still in 2nd job, your character wont be able to use cody anymore
If your overleveled to 70+ while your still in 1st job, your character wont be able to use cody anymore.
I only takes credit for disposing them properly,
Code:
/* [NPC]
Job Advancer
Made by Tryst (wasdwasd) of Odinms Forums.
Please don't release this anywhere else.
*/
importPackage(net.sf.odinms.client);
var status = 0;
var job;
function start() {
status = -1;
action(1, 0, 0);
}
function action(mode, type, selection) {
if (mode == -1) {
cm.dispose();
} else {
if (mode == 1)
status++;
else
status--;
if (status == 0) {
if (cm.getLevel() < 30) {
cm.sendNext("Sorry, but you have to be at least level 30 to use my services.");
status = 98;
} else if (cm.getLevel() >= 30 && cm.getLevel() < 70) {
cm.sendNext("Hello, I'm in charge of Job Advancing ");
} else if (cm.getLevel() >= 70 && cm.getLevel() < 120) {
status = 60;
cm.sendNext("Hello, I'm in charge of Job Advancing.");
} else if (cm.getLevel() >=120) {
status = 101;
cm.sendNext("Hello, I'm in charge of Job Advancing");
}
} else if (status == 1) {
if (cm.getJob().equals(net.sf.odinms.client.MapleJob.THIEF)) {
cm.sendSimple("Conratulations on reaching such a high level. Which would you like to be? #b\r\n#L0#Assassin#l\r\n#L1#Bandit#l#k");
}
if (cm.getJob().equals(net.sf.odinms.client.MapleJob.WARRIOR)) {
cm.sendSimple("Conratulations on reaching such a high level. Which would you like to be? #b\r\n#L2#Fighter#l\r\n#L3#Page#l\r\n#L4#Spearman#l#k");
}
if (cm.getJob().equals(net.sf.odinms.client.MapleJob.MAGICIAN)) {
cm.sendSimple("Conratulations on reaching such a high level. Which would you like to be? #b\r\n#L5#Ice Lightning Wizard#l\r\n#L6#Fire Poison Wizard#l\r\n#L7#Cleric#l#k");
}
if (cm.getJob().equals(net.sf.odinms.client.MapleJob.BOWMAN)) {
cm.sendSimple("Conratulations on reaching such a high level. Which would you like to be? #b\r\n#L8#Hunter#l\r\n#L9#Crossbowman#l#k");
}
if (cm.getJob().equals(net.sf.odinms.client.MapleJob.BEGINNER)) {
cm.sendNext("Conratulations on reaching such a high level. However, you must've already undergone the First Job Advancement before you can use my services.");
cm.dispose();
}
/*if already get assasin,bandit,hunter,xbow,fwiz,,iwiz,cleric,fighter,page,speardude cm.dispose()*/
else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.ASSASSIN)) {
cm.dispose();
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.BANDIT)) {
cm.dispose();
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.HUNTER)) {
cm.dispose();
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.CROSSBOWMAN)) {
cm.dispose();
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.FP_WIZARD)) {
cm.dispose();
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.IL_WIZARD)) {
cm.dispose();
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.CLERIC)) {
cm.dispose();
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.FIGHTER)) {
cm.dispose();
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.PAGE)) {
cm.dispose();
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.SPEARMAN)) {
cm.dispose();
}
} else if (status == 2) {
var jobName;
if (selection == 0) {
jobName = "Assassin";
job = net.sf.odinms.client.MapleJob.ASSASSIN;
}
if (selection == 1) {
jobName = "Bandit";
job = net.sf.odinms.client.MapleJob.BANDIT;
}
if (selection == 2) {
jobName = "Fighter";
job = net.sf.odinms.client.MapleJob.FIGHTER;
}
if (selection == 3) {
jobName = "Page";
job = net.sf.odinms.client.MapleJob.PAGE;
}
if (selection == 4) {
jobName = "Spearman";
job = net.sf.odinms.client.MapleJob.SPEARMAN;
}
if (selection == 5) {
jobName = "Ice Lightning Wizard";
job = net.sf.odinms.client.MapleJob.IL_WIZARD;
}
if (selection == 6) {
jobName = "Fire Poison Wizard";
job = net.sf.odinms.client.MapleJob.FP_WIZARD;
}
if (selection == 7) {
jobName = "Cleric";
job = net.sf.odinms.client.MapleJob.CLERIC;
}
if (selection == 8) {
jobName = "Hunter";
job = net.sf.odinms.client.MapleJob.HUNTER;
}
if (selection == 9) {
jobName = "Crossbowman";
job = net.sf.odinms.client.MapleJob.CROSSBOWMAN;
}
cm.sendYesNo("Do you want to become a #r" + jobName + "#k?");
} else if (status == 3) {
cm.changeJob(job);
cm.sendOk("There you go. Hope you enjoy it. See you around in the future maybe :)");
cm.dispose();
}
else if (status == 61) {
if (cm.getJob().equals(net.sf.odinms.client.MapleJob.ASSASSIN)) {
status = 63;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.BANDIT)) {
status = 66;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.HUNTER)) {
status = 69;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.CROSSBOWMAN)) {
status = 72;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.FP_WIZARD)) {
status = 75;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.IL_WIZARD)) {
status = 78;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.CLERIC)) {
status = 81;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.FIGHTER)) {
status = 84;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.PAGE)) {
status = 87;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.SPEARMAN)) {
status = 90;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.BEGINNER)) {
cm.sendNext("Such a high level #bBeginner#k! Amazing!");
} else {
cm.dispose();
}
} else if (status == 64) {
cm.changeJob(MapleJob.HERMIT);
cm.sendOk("There you go. Hope you enjoy it. See you around in the future maybe :)");
cm.dispose();
} else if (status == 67) {
cm.changeJob(MapleJob.CHIEFBANDIT);
cm.sendOk("There you go. Hope you enjoy it. See you around in the future maybe :)");
cm.dispose();
} else if (status == 70) {
cm.changeJob(MapleJob.RANGER);
cm.sendOk("There you go. Hope you enjoy it. See you around in the future maybe :)");
cm.dispose();
} else if (status == 73) {
cm.changeJob(MapleJob.SNIPER);
cm.sendOk("There you go. Hope you enjoy it. See you around in the future maybe :)");
cm.dispose();
} else if (status == 76) {
cm.changeJob(MapleJob.FP_MAGE);
cm.sendOk("There you go. Hope you enjoy it. See you around in the future maybe :)");
cm.dispose();
} else if (status == 79) {
cm.changeJob(MapleJob.IL_MAGE);
cm.sendOk("There you go. Hope you enjoy it. See you around in the future maybe :)");
cm.dispose();
} else if (status == 82) {
cm.changeJob(MapleJob.PRIEST);
cm.sendOk("There you go. Hope you enjoy it. See you around in the future maybe :)");
cm.dispose();
} else if (status == 85) {
cm.changeJob(MapleJob.CRUSADER);
cm.sendOk("There you go. Hope you enjoy it. See you around in the future maybe :)");
cm.dispose();
} else if (status == 88) {
cm.changeJob(MapleJob.WHITEKNIGHT);
cm.sendOk("There you go. Hope you enjoy it. See you around in the future maybe :)");
cm.dispose();
} else if (status == 91) {
cm.changeJob(MapleJob.DRAGONKNIGHT);
cm.sendOk("There you go. Hope you enjoy it. See you around in the future maybe :)");
cm.dispose();
} else if (status == 99) {
cm.sendOk("Good luck on your training.");
cm.dispose();
} else if (status == 102) {
if (cm.getJob().equals(net.sf.odinms.client.MapleJob.HERMIT)) {
status = 105;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.CHIEFBANDIT)) {
status = 108;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.RANGER)) {
status = 111;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.SNIPER)) {
status = 114;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.FP_MAGE)) {
status = 117;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.IL_MAGE)) {
status = 120;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.PRIEST)) {
status = 123;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.CRUSADER)) {
status = 126;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.WHITEKNIGHT)) {
status = 129;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.DRAGONKNIGHT)) {
status = 132;
cm.sendYesNo("Conratulations on reaching such a high level. Do you want to Job Advance now?");
} else if (cm.getJob().equals(net.sf.odinms.client.MapleJob.BEGINNER)) {
cm.sendNext("Such a high level #bBeginner#k! Amazing!");
}
else {
cm.dispose();
}
} else if (status == 106) {
cm.changeJob(MapleJob.NIGHTLORD);
cm.teachSkill(1003,1,1);
cm.teachSkill(4120002,0,0);
cm.teachSkill(4121000,0,0);
cm.teachSkill(4121004,0,5);
cm.teachSkill(4121008,0,5);
cm.teachSkill(4121003,0,0);
cm.teachSkill(4121006,0,5);
cm.teachSkill(4121007,0,0);
cm.teachSkill(4120005,0,5);
cm.sendOk("There you go. Hope you enjoy it. I've given you a full set of skills as well, aren't you lucky!");
cm.dispose();
} else if (status == 109) {
cm.changeJob(MapleJob.SHADOWER);
cm.teachSkill(1003,1,1);
cm.teachSkill(4221001,0,5);
cm.teachSkill(4221007,0,5);
cm.teachSkill(4220002,0,0);
cm.teachSkill(4221000,0,0);
cm.teachSkill(4221004,0,5);
cm.teachSkill(4221003,0,0);
cm.teachSkill(4221006,0,5);
cm.teachSkill(4220005,0,5);
cm.sendOk("There you go. Hope you enjoy it. I've given you a full set of skills as well, aren't you lucky!");
cm.dispose();
} else if (status == 112) {
cm.changeJob(MapleJob.BOWMASTER);
cm.teachSkill(1003,1,1);
cm.teachSkill(3121009,0,5);
cm.teachSkill(3120005,0,5);
cm.teachSkill(3121008,0,5);
cm.teachSkill(3121003,0,0);
cm.teachSkill(3121007,0,5);
cm.teachSkill(3121000,0,0);
cm.teachSkill(3121006,0,5);
cm.teachSkill(3121002,0,5);
cm.teachSkill(3121004,0,5);
cm.sendOk("There you go. Hope you enjoy it. I've given you a full set of skills as well, aren't you lucky!");
cm.dispose();
} else if (status == 115) {
cm.changeJob(MapleJob.CROSSBOWMASTER);
cm.teachSkill(1003,1,1);
cm.teachSkill(3221008,0,5);
cm.teachSkill(3221006,0,5);
cm.teachSkill(3220004,0,5);
cm.teachSkill(3221003,0,0);
cm.teachSkill(3221005,0,5);
cm.teachSkill(3221000,0,0);
cm.teachSkill(3221001,0,5);
cm.teachSkill(3221002,0,5);
cm.teachSkill(3221007,0,5);
cm.sendOk("There you go. Hope you enjoy it. I've given you a full set of skills as well, aren't you lucky!");
cm.dispose();
} else if (status == 118) {
cm.changeJob(MapleJob.FP_ARCHMAGE);
cm.teachSkill(1003,1,1);
cm.teachSkill(2121008,0,5);
cm.teachSkill(2121001,0,5);
cm.teachSkill(2121005,0,5);
cm.teachSkill(2121003,0,0);
cm.teachSkill(2121004,0,5);
cm.teachSkill(2121002,0,5);
cm.teachSkill(2121000,0,0);
cm.teachSkill(2121007,0,5);
cm.teachSkill(2121006,0,5);
cm.sendOk("There you go. Hope you enjoy it. I've given you a full set of skills as well, aren't you lucky!");
cm.dispose();
} else if (status == 121) {
cm.changeJob(MapleJob.IL_ARCHMAGE);
cm.teachSkill(1003,1,1);
cm.teachSkill(2221008,0,5);
cm.teachSkill(2221001,0,5);
cm.teachSkill(2221007,0,5);
cm.teachSkill(2221006,0,5);
cm.teachSkill(2221003,0,0);
cm.teachSkill(2221005,0,5);
cm.teachSkill(2221004,0,0);
cm.teachSkill(2221002,0,5);
cm.teachSkill(2221000,0,0);
cm.sendOk("There you go. Hope you enjoy it. I've given you a full set of skills as well, aren't you lucky!");
cm.dispose();
} else if (status == 124) {
cm.changeJob(MapleJob.BISHOP);
cm.teachSkill(1003,1,1);
cm.teachSkill(2321007,0,0);
cm.teachSkill(2321003,0,30);
cm.teachSkill(2321001,0,5);
cm.teachSkill(2321008,0,5);
cm.teachSkill(2321005,0,5);
cm.teachSkill(2321004,0,0);
cm.teachSkill(2321002,0,5);
cm.teachSkill(2321000,0,0);
cm.teachSkill(2321006,0,5);
cm.sendOk("There you go. Hope you enjoy it. I've given you a full set of skills as well, aren't you lucky!");
cm.dispose();
} else if (status == 127) {
cm.changeJob(MapleJob.HERO);
cm.teachSkill(1003,1,1);
cm.teachSkill(1120004,0,5);
cm.teachSkill(1120003,0,5);
cm.teachSkill(1120005,0,0);
cm.teachSkill(1121008,0,5);
cm.teachSkill(1121010,0,5);
cm.teachSkill(1121000,0,0);
cm.teachSkill(1121001,0,5);
cm.teachSkill(1121006,0,5);
cm.teachSkill(1121002,0,5);
cm.teachSkill(1121011,0,0);
cm.sendOk("There you go. Hope you enjoy it. I've given you a full set of skills as well, aren't you lucky!");
cm.dispose();
} else if (status == 130) {
cm.changeJob(MapleJob.PALADIN);
cm.teachSkill(1003,1,1);
cm.teachSkill(1221012,0,5);
cm.teachSkill(1220005,0,5);
cm.teachSkill(1220010,0,5);
cm.teachSkill(1221009,0,5);
cm.teachSkill(1220006,0,5);
cm.teachSkill(1221004,0,5);
cm.teachSkill(1221003,0,5);
cm.teachSkill(1221000,0,0);
cm.teachSkill(1221001,0,5);
cm.teachSkill(1221007,0,5);
cm.teachSkill(1221011,0,5);
cm.teachSkill(1221002,0,5);
cm.sendOk("There you go. Hope you enjoy it. I've given you a full set of skills as well, aren't you lucky!");
cm.dispose();
} else if (status == 133) {
cm.changeJob(MapleJob.DARKKNIGHT);
cm.teachSkill(1003,1,1);
cm.teachSkill(1320005,0,5);
cm.teachSkill(1320006,0,5);
cm.teachSkill(1321000,0,0);
cm.teachSkill(1321001,0,5);
cm.teachSkill(1321003,0,0);
cm.teachSkill(1321007,0,30);
cm.teachSkill(1320008,0,30);
cm.teachSkill(1320009,0,30);
cm.teachSkill(1321002,0,5);
cm.sendOk("There you go. Hope you enjoy it. I've given you a full set of skills as well, aren't you lucky!");
cm.dispose();
}
else {
cm.dispose();
}
}
}
Known bugs:
If your overleveled, 120+ and your still in 2nd job, your character wont be able to use cody anymore
If your overleveled to 70+ while your still in 1st job, your character wont be able to use cody anymore.