• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

Job Advance (For All version) *Just 111 line*

Junior Spellweaver
Joined
Aug 13, 2010
Messages
111
Reaction score
16
Hi everybody. I release my job advance script from my server. enjoy :lol: :lol: :lol:

PHP:
/*
==============Job Advance : Made By Jamaykids (GloryMS Thailand) KMS 1.2.219 ================
*/
var warrior = Array("110#Figther","120#Page","130#Spearman");
var magician = Array("210#Fire / Poison Mage","220#Ice / Lightening Mage","230#Bishop");
var archer = Array("310#Bowman","320#CrossBowman");
var thief = Array("410#Assasin","420#Bandit");
var pirate = Array("510#Brawler","520#Gunslinger");

function start() {
    status = -1;
    action(1, 0, 0);
}

function action(mode, type, selection) {
    if (mode == -1) {
        cm.dispose();
    } else {
        if (mode == 0) {
            cm.dispose();
            return;
        }
        if (mode == 1)
            status++;
        else
            status--;
        if (status == 0) {
			if (cm.getPlayer().getLevel() == 30 && (cm.getJob() < 1000 && cm.getJob() != 430 && cm.getJob() != 501)) {
				if (cm.getJob() == 100) {
					lvl30 = warrior;
				} else if (cm.getJob() == 200) {
					lvl30 = magician;
				} else if (cm.getJob() == 300) {
					lvl30 = archer;
				} else if (cm.getJob() == 400) {
					lvl30 = thief;
				} else if (cm.getJob() == 500) {
					lvl30 = pirate;
				} else {
					cm.dispose();
				}
				status = 10;
				var chat = "Choose #e#bjob#k#n do you want.\r\n";
				for (var i = 0; i < lvl30.length; i++) {
					chat += "#L" + lvl30[i] + "#l\r\n";
				}
                cm.sendSimple(chat);		
			} else {
			cm.sendNext("Please Click #e#rNext#k#n for change Job");
			}
        } else if (status == 1) {
			if (cm.getPlayer().getLevel() == 20) {
				if (cm.getPlayer().getKeyValue("dualBlade") && cm.getJob() == 400) { // DB
					Job = cm.getJob() + 30;
				} else if (cm.getJob() == 2200) { // Evan
					Job = cm.getJob() + 10;
				} else {
					cm.dispose();
				}
			} else if (cm.getPlayer().getLevel() == 30) {
				if (cm.getJob() == 1100 || cm.getJob() == 1200 || cm.getJob() == 1300 || cm.getJob() == 1400 || cm.getJob() == 1500 || cm.getJob() == 2100 || cm.getJob() == 2300 || cm.getJob() == 2400 || cm.getJob() == 2500 || cm.getJob() == 2700 || cm.getJob() == 3100 || cm.getJob() == 3200 || cm.getJob() == 3300 || cm.getJob() == 3500 || cm.getJob() == 3600 || cm.getJob() == 5100 || cm.getJob() == 6100 || cm.getJob() == 6500) {
					Job = cm.getJob() + 10;
				} else if (cm.getJob() == 430 || cm.getJob() == 2210) { // Evan & DB
					Job = cm.getJob() + 1;
				} else if (cm.getJob() == 501) { // Cannon
					Job = cm.getJob() + 29;		
				} else if (cm.getJob() == 3101) { // Demon Avenger
					Job = cm.getJob() + 19;						
				} else {
					cm.dispose();
				}
			} else if ((cm.getPlayer().getLevel() == 40 && cm.getJob() == 2211) || (cm.getPlayer().getLevel() == 50 && cm.getJob() == 2212) || (cm.getPlayer().getLevel() == 80 && cm.getJob() == 2214) || (cm.getPlayer().getLevel() == 120 && cm.getJob() == 2216) || (cm.getPlayer().getLevel() == 160 && cm.getJob() == 2217)) { // Evan
					Job = cm.getJob() + 1;		
			} else if (cm.getPlayer().getLevel() == 45) { // DB
				if (cm.getJob() == 431) {
					Job = cm.getJob() + 1;		
				} else {
					cm.dispose();
				}			
			} else if (cm.getPlayer().getLevel() == 60)  {
				if (cm.getJob() == 1110 || cm.getJob() == 1210 || cm.getJob() == 1310 || cm.getJob() == 1410 || cm.getJob() == 1510 || cm.getJob() == 2110 || cm.getJob() == 2310 || cm.getJob() == 2410 || cm.getJob() == 2510 || cm.getJob() == 2710 || cm.getJob() == 3110 || cm.getJob() == 3210 || cm.getJob() == 3310 || cm.getJob() == 3510 || cm.getJob() == 3610 || cm.getJob() == 5110 || cm.getJob() == 6110 || cm.getJob() == 6510 || cm.getJob() == 110 || cm.getJob() == 120 || cm.getJob() == 130 || cm.getJob() == 210 || cm.getJob() == 220 || cm.getJob() == 230 || cm.getJob() == 310 || cm.getJob() == 320 || cm.getJob() == 410 || cm.getJob() == 420 || cm.getJob() == 510 || cm.getJob() == 520) {
					Job = cm.getJob() + 1;
				} else if (cm.getJob() == 432 || cm.getJob() == 2213 || cm.getJob() == 3120) { // Evan & DB && DA
					Job = cm.getJob() + 1;
				} else {
					cm.dispose();
				}				
			} else if (cm.getPlayer().getLevel() == 100)  {
				if (cm.getJob() == 1111 || cm.getJob() == 1211 || cm.getJob() == 1311 || cm.getJob() == 1411 || cm.getJob() == 1511 || cm.getJob() == 111 || cm.getJob() == 121 || cm.getJob() == 131 || cm.getJob() == 211 || cm.getJob() == 221 || cm.getJob() == 231 || cm.getJob() == 311 || cm.getJob() == 321 || cm.getJob() == 411 || cm.getJob() == 421 || cm.getJob() == 511 || cm.getJob() == 521 || cm.getJob() == 2111 || cm.getJob() == 2311 || cm.getJob() == 2411 || cm.getJob() == 2511 || cm.getJob() == 2711 || cm.getJob() == 3111 || cm.getJob() == 3211 || cm.getJob() == 3311 || cm.getJob() == 3511 || cm.getJob() == 3611 || cm.getJob() == 5111 || cm.getJob() == 6111 || cm.getJob() == 6511 ) {
					Job = cm.getJob() + 1;
				} else if (cm.getJob() == 433 || cm.getJob() == 2215 || cm.getJob() == 3121) { // Evan & DB && DA
						Job = cm.getJob() + 1;
				} else {
					cm.dispose();
				}
			} else {
				cm.sendOk("...");
				cm.dispose()
			}
			cm.getPlayer().changeJob(Job);
			if (cm.getPlayer().getKeyValue("dualBlade")) {
				cm.fakeRelog();
				cm.updateChar();
			}			
			cm.dispose();
		} else if (status == 11) {
			cm.getPlayer().changeJob(selection);
			cm.dispose();
		}
	}
}
 
