//===== eAthena Script =======================================
//= eAthena Jobchanger AKA Job Master
//===== By: ==================================================
//= eAthena Dev Team [LunatikBunnie] (Editted by Amada`) (editted again by lilaznkilla)
//===== Current Version: =====================================
//= 1.2d
//===== Compatible With: =====================================
//= Any Athena Version
//===== Description: =========================================
//= Changes your job without asking too much
//= For other info, please contact me at Lunatikbunnie@gmail.com
//= Editted menu to avoid button mashing.
//============================================================
// ------------------------------ Start ------------------------------
lighthalzen.gat,85,148,6 script Job Master 833,{
// Variable Setup
set @MinimumJB, 40; //Minimum job level for changing between 2nd and advance Class (Default : 40)
set @GivePlat, 1; //Give Platinum skills on Jobchange (Default : 1-yes)
set @SupNovM, 45; //Base Level to change into Super Novice (Default : 45)
// Check Jobtype
if(Upper == 1 && Class >= Job_Lord_Knight) goto L_cantCh;
if(SkillPoint != 0) goto L_skillUsed;
if(Class == Job_Novice) goto L_novice;
if(JobLevel <10) goto L_notEn;
if((Class ==Job_Novice_High) && ((lastJob ==7) || (lastJob ==14))) goto L_cHsword;
if((Class ==Job_Novice_High) && ((lastJob ==9) || (lastJob ==16))) goto L_cHmage;
if((Class ==Job_Novice_High) && ((lastJob ==11) || (lastJob ==19) || (lastJob ==20))) goto L_cHarcher;
if((Class ==Job_Novice_High) && ((lastJob ==8) || (lastJob ==15))) goto L_cHacolyte;
if((Class ==Job_Novice_High) && ((lastJob ==10) || (lastJob ==18))) goto L_cHmerchant;
if((Class ==Job_Novice_High) && ((lastJob ==12) || (lastJob ==17))) goto L_cHthief;
if(JobLevel <@MinimumJB) goto L_notEn;
if(Class ==1) goto L_iSword;
if(Class ==2) goto L_iMage;
if(Class ==3) goto L_iArcher;
if(Class ==4) goto L_iAcolyte;
if(Class ==5) goto L_iMerchant;
if(Class ==6) goto L_iThief;
if(Class ==4046) goto L_iTKD;
if(Class ==24) goto L_GS;
if(checkfalcon(0) == 1 || checkcart(0) == 1 || checkriding(0) == 1) goto L_remove;
if(lastJob ==7) goto L_iKnight;
if(lastJob ==8) goto L_iPriest;
if(lastJob ==9) goto L_iWizard;
if(lastJob ==10) goto L_iBlacksmith;
if(lastJob ==11) goto L_iHunter;
if(lastJob ==12) goto L_iAssassin;
if(lastJob ==14) goto L_iCrusader;
if(lastJob ==15) goto L_iMonk;
if(lastJob ==16) goto L_iSage;
if(lastJob ==17) goto L_iRogue;
if(lastJob ==18) goto L_iAlchemist;
if(lastJob ==19) goto L_iBard;
if(lastJob ==20) goto L_iDancer;
if((Class >=7) && (Class <=20)) goto L_rebirth;
close;
// Novice
L_novice:
skill 142,1,0;
skill 143,1,0;
if(JobLevel<10) goto L_notEn;
mes "^ff0000[Job Master]^000000";
mes "Welcome, please select the job you wish to change into";
menu "Swordsman",L_sword,"Mage",L_mage,"Archer",L_archer,"Acolyte",L_acolyte,"Merchant",L_merchant,"Thief",L_thief,"Super Novice",L_superN,"Learn Taekwondo",L_TKD,"Gunslinger",L_GS;
// Change to Swordsman
L_sword:
mes "Are you SURE you want to become a ^ff0000Swordsman^000000?";
menu "No",L_quit,"Yes",-;
jobchange 1;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Gunslinger
L_GS:
mes "Are you SURE you want to be a ^ff0000Gunslinger^000000?";
menu "No",L_quit,"Yes",-;
jobchange 24;
close;
// Change to Mage
L_mage:
mes "Are you SURE you want to become a ^ff0000Mage^000000?";
menu "No",L_quit,"Yes",-;
jobchange 2;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Archer
L_archer:
mes "Are you SURE you want to become a ^ff0000Archer^000000?";
menu "No",L_quit,"Yes",-;
jobchange 3;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Acolyte
L_acolyte:
mes "Are you SURE you want to become a ^ff0000Acolyte^000000?";
menu "No",L_quit,"Yes",-;
jobchange 4;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Merchant
L_merchant:
mes "Are you SURE you want to become a ^ff0000Merchant^000000?";
menu "No",L_quit,"Yes",-;
jobchange 5;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Thief
L_thief:
mes "Are you SURE you want to become a ^ff0000Thief^000000?";
menu "No",L_quit,"Yes",-;
jobchange 6;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Super Novice
L_superN:
mes "Are you SURE you want to become a ^ff0000Super Novice^000000?";
menu "No",L_quit,"Yes",-;
if(BaseLevel<@SupNovM) goto L_notSup;
jobchange 23;
if(GivePlat ==1) goto L_givePlat;
close;
//Change to Taekwondo
L_TKD:
mes "Are you SURE you want to learn a ^ff0000Taekwondo^000000?";
menu "No",L_quit,"Yes",-;
jobchange 4046;
close;
// Change to Knight/Crusader
L_iSword:
mes "^ff0000[Job Master]^000000";
mes "Welcome, please select the job you wish to change into";
menu "Knight",L_knight,"Crusader",L_crusader;
L_knight:
mes "Are you SURE?";
menu "No",L_quit,"Yes",-;
jobchange 7;
if(GivePlat ==1) goto L_givePlat;
close;
L_crusader:
mes "Are you SURE?";
menu "No",L_quit,"Yes",-;
jobchange 14;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Wizard/Sage
L_iMage:
mes "^ff0000[Job Master]^000000";
mes "Welcome, please select the job you wish to change into";
menu "Wizard",L_wizard,"Sage",L_sage;
L_wizard:
mes "Are you SURE?";
menu "No",L_quit,"Yes",-;
jobchange 9;
if(GivePlat ==1) goto L_givePlat;
close;
L_sage:
mes "Are you SURE?";
menu "No",L_quit,"Yes",-;
jobchange 16;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Hunter/Bard/Dancer
L_iArcher:
mes "^ff0000[Job Master]^000000";
mes "Welcome, please select the job you wish to change into";
menu "Hunter",L_hunter,"Bard/Dancer",L_bandd;
L_hunter:
mes "Are you SURE?";
menu "No",L_quit,"Yes",-;
jobchange 11;
if(GivePlat ==1) goto L_givePlat;
close;
L_bandd:
if(sex==0) goto L_dancer;
if(sex==1) goto L_bard;
L_bard:
mes "Are you SURE?";
menu "No",L_quit,"Yes",-;
jobchange 19;
if(GivePlat ==1) goto L_givePlat;
close;
L_dancer:
mes "Are you SURE?";
menu "No",L_quit,"Yes",-;
jobchange 20;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Priest/Monk
L_iAcolyte:
mes "^ff0000[Job Master]^000000";
mes "Welcome, please select the job you wish to change into";
menu "Priest",L_priest,"Monk",L_monk;
L_priest:
mes "Are you SURE?";
menu "No",L_quit,"Yes",-;
jobchange 8;
if(GivePlat ==1) goto L_givePlat;
close;
L_monk:
mes "Are you SURE?";
menu "No",L_quit,"Yes",-;
jobchange 15;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Blacksmith/Alchemist
L_iMerchant:
mes "^ff0000[Job Master]^000000";
mes "Welcome, please select the job you wish to change into";
menu "Blacksmith",L_blacksmith,"Alchemist",L_alchemist;
L_blacksmith:
mes "Are you SURE?";
menu "No",L_quit,"Yes",-;
jobchange 10;
if(GivePlat ==1) goto L_givePlat;
close;
L_alchemist:
mes "Are you SURE?";
menu "No",L_quit,"Yes",-;
jobchange 18;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Assassin/Rogue
L_iThief:
mes "^ff0000[Job Master]^000000";
mes "Welcome, please select the job you wish to change into";
menu "Assassin",L_assassin,"Rogue",L_rogue;
L_assassin:
mes "Are you SURE?";
menu "No",L_quit,"Yes",-;
jobchange 12;
if(GivePlat ==1) goto L_givePlat;
close;
L_rogue:
mes "Are you SURE?";
menu "No",L_quit,"Yes",-;
jobchange 17;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Star Knight/Soul Linker
L_iTKD:
if(JobLevel <40) goto L_NRTKD;
mes "^ff0000[Job Master]^000000";
mes "Welcome, please select the job you wish to change into";
menu "Soul linker",L_SL,"Star Knight",L_SK;
L_SL:
mes "Do want to become a Soul linker?";
menu "No",L_quit,"Yes",-;
jobchange 4049;
close;
L_SK:
mes "Do yo want to be a Star knight?";
menu "No",L_quit,"Yes",-;
jobchange 4047;
close;
L_NRTKD:
mes "You are not ready to learn the secret arts of taekwondo";
next;
mes "Come back here when you are stronger";
close;
// Rebirth
L_rebirth:
mes "^ff0000[Job Master]^000000";
mes "Do you want to reborn?";
next;
mes "Are you SURE?";
menu "No",L_quit,"Yes",-;
if ((BaseLevel < 99) || (JobLevel < 50)) goto L_cantCh;
set lastJob, readparam(19);
jobchange Job_Novice_High;
resetlvl(1);
skill 142,1,0;
skill 143,1,0;
mes "^ff0000[Job Master]^000000";
mes "You are now reborn";
mes "Please come again soon";
close;
L_cHsword:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into a High Swordsman?";
next;
menu "No",L_quit,"Yes",-;
jobchange Job_swordsman_High;
mes "^ff0000[Job Master]^000000";
mes "Thank you, please come again soon!";
close;
L_cHmage:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into a High Mage?";
next;
menu "No",L_quit,"Yes",-;
jobchange Job_mage_High;
mes "^ff0000[Job Master]^000000";
mes "Thank you, please come again soon!";
close;
L_cHarcher:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into a High Archer?";
next;
menu "No",L_quit,"Yes",-;
jobchange Job_archer_High;
mes "^ff0000[Job Master]^000000";
mes "Thank you, please come again soon!";
close;
L_cHacolyte:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into a High Acolyte?";
next;
menu "No",L_quit,"Yes",-;
jobchange Job_acolyte_High;
mes "^ff0000[Job Master]^000000";
mes "Thank you, please come again soon!";
close;
L_cHmerchant:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into a High Merchant?";
next;
menu "No",L_quit,"Yes",-;
jobchange Job_merchant_High;
mes "^ff0000[Job Master]^000000";
mes "Thank you, please come again soon!";
close;
L_cHthief:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into a High Thief?";
next;
menu "No",L_quit,"Yes",-;
jobchange Job_thief_High;
mes "^ff0000[Job Master]^000000";
mes "Thank you, please come again soon!";
close;
// Change to Lord Knight
L_iKnight:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into a Lord Knight?";
menu "No",L_quit,"Yes",-;
jobchange Job_Lord_Knight;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Paladin
L_iCrusader:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into a Paladin?";
menu "No",L_quit,"Yes",-;
jobchange Job_Paladin;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to High Priest
L_iPriest:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into a High Priest?";
menu "No",L_quit,"Yes",-;
jobchange Job_High_Priest;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Champion
L_iMonk:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into a Champion?";
menu "No",L_quit,"Yes",-;
jobchange Job_Champion;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Whitesmith
L_iBlacksmith:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into a Whitesmith?";
menu "No",L_quit,"Yes",-;
jobchange Job_Whitesmith;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Creator
L_iAlchemist:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into a Creator?";
menu "No",L_quit,"Yes",-;
jobchange Job_Creator;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to High Wizard
L_iWizard:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into a High Wizard?";
menu "No",L_quit,"Yes",-;
jobchange Job_High_Wizard;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Professor
L_iSage:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into a Professor?";
menu "No",L_quit,"Yes",-;
jobchange Job_Professor;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Sniper
L_iHunter:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into a Sniper?";
menu "No",L_quit,"Yes",-;
jobchange Job_Sniper;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Clown
L_iBard:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into a Clown?";
menu "No",L_quit,"Yes",-;
jobchange Job_Clown;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Gypsy
L_iDancer:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into a Gypsy?";
menu "No",L_quit,"Yes",-;
jobchange Job_Gypsy;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Assassin Cross
L_iAssassin:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into an Assassin Cross?";
menu "No",L_quit,"Yes",-;
jobchange Job_Assassin_Cross;
if(GivePlat ==1) goto L_givePlat;
close;
// Change to Stalker
L_iRogue:
mes "^ff0000[Job Master]^000000";
mes "Do you want to change into a Stalker?";
menu "No",L_quit,"Yes",-;
jobchange Job_Stalker;
if(GivePlat ==1) goto L_givePlat;
close;
// Giving Platinum Skills
L_givePlat:
if (BaseJob==Job_SuperNovice) goto L_sSuperN;
if ((Class==Job_Swordman) || (Class==7) || (Class==13) || (Class==14)|| (Class==21) || (Class==4002) || (Class==4008)) goto L_sSword;
if ((Class==Job_Mage) || (Class==9) || (Class==16) || (Class==4003) || (Class==4010) || (Class==4017)) goto L_sMage;
if ((Class==Job_Archer) || (Class==11) || (Class==19) || (Class==20) || (Class==4004) || (Class==4012) || (Class==4020) || (Class==4021)) goto L_sArcher;
if ((Class==Job_Acolyte) || (Class==8) || (Class==15) || (Class==50) || (Class==54) || (Class==61) || (Class==4005) || (Class==4009) || (Class==4016)) goto L_sAcolyte;
if ((Class==Job_Merchant) || (Class==10) || (Class==18) || (Class==51) || (Class==56) || (Class==64) || (Class==4006) || (Class==4011) || (Class==4019)) goto L_sMerchant;
if ((Class==Job_Thief) || (Class==12) || (Class==17) || (Class==52) || (Class==58) || (Class==63) || (Class==4007) || (Class==4013) || (Class==4018)) goto L_sThief;
L_sSuperN:
skill 142,1,0;
close;
L_sSword:
skill 142,1,0;
skill 144,1,0;
skill 145,1,0;
skill 146,1,0;
L_sMage:
skill 142,1,0;
skill 157,1,0;
close;
L_sArcher:
skill 142,1,0;
skill 147,1,0;
skill 148,1,0;
close;
L_sAcolyte:
skill 142,1,0;
skill 156,1,0;
close;
L_sMerchant:
skill 142,1,0;
skill 153,1,0;
skill 154,1,0;
skill 155,1,0;
close;
L_sThief:
skill 142,1,0;
skill 149,1,0;
skill 150,1,0;
skill 151,1,0;
skill 152,1,0;
close;
L_quit:
close;
// Errors
L_cantCh:
mes "^ff0000[Job Master]^000000";
mes "I'm sorry, you do not meet the requirements to change";
mes "Please come again soon!";
close;
L_skillUsed:
mes "^ff0000[Job Master]^000000";
mes "I'm sorry, please use up all your skill points before changing jobs";
mes "Please come again soon!";
close;
L_notEn:
mes "^ff0000[Job Master]^000000";
mes "I'm sorry, you do not seem to have enough Job Levels";
mes "Please come again soon!";
close;
L_notSup:
mes "^ff0000[Job Master]^000000";
mes "I'm sorry, you do not seem to have enough Base Levels";
mes "Please come again soon!";
close;
L_remove:
mes "^ff0000[Job Master]^000000";
mes "Please remove your cart,falcon or peco";
mes "Please come again soon!";
close;
}
// ------------------------------ End -------------------