diff options
Diffstat (limited to 'npc/custom/jobs/jobmaster.txt')
-rw-r--r-- | npc/custom/jobs/jobmaster.txt | 299 |
1 files changed, 148 insertions, 151 deletions
diff --git a/npc/custom/jobs/jobmaster.txt b/npc/custom/jobs/jobmaster.txt index cfd7b83a1..15c384547 100644 --- a/npc/custom/jobs/jobmaster.txt +++ b/npc/custom/jobs/jobmaster.txt @@ -1,11 +1,11 @@ //===== rAthena Script ======================================= -//= rAthena Jobchanger AKA Job Master +//= Job Master //===== By: ================================================== //= rAthena Dev Team [Ori:LunatikBunnie] [Cur:Lance] //===== Current Version: ===================================== //= 1.5a //===== Compatible With: ===================================== -//= rAthena SVN Trunk 6674 +//= rAthena SVN; 6674+ //===== Description: ========================================= //= Changes your job without asking too much //= For other info, please contact me at Lunatikbunnie@gmail.com @@ -17,6 +17,7 @@ //= 1.5 Rewrite everything from scratch. [Lance] //= 1.5a fixed Baby -> Super Baby change. Switched to JobName() [Lupus] //============================================================ + prontera,153,193,6 script Job Master 123,{ mes "^ff0000[Job Master]^000000"; if(Upper == 1 && Class >= Job_Lord_Knight) goto L_noReq; @@ -27,165 +28,165 @@ prontera,153,193,6 script Job Master 123,{ } if(JobLevel < 10) goto L_LvError; switch(Class){ - case Job_Novice_High: - case Job_Baby: - case Job_Novice: - skill 142,1,0; - skill 143,1,0; - mes "Welcome, please select the job you wish to change into"; - if(lastJob != 0 && Class == Job_Novice_High){ - switch(lastJob){ - case Job_Knight: - case Job_Crusader: - set @target_job, Job_Swordman_High; - break; - case Job_Monk: - case Job_Priest: - set @target_job, Job_Acolyte_High; - break; - case Job_Alchemist: - case Job_Blacksmith: - set @target_job, Job_Merchant_High; - break; - case Job_Rogue: - case Job_Assassin: - set @target_job, Job_Thief_High; - break; - case Job_Wizard: - case Job_Sage: - set @target_job, Job_Mage_High; - break; - case Job_Hunter: - case Job_Bard: - case Job_Dancer: - set @target_job, Job_Archer_High; - break; - } + case Job_Novice_High: + case Job_Baby: + case Job_Novice: + skill 142,1,0; + skill 143,1,0; + mes "Welcome, please select the job you wish to change into"; + if(lastJob != 0 && Class == Job_Novice_High){ + switch(lastJob){ + case Job_Knight: + case Job_Crusader: + set @target_job, Job_Swordman_High; + break; + case Job_Monk: + case Job_Priest: + set @target_job, Job_Acolyte_High; + break; + case Job_Alchemist: + case Job_Blacksmith: + set @target_job, Job_Merchant_High; + break; + case Job_Rogue: + case Job_Assassin: + set @target_job, Job_Thief_High; + break; + case Job_Wizard: + case Job_Sage: + set @target_job, Job_Mage_High; + break; + case Job_Hunter: + case Job_Bard: + case Job_Dancer: + set @target_job, Job_Archer_High; + break; + } + } else { + switch(select("Swordsman","Mage","Archer","Acolyte","Merchant","Thief", + "Super Novice","Taekwon","Gunslinger","Ninja")){ + case 7: + if(Class == Job_Novice_High) goto L_noReq; + if($@JC_SupNovM > BaseLevel) goto L_BvError; + if(Upper == 2) + set @target_job, Job_Super_Baby; + else + set @target_job, Job_SuperNovice; + break; + case 8: + if(Class == Job_Novice_High) goto L_noReq; + if(Upper == 2) goto L_noReq; + set @target_job, Job_Taekwon; + break; + case 9: + case 10: + if(Class == Job_Novice_High || Upper == 2) goto L_noReq; + set @target_job, @menu + 15; + break; + default: + set @target_job, @menu; + if(Class == Job_Novice_High) set @target_job, @target_job + 4001; + break; + } + } + mes "Are you sure you want to change to " + JobName(@target_job) + "?"; + if(select("No","Yes") == 2){ + callfunc "Job_Change", @target_job; + if(@target_job == Job_Gunslinger || @target_job == Job_Ninja || @target_job == Job_Taekwon) { + callfunc "F_ClearJobVar"; } else { - switch(select("Swordsman","Mage","Archer","Acolyte","Merchant","Thief", - "Super Novice","Taekwon","Gunslinger","Ninja")){ - case 7: - if(Class == Job_Novice_High) goto L_noReq; - if($@JC_SupNovM > BaseLevel) goto L_BvError; - if(Upper == 2) - set @target_job, Job_Super_Baby; - else - set @target_job, Job_SuperNovice; - break; - case 8: - if(Class == Job_Novice_High) goto L_noReq; - if(Upper == 2) goto L_noReq; - set @target_job, Job_Taekwon; - break; - case 9: - case 10: - if(Class == Job_Novice_High || Upper == 2) goto L_noReq; - set @target_job, @menu + 15; - break; - default: - set @target_job, @menu; - if(Class == Job_Novice_High) set @target_job, @target_job + 4001; - break; - } + if($@JC_Plat) goto L_GivePlat; + } + } + close; + break; + default: + if(JobLevel < $@JC_MinimumJB) goto L_LvError; + deletearray @job_opt, getarraysize(@job_opt); + if(Class < Job_Knight || Class == Job_Taekwon || (Class > Job_Baby && Class < Job_Baby_Knight) || (Class > Job_Novice_High && Class < Job_Lord_Knight)){ + if(lastJob != 0){ + set @target_job, lastJob + 4001; + } else { + switch(Class){ + case Job_Swordman_High: + case Job_Baby_Swordman: + case Job_Swordman: + set @job_opt[0], Job_Knight; + set @job_opt[1], Job_Crusader; + break; + case Job_Mage_High: + case Job_Baby_Mage: + case Job_Mage: + set @job_opt[0], Job_Wizard; + set @job_opt[1], Job_Sage; + break; + case Job_Archer_High: + case Job_Baby_Archer: + case Job_Archer: + set @job_opt[0], Job_Hunter; + if(Sex == 0) + set @job_opt[1], Job_Dancer; + else + set @job_opt[1], Job_Bard; + break; + case Job_Acolyte_High: + case Job_Baby_Acolyte: + case Job_Acolyte: + set @job_opt[0], Job_Priest; + set @job_opt[1], Job_Monk; + break; + case Job_Merchant_High: + case Job_Baby_Merchant: + case Job_Merchant: + set @job_opt[0], Job_Blacksmith; + set @job_opt[1], Job_Alchemist; + break; + case Job_Thief_High: + case Job_Baby_Thief: + case Job_Thief: + set @job_opt[0], Job_Assassin; + set @job_opt[1], Job_Rogue; + break; + default: + set @job_opt[0], Job_Star_Gladiator; + set @job_opt[1], Job_Soul_Linker; + break; + } + mes "Welcome, please select the job you wish to change into"; + set @target_job, @job_opt[select(JobName(@job_opt[0]), JobName(@job_opt[1]))-1]; + if(Class > Job_Novice_High && Class < Job_Lord_Knight) set @target_job, @target_job + 4001; } mes "Are you sure you want to change to " + JobName(@target_job) + "?"; - if(select("No","Yes") == 2){ + if(select("No","Yes")==2){ callfunc "Job_Change", @target_job; - if(@target_job == Job_Gunslinger || @target_job == Job_Ninja || @target_job == Job_Taekwon) { + if(@target_job == Job_Star_Gladiator || @target_job == Job_Soul_Linker) { callfunc "F_ClearJobVar"; } else { if($@JC_Plat) goto L_GivePlat; } } close; - break; - default: - if(JobLevel < $@JC_MinimumJB) goto L_LvError; - deletearray @job_opt, getarraysize(@job_opt); - if(Class < Job_Knight || Class == Job_Taekwon || (Class > Job_Baby && Class < Job_Baby_Knight) || (Class > Job_Novice_High && Class < Job_Lord_Knight)){ - if(lastJob != 0){ - set @target_job, lastJob + 4001; + } + if(checkfalcon() || checkcart() || checkriding()) goto L_remove; + if((Class >=Job_Knight) && (Class <=Job_Crusader2)){ + mes "Do you want to reborn?"; + if(select("Yes","No")==1){ + if(BaseLevel < 99 || JobLevel < 50) goto L_cantCh; + set lastJob, Class; + if(Class == Job_Knight2){ + set lastJob, Job_Knight; } else { - switch(Class){ - case Job_Swordman_High: - case Job_Baby_Swordman: - case Job_Swordman: - set @job_opt[0], Job_Knight; - set @job_opt[1], Job_Crusader; - break; - case Job_Mage_High: - case Job_Baby_Mage: - case Job_Mage: - set @job_opt[0], Job_Wizard; - set @job_opt[1], Job_Sage; - break; - case Job_Archer_High: - case Job_Baby_Archer: - case Job_Archer: - set @job_opt[0], Job_Hunter; - if(Sex == 0) - set @job_opt[1], Job_Dancer; - else - set @job_opt[1], Job_Bard; - break; - case Job_Acolyte_High: - case Job_Baby_Acolyte: - case Job_Acolyte: - set @job_opt[0], Job_Priest; - set @job_opt[1], Job_Monk; - break; - case Job_Merchant_High: - case Job_Baby_Merchant: - case Job_Merchant: - set @job_opt[0], Job_Blacksmith; - set @job_opt[1], Job_Alchemist; - break; - case Job_Thief_High: - case Job_Baby_Thief: - case Job_Thief: - set @job_opt[0], Job_Assassin; - set @job_opt[1], Job_Rogue; - break; - default: - set @job_opt[0], Job_Star_Gladiator; - set @job_opt[1], Job_Soul_Linker; - break; - } - mes "Welcome, please select the job you wish to change into"; - set @target_job, @job_opt[select(JobName(@job_opt[0]), JobName(@job_opt[1]))-1]; - if(Class > Job_Novice_High && Class < Job_Lord_Knight) set @target_job, @target_job + 4001; - } - mes "Are you sure you want to change to " + JobName(@target_job) + "?"; - if(select("No","Yes")==2){ - callfunc "Job_Change", @target_job; - if(@target_job == Job_Star_Gladiator || @target_job == Job_Soul_Linker) { - callfunc "F_ClearJobVar"; - } else { - if($@JC_Plat) goto L_GivePlat; + if(Class == Job_Crusader2){ + set lastJob, Job_Crusader; } } - close; - } - if(checkfalcon() || checkcart() || checkriding()) goto L_remove; - if((Class >=Job_Knight) && (Class <=Job_Crusader2)){ - mes "Do you want to reborn?"; - if(select("Yes","No")==1){ - if(BaseLevel < 99 || JobLevel < 50) goto L_cantCh; - set lastJob, Class; - if(Class == Job_Knight2){ - set lastJob, Job_Knight; - } else { - if(Class == Job_Crusader2){ - set lastJob, Job_Crusader; - } - } - jobchange Job_Novice_High; - resetlvl(1); - skill 142,1,0; - skill 143,1,0; - } - close; + jobchange Job_Novice_High; + resetlvl(1); + skill 142,1,0; + skill 143,1,0; } + close; + } } mes "I'm sorry, there are no further classes for your job."; close; @@ -239,22 +240,18 @@ L_cantCh: mes "I'm sorry, you do not meet the requirements to change"; mes "Please come again soon!"; close; - L_LvError: mes "I'm sorry, you do not seem to have enough Job Levels"; mes "Please come again soon!"; close; - L_BvError: mes "I'm sorry, you do not seem to have enough Base Levels"; mes "Please come again soon!"; close; - L_noReq: mes "I'm sorry, you do not meet the requirements to change"; mes "Please come again soon!"; close; - L_remove: mes "Please remove your cart,falcon or peco"; mes "Please come again soon!"; |