From 620e60eebce2c1f35c5c9a82f6ca365b316587f5 Mon Sep 17 00:00:00 2001 From: Valaris Date: Sun, 29 Jan 2006 16:10:48 +0000 Subject: AS OF SVN REV. 5901, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EVERYTHING ELSE GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5094 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/custom/jobs/jobmaster.txt | 499 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 499 insertions(+) create mode 100644 npc/custom/jobs/jobmaster.txt (limited to 'npc/custom/jobs/jobmaster.txt') diff --git a/npc/custom/jobs/jobmaster.txt b/npc/custom/jobs/jobmaster.txt new file mode 100644 index 000000000..8dc3d01fc --- /dev/null +++ b/npc/custom/jobs/jobmaster.txt @@ -0,0 +1,499 @@ +//===== 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 ------------------- -- cgit v1.2.3-70-g09d2