//===== eAthena Script ======================================= //= eAthena Jobchanger AKA Job Master //===== By: ================================================== //= eAthena Dev Team [LunatikBunnie] (Editted by Amada`) //===== Current Version: ===================================== //= 1.3 //===== 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. //= 1.3 Added TK/SL/SG, thanks to Haplo. Fixed minor bugs [Lupus] //= script leaves grabage variable: 'lastJob' //============================================================ // ------------------------------ Start ------------------------------ prontera.gat,153,193,6 script Job Master 123,{ // 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_iTaekwon; if(checkfalcon(0) || checkcart(0) || checkriding(0)) 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,"Taekwon",L_taekwon; // Change to Swordsman L_sword: mes "Are you SURE?"; menu "No",L_quit,"Yes",-; jobchange 1; if(@GivePlat) goto L_GivePlat; close; // Change to Mage L_mage: mes "Are you SURE?"; menu "No",L_quit,"Yes",-; jobchange 2; if(@GivePlat) goto L_GivePlat; close; // Change to Archer L_archer: mes "Are you SURE?"; menu "No",L_quit,"Yes",-; jobchange 3; if(@GivePlat) goto L_GivePlat; close; // Change to Acolyte L_acolyte: mes "Are you SURE?"; menu "No",L_quit,"Yes",-; jobchange 4; if(@GivePlat) goto L_GivePlat; close; // Change to Merchant L_merchant: mes "Are you SURE?"; menu "No",L_quit,"Yes",-; jobchange 5; if(@GivePlat) goto L_GivePlat; close; // Change to Thief L_thief: mes "Are you SURE?"; menu "No",L_quit,"Yes",-; jobchange 6; if(@GivePlat) goto L_GivePlat; close; // Change to Super Novice L_superN: mes "Are you SURE?"; menu "No",L_quit,"Yes",-; if(BaseLevel<@SupNovM) goto L_notSup; jobchange 23; if(@GivePlat) goto L_GivePlat; close; // Change to Taekwon L_taekwon: mes "Are you SURE?"; menu "No",L_quit,"Yes",-; jobchange Job_Taekwon; callfunc "F_ClearJobVar"; 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) goto L_GivePlat; close; L_crusader: mes "Are you SURE?"; menu "No",L_quit,"Yes",-; jobchange 14; if(@GivePlat) 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) goto L_GivePlat; close; L_sage: mes "Are you SURE?"; menu "No",L_quit,"Yes",-; jobchange 16; if(@GivePlat) 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) 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) goto L_GivePlat; close; L_dancer: mes "Are you SURE?"; menu "No",L_quit,"Yes",-; jobchange 20; if(@GivePlat) 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) goto L_GivePlat; close; L_monk: mes "Are you SURE?"; menu "No",L_quit,"Yes",-; jobchange 15; if(@GivePlat) 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) goto L_GivePlat; close; L_alchemist: mes "Are you SURE?"; menu "No",L_quit,"Yes",-; jobchange 18; if(@GivePlat) 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) goto L_GivePlat; close; L_rogue: mes "Are you SURE?"; menu "No",L_quit,"Yes",-; jobchange 17; if(@GivePlat) goto L_GivePlat; close; // Change to Star Gladiator/Soul Linker L_iTaekwon: mes "^ff0000[Job Master]^000000"; mes "Welcome, please select the job you wish to change into"; menu "Star Gladiator",L_SG,"Soul Linker",L_SL; L_SG: mes "Are you SURE?"; menu "No",L_quit,"Yes",-; jobchange Job_Star_Gladiator; callfunc "F_ClearJobVar"; close; L_SL: mes "Are you SURE?"; menu "No",L_quit,"Yes",-; jobchange Job_Soul_Linker; callfunc "F_ClearJobVar"; 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 24; 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 25; 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 26; 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 27; 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 28; 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 29; 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 30; 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 31; if(@GivePlat) 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 38; if(@GivePlat) 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 32; if(@GivePlat) 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 39; if(@GivePlat) 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 34; if(@GivePlat) 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 42; if(@GivePlat) 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 33; if(@GivePlat) 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 40; if(@GivePlat) 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 35; if(@GivePlat) 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 43; if(@GivePlat) 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 44; if(@GivePlat) 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 36; if(@GivePlat) 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 41; if(@GivePlat) 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 -------------------