////////////////////////////////////////////////////////////////////////////////// // Jobchanger eA-Jobsystem + 3rd Classes // ///////////////////////////////////////////////////////////////////////////////// //1.0 - Creators Job Master eAthena [Ori:LunatikBunnie] [Cur:Lance]) //1.1 - Added 3rd Classes [Viktus] //1.2 - Added 2nd Platinum Skills [Viktus] // // Rebirth-Class Only can Become 3rd-class // Edited by Moned /////////////////////////////////////////////////////////////////////////////// prontera.gat,159,184,4 script Job Services 429,{ mes "[Job Services Npc]"; mes "Please select the service you wish to use"; next; switch(select("Rental Services:Job Changing:Reset Services")) { case 1: goto L_Rent; case 2: goto L_Main; case 3: goto L_Reset; } L_Main: mes "^ff0000[Job Changing]^000000"; if(Class >= 4054 && Class <= 4085) goto L_max; if(SkillPoint != 0) goto L_stats; if(Upper == 1 && Class >= Job_Lord_Knight && Class <= Job_Paladin2) goto L_Third; 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; } } 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(45 > 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 { if( 1 ) goto L_GivePlat; } } close; break; default: if(JobLevel < 40 ) 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){ callfunc "Job_Change", @target_job; if(@target_job == Job_Star_Gladiator || @target_job == Job_Soul_Linker) { callfunc "F_ClearJobVar"; } else { if(1) goto L_GivePlat; } } 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; } switch(Class){ mes "Please come again soon!"; close; } close; } mes "I'm sorry, there are no further classes for your job."; close; }
L_Third: if(checkfalcon() || checkcart() || checkriding()) goto L_remove; mes "Are you sure you want to change to 3rd Class?"; if(select("Yes","No")==1){ if(BaseLevel < 99 || JobLevel < 70) goto L_cantCh; switch(Class){ case Job_Lord_Knight: jobchange 4060; specialeffect2 514; specialeffect2 381; setlook 7,0; close; case Job_Paladin: jobchange 4073; specialeffect2 514; specialeffect2 381; setlook 7,0; close; case Job_Champion: jobchange 4077; specialeffect2 514; specialeffect2 381; setlook 7,0; close; case Job_High_Priest: jobchange 4063; specialeffect2 514; specialeffect2 381; setlook 7,0; close; case Job_Creator: jobchange 4078; specialeffect2 514; specialeffect2 381; setlook 7,0; close; case Job_Whitesmith: jobchange 4064; specialeffect2 514; specialeffect2 381; setlook 7,0; close; case Job_Stalker: jobchange 4079; specialeffect2 514; specialeffect2 381; setlook 7,0; close; case Job_Assassin_Cross: jobchange 4065; specialeffect2 514; specialeffect2 381; setlook 7,0; close; case Job_High_Wizard: jobchange 4061; specialeffect2 514; specialeffect2 381; setlook 7,0; close; case Job_Professor: jobchange 4074; specialeffect2 514; specialeffect2 381; setlook 7,0; close; case Job_Sniper: jobchange 4062; getitem 6124, 1; specialeffect2 514; specialeffect2 381; setlook 7,0; close; case Job_Clown: jobchange 4075; specialeffect2 514; specialeffect2 381; setlook 7,0; close; case Job_Gypsy: jobchange 4076; specialeffect2 514; specialeffect2 381; setlook 7,0; close; }
} close;
L_GivePlat: if (BaseClass==Job_SuperNovice) goto L_sSuperN; if (BaseClass==Job_Swordman) goto L_sSword; if (BaseClass==Job_Mage) goto L_sMage; if (BaseClass==Job_Archer) goto L_sArcher; if (BaseClass==Job_Acolyte) goto L_sAcolyte; if (BaseClass==Job_Merchant) goto L_sMerchant; if (BaseClass==Job_Thief) goto L_sThief; if (BaseClass==Job_Knight) goto L_sKnigh; if (BaseClass==Job_Crusader) goto L_sCrusader; if (BaseClass==Job_Assassin) goto L_sAssassin; if (BaseClass==Job_Rogue) goto L_sRogue; if (BaseClass==Job_Wizard) goto L_sWizard; if (BaseClass==Job_Sage) goto L_sSage; if (BaseClass==Job_Hunter) goto L_sHunter; if (BaseClass==Job_Bard) goto L_sBard; if (BaseClass==Job_Dancer) goto L_sDancer; if (BaseClass==Job_BlackSmith) goto L_sBlackSmith; if (BaseClass==Job_Priest) goto L_sPriest; if (BaseClass==Job_Monk) goto L_sMonk; close; 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; close; 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_sKnight: skill 1001,1,0; close; L_sCrusader: skill 1002,1,0; close; L_sAssassin: skill 1003,1,0; skill 1004,1,0; close; L_sRogue: skill 1005,1,0; close; L_sWizard: skill 1006,1,0; close; L_sSage: skill 1007,1,0; close; L_sHunter: skill 1009,1,0; close; L_sBard: skill 1010,1,0; close; L_sDancer: skill 1011,1,0; close; L_sBlackSmith: skill 1012,1,0; skill 1013,1,0; close; L_sPriest: skill 1014,1,0; close; L_sMonk: skill 1015,1,0; skill 1016,1,0; close; 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_max: mes "I'm sorry, there are no further classes for your job."; close;
L_stats: mes "Would you like to remove your extra skill points?";
if (select("Yes:No") == 2) { next; mes "Ok then, bye?"; close; } next; mes "Done"; set SkillPoint,0; next; goto L_Main;
L_remove: mes "Please remove your cart,falcon or peco"; mes "Please come again soon!"; close;
L_Reset: mes "[Reset Service]"; mes "Please select the service you want:"; next; switch(select("Reset Skills:Reset Stats:Reset Both:Quit")) { case 1: mes "[Reset Service]"; mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!"; ResetSkill; close; case 2: mes "[Reset Service]"; mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!"; ResetStatus; close; case 3: mes "[Reset Service]"; mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!"; ResetSkill; ResetStatus; close; case 4: mes "Come again soon!"; close; }
L_Rent: mes "[Rental Services]"; mes "Hi, here you can rent Carts, Falcons, Mounts, and Mechanic Mado's"; next; switch(select("Cart:Falcon:Mount:Mado")) { case 1: if( (BaseClass == Job_Merchant || BaseJob == Job_SuperNovice) && checkcart() == 0 && getskilllv("MC_PUSHCART") > 0 ) { setcart; close; } else { mes "[Rental Services]"; mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job and have the required skill."; close; } case 2: if( (Class == Job_Ranger || Class == Job_Ranger_T) && checkriding() ) { mes "Sorry " + strcharinfo(0) + ", you can't rent a Falcon if you have a Warg rented."; close; } if( BaseJob != Job_Archer && BaseClass == Job_Archer && checkfalcon() == 0 && getskilllv("HT_FALCON") > 0 ) { setfalcon; close; } else { mes "[Rental Services]"; mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job and have the required skill."; close; } case 3: mes "[Mount Rentals]"; if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_H || Class == Job_Baby_Rune) { mes "Welcome. Would you like to rent a Dragon?"; next; switch(select("Yes:No")) { case 1: //if (!getskilllv("RK_DRAGONTRAINING")) { if (!getskilllv("KN_RIDING")) { mes "[Mount Rentals]"; mes "Please learn how to ride a Dragon first."; close; } if (checkriding()) { mes "[Mount Rentals]"; mes "You already have a Dragon."; close; } setdragon; close; case 2: mes "[Mount Rentals]"; mes "I see. Then have a great day."; close; } }
else if (Class == Job_Royal_Guard || Class == Job_Royal_Guard_H || Class == Job_Baby_Guard) { mes "Welcome. Would you like to rent a Gryphon?"; next; switch(select("Yes:No")) { case 1: if(!getskilllv("KN_RIDING")) { mes "[Mount Rentals]"; mes "Please learn how to ride a Gryphon first."; close; } else if (checkriding()) { mes "[Mount Rentals]"; mes "You already have a Gryphon."; close; } setriding; close; case 2: mes "[Mount Rentals]"; mes "I see. Then have a great day."; close; } }
else { mes "Welcome. Would you like to rent a Mount?"; next; switch(select("Yes:No")) { case 1: if( ( checkriding() == 0 ) { setriding; close; } else { mes "[Rental Services]"; mes "Sorry " + strcharinfo(0) + ", please make sure you aren't already on a mount"; close; } case 2: mes "[Mount Rentals]"; mes "I see. Then have a great day."; close; } } } case 4: if( (Class == Job_Mechanic || Class == Job_Mechanic_T) && checkriding() == 0 ) { setriding; close; } else { mes "[Rental Services]"; mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job."; close; } }
}
OnInit: // Variable Setup set $@JC_MinimumJB, 40; //Minimum job level for changing between 2nd and advance Class (Default : 40) set $@JC_Plat, 1; //Give Platinum skills on Jobchange (Default : 1-yes) set $@JC_SupNovM, 45; //Base Level to change into Super Novice (Default : 45) end; } [/codeBOX]
I think I am missing a bracket somewhere, but I for the life of me, can't find it.
[code]
[Error]: Loading NPC file: npc/custom/ClassMaster.txt script error on npc/custom/ClassMaster.txt line 552 parse_syntax: unexpected 'case' 547 : case 2: 548 : mes "[Mount Rentals]"; 549 : mes "I see. Then have a great day."; 550 : close; 551 : } * 552 : 'c'ase 4: 553 : if( (Class == Job_Mechanic || Class == Job_Mechanic_T) && checkriding() == 0 ) 554 : { 555 : setriding; 556 : close; 557 : } [/code]
Question
Pancake
I think I am missing a bracket somewhere, but I for the life of me, can't find it.
[Error]: Loading NPC file: npc/custom/ClassMaster.txt
script error on npc/custom/ClassMaster.txt line 552
parse_syntax: unexpected 'case'
547 : case 2:
548 : mes "[Mount Rentals]";
549 : mes "I see. Then have a great day.";
550 : close;
551 : }
* 552 : 'c'ase 4:
553 : if( (Class == Job_Mechanic || Class == Job_Mechanic_T) && checkriding() == 0 )
554 : {
555 : setriding;
556 : close;
557 : }
[/code]
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.