Custom Title Activated
Loyal Member
Joined
Jan 18, 2010
Messages
3,109
Reaction score
1,139
Cool I guess, but.. couldn't this be shorter? This looks reeaally long and it looks like a v140+ script with demon avengers and stuff in it (or demon slayer?) which is v117. Nonetheless, nice release.
 
Newbie Spellweaver
Joined
May 23, 2010
Messages
86
Reaction score
24
I recommend changing the code to work for Mod's (%) and checking for individual job ids that way instead of all those id checks manually. That way its more dynamic if nexon adds another job, and im not saying this will work for all job advancement levels, some of the early advancements have a big jump in job id i,e (3002 >> 3600)
 
Junior Spellweaver
Joined
Aug 13, 2010
Messages
111
Reaction score
16
I recommend changing the code to work for Mod's (%) and checking for individual job ids that way instead of all those id checks manually. That way its more dynamic if nexon adds another job, and im not saying this will work for all job advancement levels, some of the early advancements have a big jump in job id i,e (3002 >> 3600)

explain :)
 
Newbie Spellweaver
Joined
May 23, 2010
Messages
86
Reaction score
24
PHP:
} else if (cm.getPlayer().getLevel() >= 60)  {
                if (cm.getJob() % 100 >= 10) { Job = cm.getJob() + 1; }
} else if (cm.getPlayer().getLevel() >= 100)  {
                if (cm.getJob() % 100 > 10) { Job = cm.getJob() + 1; }
}

Code may be subject to change, but this is my thought behind the code. This will prolly only work for the giant blocks of job id checks that you have, the others may have to change, but that requires furthur insight into how the code functions.
 
Back
Top