pojiejapan Posted January 28, 2012 Group: Members Topic Count: 37 Topics Per Day: 0.01 Content Count: 126 Reputation: 6 Joined: 11/18/11 Last Seen: February 19, 2015 Share Posted January 28, 2012 Hye, I've been using this wonderfull script made by ADM Blast http://rathena.org/board/files/file/978-class-changer-w-3rd-jobs-and-auto-job-change-breeder/ But something is wrong, my player can change to 3rd eventhough I have configure it. My player novice-swordman-knight-rune knight... I have configure it and put 0 to OFF it. also cant.. then I also have open the script and edit it myself at the set .THIRDON,0; //Turn on 3rd class changing and change it to 0 cant and 1 also cant. Can someone PLEASE help me! Quote Link to comment Share on other sites More sharing options...
FrustFenix Posted January 28, 2012 Group: Members Topic Count: 10 Topics Per Day: 0.00 Content Count: 90 Reputation: 2 Joined: 11/14/11 Last Seen: January 28, 2021 Share Posted January 28, 2012 (edited) my way to disable it -disable 3rd job in-game npc -force reborn Edited January 28, 2012 by FrustFenix Quote Link to comment Share on other sites More sharing options...
Zac Posted January 28, 2012 Group: Members Topic Count: 6 Topics Per Day: 0.00 Content Count: 44 Reputation: 4 Joined: 01/25/12 Last Seen: November 29, 2012 Share Posted January 28, 2012 Can you "CodeBox" the script? Maybe I could help. Quote Link to comment Share on other sites More sharing options...
pojiejapan Posted January 28, 2012 Group: Members Topic Count: 37 Topics Per Day: 0.01 Content Count: 126 Reputation: 6 Joined: 11/18/11 Last Seen: February 19, 2015 Author Share Posted January 28, 2012 Zac, I cant paste it. It says paste too long. can you referred the link I give you. Please help me. It's ruining my server BUMP! BUMP! BUMP!! Quote Link to comment Share on other sites More sharing options...
Emistry Posted January 29, 2012 Group: Forum Moderator Topic Count: 93 Topics Per Day: 0.02 Content Count: 10018 Reputation: 2369 Joined: 10/28/11 Last Seen: 16 hours ago Share Posted January 29, 2012 if cant paste it...then upload it here..or any file hosting website.... but if i was right...pastebin should be enough to fit your script. as i able to paste a very very very very very long script last time...O.O Quote Link to comment Share on other sites More sharing options...
pojiejapan Posted January 29, 2012 Group: Members Topic Count: 37 Topics Per Day: 0.01 Content Count: 126 Reputation: 6 Joined: 11/18/11 Last Seen: February 19, 2015 Author Share Posted January 29, 2012 anyone please? anyone please? http://www.mediafire.com/?rha2295eekwwr86 < this is my script. hope it helps Quote Link to comment Share on other sites More sharing options...
Zac Posted January 29, 2012 Group: Members Topic Count: 6 Topics Per Day: 0.00 Content Count: 44 Reputation: 4 Joined: 01/25/12 Last Seen: November 29, 2012 Share Posted January 29, 2012 (edited) I'm sorry for the late reply, I was busy with my server. There's nothing wrong with the script you uploaded into mediafire, why you didnt use that script and using a normal breeder, then merge it into one NPC? Try this one I modified the original script with adding breeder into it. //===== eAthena Script ======================================= //= eAthena Jobchanger AKA Job Master //===== By: ================================================== //= eAthena Dev Team [Ori:LunatikBunnie] [Cur:Lance] //===== Current Version: ===================================== //= 1.6 //===== Compatible With: ===================================== //= eAthena SVN Trunk 6674 //===== Description: ========================================= //= Changes your job without asking too much //= For other info, please contact me at [email protected] //= Editted menu to avoid button mashing. //= 1.3 Added TK/SL/SG, thanks to Haplo. Fixed minor bugs [Lupus] //= script leaves grabage variable: 'lastJob' //= 1.4 Added NJ/GS, changed all job numbers to Job_* constants. //= All credits go to pxxx [skotlex] //= 1.5 Rewrite everything from scratch. [Lance] //= 1.5a fixed Baby -> Super Baby change. Switched to JobName() [Lupus] //= 1.6 added breeder [Zac] //============================================================ prontera,152,193,6[TAB]script[TAB]Class Master[TAB]808,{ set .npc$,"^ff0000[Class Master]^000000"; mes .npc$; mes "What can I help you?"; next; menu "Change Job",L_job_change,"Breeder Service",breed,"Cancel",-; close; breed: mes .npc$; mes "What would you rent?"; next; switch(select("Cart:Falcon:Peco")) { case 1: if((BaseClass == Job_Merchant || BaseJob == Job_SuperNovice) && checkcart() == 0 && getskilllv("MC_PUSHCART")>0) { setcart; close; }else{ mes .npc$; mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job and have the required skill."; close; } case 2: if(BaseJob != Job_Archer && BaseClass == Job_Archer && checkfalcon() == 0 && getskilllv("HT_FALCON")>0) { setfalcon; close; }else{ mes .npc$; mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job and have the required skill."; close; } case 3: if (BaseJob != Job_Swordman && BaseClass == Job_Swordman && checkriding() == 0 && getskilllv("KN_RIDING")>0) { setriding; close; }else{ mes .npc$; mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job and have the required skill."; close; } } L_job_change: if(Upper == 1 && Class >= Job_Lord_Knight) goto L_noReq; if(SkillPoint != 0){ mes .npc$; mes "I'm sorry, please use up all your skill points before changing jobs"; mes "Please come again soon!"; close; } 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 .npc$; 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 .npc$; 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($@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 .npc$; 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 .npc$; 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; } } close; } if(checkfalcon() || checkcart() || checkriding()) goto L_remove; if((Class >=Job_Knight) && (Class <=Job_Crusader2)){ mes .npc$; 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; } } mes .npc$; mes "I'm sorry, there are no further classes for your job."; 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; 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_cantCh: mes .npc$; mes "I'm sorry, you do not meet the requirements to change"; mes "Please come again soon!"; close; L_LvError: mes .npc$; mes "I'm sorry, you do not seem to have enough Job Levels"; mes "Please come again soon!"; close; L_BvError: mes .npc$; mes "I'm sorry, you do not seem to have enough Base Levels"; mes "Please come again soon!"; close; L_noReq: mes .npc$; mes "I'm sorry, you do not meet the requirements to change"; mes "Please come again soon!"; close; L_remove: mes .npc$; mes "Please remove your cart,falcon or peco"; mes "Please come again soon!"; 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; } Edited January 29, 2012 by Zac Quote Link to comment Share on other sites More sharing options...
pojiejapan Posted January 30, 2012 Group: Members Topic Count: 37 Topics Per Day: 0.01 Content Count: 126 Reputation: 6 Joined: 11/18/11 Last Seen: February 19, 2015 Author Share Posted January 30, 2012 this is script is perfect, but I was hoping it have all the extra function like reseter of etc. but nevermind. thanks a lot zac for you time. but can you add baby jobchanger and merge it with that script zac? Quote Link to comment Share on other sites More sharing options...
Zac Posted January 30, 2012 Group: Members Topic Count: 6 Topics Per Day: 0.00 Content Count: 44 Reputation: 4 Joined: 01/25/12 Last Seen: November 29, 2012 Share Posted January 30, 2012 Pleasure, I added Skill Reset, and Platinum Skills into the NPC. prontera,153,182,6[TAB]script[TAB]Class Master[TAB]808,{ set .npc$,"^ff0000[Class Master]^000000"; mes .npc$; mes "What can I help you?"; next; menu "Change Job",L_job_change,"Breeder Service",breed,"Reset Skills",L_rskill,"Platinum Skills",pltskill,"Cancel",-; close; L_rskill: mes .npc$; mes "I am the Ability Reseter."; mes "Reset Stats: 5,000z"; mes "Reset Skills: 5,000z"; mes "Reset Both: 9,000z"; mes "Please select the service you want:"; next; menu "^FF3355Reset Skills",L0,"Reset Stats",L1,"Reset Both^000000",L2,"Quit",LEnd; L0: mes .npc$; if (Zeny < 5000) goto NeedZenys; mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!"; set Zeny,zeny-5000; ResetSkill; close; L1: next; mes .npc$; mes "What do you want to do?"; menu "^FF3355Reset Stats^000000",-,"^0000FFBuilds^000000",Lbuilds; next; mes .npc$; if (Zeny < 5000) goto NeedZenys; mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!"; set Zeny,zeny-5000; ResetStatus; close; Lbuilds: if(Class == Job_Taekwon) { goto menubuild; } if(Class == Job_Soul_Linker) { goto menubuild; } if(Class == Job_Gunslinger) { goto menubuild; } if(Class == Job_Star_Gladiator) { goto menubuild; } if(Class == Job_Ninja) { goto menubuild; } if(Upper != 1) { next; mes .npc$; mes "You still can't use this feature."; close; } menubuild: if(BaseLevel != 255) { next; mes .npc$; mes "You still can't use this feature."; close; } if(build1$=="") { set build1$,"Build (1/5)"; } if(build2$=="") { set build2$,"Build (2/5)"; } if(build3$=="") { set build3$,"Build (3/5)"; } if(build4$=="") { set build4$,"Build (4/5)"; } if(build5$=="") { set build5$,"Build (5/5)"; } next; mes .npc$; mes "Builds CP"; menu build1$,Lb1, build2$,Lb2, build3$,Lb3, build4$,Lb4, build5$,Lb5; Lb1: next; mes .npc$; mes "Save Build (50k) || Use Build (5k)"; menu "Save Build",-,"Use this Build",Lusebuild1; if (Zeny < 50000) goto NeedZenys; set Zeny,zeny-50000; if(readparam(bStr) > 255) { close; } //Prevent Haxed stats if(readparam(bAgi) > 255) { close; } //Prevent Haxed stats if(readparam(bVit) > 255) { close; } //Prevent Haxed stats if(readparam(bInt) > 255) { close; } //Prevent Haxed stats if(readparam(bDex) > 255) { close; } //Prevent Haxed stats if(readparam(bLuk) > 255) { close; } //Prevent Haxed stats mes "Please - Name Your Build (1)."; input @build1$; set build1$,@build1$; set statpts1,readparam(9); set bstr1,readparam(bStr); set bagi1,readparam(bAgi); set bvit1,readparam(bVit); set bint1,readparam(bInt); set bdex1,readparam(bDex); set bluk1,readparam(bLuk); set build_1,1; next; mes .npc$; mes "Name: ^0000ff"+build1$+"^000000."; mes "Str: ^ff0000"+bstr1+"^000000."; mes "Agi: ^ff0000"+bagi1+"^000000."; mes "Vit: ^ff0000"+bvit1+"^000000."; mes "Int: ^ff0000"+bint1+"^000000."; mes "Dex: ^ff0000"+bdex1+"^000000."; mes "Luk: ^ff0000"+bluk1+"^000000."; mes "Build (1) - Save process complete!"; close; Lusebuild1: if(build_1 != 1) { next; mes .npc$; mes "You haven't save any build here."; close; } if (Zeny < 5000) goto NeedZenys; set Zeny,zeny-5000; ResetStatus; sleep2 10; statusup2 bStr,bstr1 -1; statusup2 bAgi,bagi1 -1; statusup2 bVit,bvit1 -1; statusup2 bInt,bint1 -1; statusup2 bDex,bdex1 -1; statusup2 bLuk,bluk1 -1; set StatusPoint,statpts1; message strcharinfo(0),"You changed your Build to "+build1$+" Build."; close; Lb2: next; mes .npc$; mes "Save Build (50k) || Use Build (5k)"; menu "Save Build",-,"Use this Build",Lusebuild2; if (Zeny < 50000) goto NeedZenys; set Zeny,zeny-50000; if(readparam(bStr) > 255) { close; } //Prevent Haxed stats if(readparam(bAgi) > 255) { close; } //Prevent Haxed stats if(readparam(bVit) > 255) { close; } //Prevent Haxed stats if(readparam(bInt) > 255) { close; } //Prevent Haxed stats if(readparam(bDex) > 255) { close; } //Prevent Haxed stats if(readparam(bLuk) > 255) { close; } //Prevent Haxed stats mes "Please - Name Your Build (2)."; input @build2$; set build2$,@build2$; set statpts2,readparam(9); set bstr2,readparam(bStr); set bagi2,readparam(bAgi); set bvit2,readparam(bVit); set bint2,readparam(bInt); set bdex2,readparam(bDex); set bluk2,readparam(bLuk); set build_2,1; next; mes .npc$; mes "Name: ^0000ff"+build2$+"^000000."; mes "Str: ^ff0000"+bstr2+"^000000."; mes "Agi: ^ff0000"+bagi2+"^000000."; mes "Vit: ^ff0000"+bvit2+"^000000."; mes "Int: ^ff0000"+bint2+"^000000."; mes "Dex: ^ff0000"+bdex2+"^000000."; mes "Luk: ^ff0000"+bluk2+"^000000."; mes "Build (2) - Save process complete!"; close; Lusebuild2: if(build_2 != 1) { next; mes .npc$; mes "You haven't save any build here."; close; } if (Zeny < 5000) goto NeedZenys; set Zeny,zeny-5000; ResetStatus; sleep2 10; statusup2 bStr,bstr2 -1; statusup2 bAgi,bagi2 -1; statusup2 bVit,bvit2 -1; statusup2 bInt,bint2 -1; statusup2 bDex,bdex2 -1; statusup2 bLuk,bluk2 -1; set StatusPoint,statpts2; message strcharinfo(0),"You changed your Build to "+build2$+" Build."; close; Lb3: next; mes .npc$; mes "Save Build (50k) || Use Build (5k)"; menu "Save Build",-,"Use this Build",Lusebuild3; if (Zeny < 50000) goto NeedZenys; set Zeny,zeny-50000; if(readparam(bStr) > 255) { close; } //Prevent Haxed stats if(readparam(bAgi) > 255) { close; } //Prevent Haxed stats if(readparam(bVit) > 255) { close; } //Prevent Haxed stats if(readparam(bInt) > 255) { close; } //Prevent Haxed stats if(readparam(bDex) > 255) { close; } //Prevent Haxed stats if(readparam(bLuk) > 255) { close; } //Prevent Haxed stats mes "Please - Name Your Build (3)."; input @build3$; set build3$,@build3$; set statpts3,readparam(9); set bstr3,readparam(bStr); set bagi3,readparam(bAgi); set bvit3,readparam(bVit); set bint3,readparam(bInt); set bdex3,readparam(bDex); set bluk3,readparam(bLuk); set build_3,1; next; mes .npc$; mes "Name: ^0000ff"+build3$+"^000000."; mes "Str: ^ff0000"+bstr3+"^000000."; mes "Agi: ^ff0000"+bagi3+"^000000."; mes "Vit: ^ff0000"+bvit3+"^000000."; mes "Int: ^ff0000"+bint3+"^000000."; mes "Dex: ^ff0000"+bdex3+"^000000."; mes "Luk: ^ff0000"+bluk3+"^000000."; mes "Build (3) - Save process complete!"; close; Lusebuild3: if(build_3 != 1) { next; mes .npc$; mes "You haven't save any build here."; close; } if (Zeny < 5000) goto NeedZenys; set Zeny,zeny-5000; ResetStatus; sleep2 10; statusup2 bStr,bstr3 -1; statusup2 bAgi,bagi3 -1; statusup2 bVit,bvit3 -1; statusup2 bInt,bint3 -1; statusup2 bDex,bdex3 -1; statusup2 bLuk,bluk3 -1; set StatusPoint,statpts3; message strcharinfo(0),"You changed your Build to "+build3$+" Build."; close; Lb4: next; mes .npc$; mes "Save Build (50k) || Use Build (5k)"; menu "Save Build",-,"Use this Build",Lusebuild4; if (Zeny < 50000) goto NeedZenys; set Zeny,zeny-50000; if(readparam(bStr) > 255) { close; } //Prevent Haxed stats if(readparam(bAgi) > 255) { close; } //Prevent Haxed stats if(readparam(bVit) > 255) { close; } //Prevent Haxed stats if(readparam(bInt) > 255) { close; } //Prevent Haxed stats if(readparam(bDex) > 255) { close; } //Prevent Haxed stats if(readparam(bLuk) > 255) { close; } //Prevent Haxed stats mes "Please - Name Your Build (4)."; input @build4$; set build4$,@build4$; set statpts4,readparam(9); set bstr4,readparam(bStr); set bagi4,readparam(bAgi); set bvit4,readparam(bVit); set bint4,readparam(bInt); set bdex4,readparam(bDex); set bluk4,readparam(bLuk); set build_4,1; next; mes .npc$; mes "Name: ^0000ff"+build4$+"^000000."; mes "Str: ^ff0000"+bstr4+"^000000."; mes "Agi: ^ff0000"+bagi4+"^000000."; mes "Vit: ^ff0000"+bvit4+"^000000."; mes "Int: ^ff0000"+bint4+"^000000."; mes "Dex: ^ff0000"+bdex4+"^000000."; mes "Luk: ^ff0000"+bluk4+"^000000."; mes "Build (4) - Save process complete!"; close; Lusebuild4: if(build_4 != 1) { next; mes .npc$; mes "You haven't save any build here."; close; } if (Zeny < 5000) goto NeedZenys; set Zeny,zeny-5000; ResetStatus; sleep2 10; statusup2 bStr,bstr4 -1; statusup2 bAgi,bagi4 -1; statusup2 bVit,bvit4 -1; statusup2 bInt,bint4 -1; statusup2 bDex,bdex4 -1; statusup2 bLuk,bluk4 -1; set StatusPoint,statpts4; message strcharinfo(0),"You changed your Build to "+build4$+" Build."; close; Lb5: next; mes .npc$; mes "Save Build (50k) || Use Build (5k)"; menu "Save Build",-,"Use this Build",Lusebuild5; if (Zeny < 50000) goto NeedZenys; set Zeny,zeny-50000; if(readparam(bStr) > 255) { close; } //Prevent Haxed stats if(readparam(bAgi) > 255) { close; } //Prevent Haxed stats if(readparam(bVit) > 255) { close; } //Prevent Haxed stats if(readparam(bInt) > 255) { close; } //Prevent Haxed stats if(readparam(bDex) > 255) { close; } //Prevent Haxed stats if(readparam(bLuk) > 255) { close; } //Prevent Haxed stats mes "Please - Name Your Build (5)."; input @build5$; set build5$,@build5$; set statpts5,readparam(9); set bstr5,readparam(bStr); set bagi5,readparam(bAgi); set bvit5,readparam(bVit); set bint5,readparam(bInt); set bdex5,readparam(bDex); set bluk5,readparam(bLuk); set build_5,1; next; mes .npc$; mes "Name: ^0000ff"+build5$+"^000000."; mes "Str: ^ff0000"+bstr5+"^000000."; mes "Agi: ^ff0000"+bagi5+"^000000."; mes "Vit: ^ff0000"+bvit5+"^000000."; mes "Int: ^ff0000"+bint5+"^000000."; mes "Dex: ^ff0000"+bdex5+"^000000."; mes "Luk: ^ff0000"+bluk5+"^000000."; mes "Build (5) - Save process complete!"; close; Lusebuild5: if(build_5 != 1) { next; mes .npc$; mes "You haven't save any build here."; close; } if (Zeny < 5000) goto NeedZenys; set Zeny,zeny-5000; ResetStatus; sleep2 10; statusup2 bStr,bstr5 -1; statusup2 bAgi,bagi5 -1; statusup2 bVit,bvit5 -1; statusup2 bInt,bint5 -1; statusup2 bDex,bdex5 -1; statusup2 bLuk,bluk5 -1; set StatusPoint,statpts5; message strcharinfo(0),"You changed your Build to "+build5$+" Build."; close; L2: mes .npc$; if (Zeny < 9000) goto NeedZenys; mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!"; set Zeny,zeny-9000; ResetSkill; ResetStatus; close; NeedZenys: next; mes .npc$; mes "Sorry, you don't have enough Zeny."; close; LEnd: close; pltskill: mes .npc$; mes "I can give you the special skills available to your job. Would you like these skills now?"; next; menu "Yes",Lgetskills,"No",Lnogetskills; Lgetskills: if (BaseClass==Job_Novice) goto Lskillsnovice; if (BaseClass==Job_Swordman) goto Lskillsswordie; if (BaseClass==Job_Mage) goto Lskillsmage; if (BaseClass==Job_Archer) goto Lskillsarcher; if (BaseClass==Job_Acolyte) goto Lskillsaco; if (BaseClass==Job_Merchant) goto Lskillsmerchie; if (BaseClass==Job_Thief) goto Lskillsthief; goto Lother; Lskillsnovice: mes .npc$; mes "I see that you are a Novice Class. I will now add the special skills available to these jobs."; skill 142,1,0; if(BaseJob==0) skill 143,1,0; mes " "; mes "You now have all the special skills available to the these jobs."; next; goto LskillsEND; Lskillsswordie: mes .npc$; mes "I see that you are a Swordman Class. I will now add the special skills available to these jobs."; skill 142,1,0; skill 144,1,0; skill 145,1,0; skill 146,1,0; skill 1002,1,0; mes " "; mes "You now have all the special skills available to the these jobs."; next; goto LskillsEND; Lskillsmage: mes .npc$; mes "I see that you are a Mage Class. I will now add the special skills available to these jobs."; skill 142,1,0; skill 157,1,0; mes " "; mes "You now have all the special skills available to the these jobs."; next; goto LskillsEND; Lskillsarcher: mes .npc$; mes "I see that you are an Archer Class. I will now add the special skills available to these jobs."; skill 142,1,0; skill 147,1,0; skill 148,1,0; mes " "; mes "You now have all the special skills available to the these jobs."; next; goto LskillsEND; Lskillsaco: mes .npc$; mes "I see that you are an Acolyte Class. I will now add the special skills available to these jobs."; skill 142,1,0; skill 156,1,0; mes " "; mes "You now have all the special skills available to the these jobs."; next; goto LskillsEND; Lskillsmerchie: mes .npc$; mes "I see that you are a Merchant Class.I will now add the special skills available to these jobs."; skill 142,1,0; skill 153,1,0; skill 154,1,0; if (Class==Job_Creator) { skill 243,1,0; skill 247,1,0; skill 238,1,0; skill 244,1,0; } mes " "; mes "You now have all the special skills available to the these jobs."; next; goto LskillsEND; Lskillsthief: mes .npc$; mes "I see that you are a Thief Class. I will now add the special skills available to these jobs."; skill 142,1,0; skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; mes " "; mes "You now have all the special skills available to the these jobs."; next; goto LskillsEND; Lother: mes .npc$; mes "I will now add the special skills available to your job."; skill 142,1,0; mes " "; mes "You now have all the special skills available to your job."; next; goto LskillsEND; LskillsEND: mes .npc$; mes "Have a nice day."; close; Lnogetskills: mes .npc$; mes "Aww, how come you don't want my special skills?"; mes "*sob* FINE!"; mes "Have a nice day... >.>"; close; OnPCLoginEvent: if (Class==Job_Creator) { skill 243,1,0; skill 247,1,0; } breed: mes .npc$; mes "What would you rent?"; next; switch(select("Cart:Falcon:Peco")) { case 1: if((BaseClass == Job_Merchant || BaseJob == Job_SuperNovice) && checkcart() == 0 && getskilllv("MC_PUSHCART")>0) { setcart; close; }else{ mes .npc$; mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job and have the required skill."; close; } case 2: if(BaseJob != Job_Archer && BaseClass == Job_Archer && checkfalcon() == 0 && getskilllv("HT_FALCON")>0) { setfalcon; close; }else{ mes .npc$; mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job and have the required skill."; close; } case 3: if (BaseJob != Job_Swordman && BaseClass == Job_Swordman && checkriding() == 0 && getskilllv("KN_RIDING")>0) { setriding; close; }else{ mes .npc$; mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job and have the required skill."; close; } } L_job_change: if(Upper == 1 && Class >= Job_Lord_Knight) goto L_noReq; if(SkillPoint != 0){ mes .npc$; mes "I'm sorry, please use up all your skill points before changing jobs"; mes "Please come again soon!"; close; } 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 .npc$; 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 .npc$; 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($@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 .npc$; 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 .npc$; 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; } } close; } if(checkfalcon() || checkcart() || checkriding()) goto L_remove; if((Class >=Job_Knight) && (Class <=Job_Crusader2)){ mes .npc$; 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; } } mes .npc$; mes "I'm sorry, there are no further classes for your job."; 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; 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_cantCh: mes .npc$; mes "I'm sorry, you do not meet the requirements to change"; mes "Please come again soon!"; close; L_LvError: mes .npc$; mes "I'm sorry, you do not seem to have enough Job Levels"; mes "Please come again soon!"; close; L_BvError: mes .npc$; mes "I'm sorry, you do not seem to have enough Base Levels"; mes "Please come again soon!"; close; L_noReq: mes .npc$; mes "I'm sorry, you do not meet the requirements to change"; mes "Please come again soon!"; close; L_remove: mes .npc$; mes "Please remove your cart,falcon or peco"; mes "Please come again soon!"; 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; } Quote Link to comment Share on other sites More sharing options...
pojiejapan Posted January 30, 2012 Group: Members Topic Count: 37 Topics Per Day: 0.01 Content Count: 126 Reputation: 6 Joined: 11/18/11 Last Seen: February 19, 2015 Author Share Posted January 30, 2012 Zac thanks for your time, this NPC in sufficient enough for me. Thanks a lot. and btw. Does it have Baby Jobchanger? Quote Link to comment Share on other sites More sharing options...
Zac Posted January 30, 2012 Group: Members Topic Count: 6 Topics Per Day: 0.00 Content Count: 44 Reputation: 4 Joined: 01/25/12 Last Seen: November 29, 2012 Share Posted January 30, 2012 Pleasure. Yes, it has Baby Jobs there, hope it'll helps. Quote Link to comment Share on other sites More sharing options...
pojiejapan Posted January 30, 2012 Group: Members Topic Count: 37 Topics Per Day: 0.01 Content Count: 126 Reputation: 6 Joined: 11/18/11 Last Seen: February 19, 2015 Author Share Posted January 30, 2012 Zac, why evertime my player Login, the Class Master Ask a question. Do you want to rent? (Breeder) Quote Link to comment Share on other sites More sharing options...
Zac Posted January 30, 2012 Group: Members Topic Count: 6 Topics Per Day: 0.00 Content Count: 44 Reputation: 4 Joined: 01/25/12 Last Seen: November 29, 2012 Share Posted January 30, 2012 Try this, I forgot to move OnPCLoginEvent into the last line. haven't tested it yet prontera,153,182,6[TAB]script[TAB]Class Master[TAB]808,{ set .npc$,"^ff0000[Class Master]^000000"; mes .npc$; mes "What can I help you?"; next; menu "Change Job",L_job_change,"Breeder Service",breed,"Reset Skills",L_rskill,"Platinum Skills",pltskill,"Cancel",-; close; L_rskill: mes .npc$; mes "I am the Ability Reseter."; mes "Reset Stats: 5,000z"; mes "Reset Skills: 5,000z"; mes "Reset Both: 9,000z"; mes "Please select the service you want:"; next; menu "^FF3355Reset Skills",L0,"Reset Stats",L1,"Reset Both^000000",L2,"Quit",LEnd; L0: mes .npc$; if (Zeny < 5000) goto NeedZenys; mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!"; set Zeny,zeny-5000; ResetSkill; close; L1: next; mes .npc$; mes "What do you want to do?"; menu "^FF3355Reset Stats^000000",-,"^0000FFBuilds^000000",Lbuilds; next; mes .npc$; if (Zeny < 5000) goto NeedZenys; mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!"; set Zeny,zeny-5000; ResetStatus; close; Lbuilds: if(Class == Job_Taekwon) { goto menubuild; } if(Class == Job_Soul_Linker) { goto menubuild; } if(Class == Job_Gunslinger) { goto menubuild; } if(Class == Job_Star_Gladiator) { goto menubuild; } if(Class == Job_Ninja) { goto menubuild; } if(Upper != 1) { next; mes .npc$; mes "You still can't use this feature."; close; } menubuild: if(BaseLevel != 255) { next; mes .npc$; mes "You still can't use this feature."; close; } if(build1$=="") { set build1$,"Build (1/5)"; } if(build2$=="") { set build2$,"Build (2/5)"; } if(build3$=="") { set build3$,"Build (3/5)"; } if(build4$=="") { set build4$,"Build (4/5)"; } if(build5$=="") { set build5$,"Build (5/5)"; } next; mes .npc$; mes "Builds CP"; menu build1$,Lb1, build2$,Lb2, build3$,Lb3, build4$,Lb4, build5$,Lb5; Lb1: next; mes .npc$; mes "Save Build (50k) || Use Build (5k)"; menu "Save Build",-,"Use this Build",Lusebuild1; if (Zeny < 50000) goto NeedZenys; set Zeny,zeny-50000; if(readparam(bStr) > 255) { close; } //Prevent Haxed stats if(readparam(bAgi) > 255) { close; } //Prevent Haxed stats if(readparam(bVit) > 255) { close; } //Prevent Haxed stats if(readparam(bInt) > 255) { close; } //Prevent Haxed stats if(readparam(bDex) > 255) { close; } //Prevent Haxed stats if(readparam(bLuk) > 255) { close; } //Prevent Haxed stats mes "Please - Name Your Build (1)."; input @build1$; set build1$,@build1$; set statpts1,readparam(9); set bstr1,readparam(bStr); set bagi1,readparam(bAgi); set bvit1,readparam(bVit); set bint1,readparam(bInt); set bdex1,readparam(bDex); set bluk1,readparam(bLuk); set build_1,1; next; mes .npc$; mes "Name: ^0000ff"+build1$+"^000000."; mes "Str: ^ff0000"+bstr1+"^000000."; mes "Agi: ^ff0000"+bagi1+"^000000."; mes "Vit: ^ff0000"+bvit1+"^000000."; mes "Int: ^ff0000"+bint1+"^000000."; mes "Dex: ^ff0000"+bdex1+"^000000."; mes "Luk: ^ff0000"+bluk1+"^000000."; mes "Build (1) - Save process complete!"; close; Lusebuild1: if(build_1 != 1) { next; mes .npc$; mes "You haven't save any build here."; close; } if (Zeny < 5000) goto NeedZenys; set Zeny,zeny-5000; ResetStatus; sleep2 10; statusup2 bStr,bstr1 -1; statusup2 bAgi,bagi1 -1; statusup2 bVit,bvit1 -1; statusup2 bInt,bint1 -1; statusup2 bDex,bdex1 -1; statusup2 bLuk,bluk1 -1; set StatusPoint,statpts1; message strcharinfo(0),"You changed your Build to "+build1$+" Build."; close; Lb2: next; mes .npc$; mes "Save Build (50k) || Use Build (5k)"; menu "Save Build",-,"Use this Build",Lusebuild2; if (Zeny < 50000) goto NeedZenys; set Zeny,zeny-50000; if(readparam(bStr) > 255) { close; } //Prevent Haxed stats if(readparam(bAgi) > 255) { close; } //Prevent Haxed stats if(readparam(bVit) > 255) { close; } //Prevent Haxed stats if(readparam(bInt) > 255) { close; } //Prevent Haxed stats if(readparam(bDex) > 255) { close; } //Prevent Haxed stats if(readparam(bLuk) > 255) { close; } //Prevent Haxed stats mes "Please - Name Your Build (2)."; input @build2$; set build2$,@build2$; set statpts2,readparam(9); set bstr2,readparam(bStr); set bagi2,readparam(bAgi); set bvit2,readparam(bVit); set bint2,readparam(bInt); set bdex2,readparam(bDex); set bluk2,readparam(bLuk); set build_2,1; next; mes .npc$; mes "Name: ^0000ff"+build2$+"^000000."; mes "Str: ^ff0000"+bstr2+"^000000."; mes "Agi: ^ff0000"+bagi2+"^000000."; mes "Vit: ^ff0000"+bvit2+"^000000."; mes "Int: ^ff0000"+bint2+"^000000."; mes "Dex: ^ff0000"+bdex2+"^000000."; mes "Luk: ^ff0000"+bluk2+"^000000."; mes "Build (2) - Save process complete!"; close; Lusebuild2: if(build_2 != 1) { next; mes .npc$; mes "You haven't save any build here."; close; } if (Zeny < 5000) goto NeedZenys; set Zeny,zeny-5000; ResetStatus; sleep2 10; statusup2 bStr,bstr2 -1; statusup2 bAgi,bagi2 -1; statusup2 bVit,bvit2 -1; statusup2 bInt,bint2 -1; statusup2 bDex,bdex2 -1; statusup2 bLuk,bluk2 -1; set StatusPoint,statpts2; message strcharinfo(0),"You changed your Build to "+build2$+" Build."; close; Lb3: next; mes .npc$; mes "Save Build (50k) || Use Build (5k)"; menu "Save Build",-,"Use this Build",Lusebuild3; if (Zeny < 50000) goto NeedZenys; set Zeny,zeny-50000; if(readparam(bStr) > 255) { close; } //Prevent Haxed stats if(readparam(bAgi) > 255) { close; } //Prevent Haxed stats if(readparam(bVit) > 255) { close; } //Prevent Haxed stats if(readparam(bInt) > 255) { close; } //Prevent Haxed stats if(readparam(bDex) > 255) { close; } //Prevent Haxed stats if(readparam(bLuk) > 255) { close; } //Prevent Haxed stats mes "Please - Name Your Build (3)."; input @build3$; set build3$,@build3$; set statpts3,readparam(9); set bstr3,readparam(bStr); set bagi3,readparam(bAgi); set bvit3,readparam(bVit); set bint3,readparam(bInt); set bdex3,readparam(bDex); set bluk3,readparam(bLuk); set build_3,1; next; mes .npc$; mes "Name: ^0000ff"+build3$+"^000000."; mes "Str: ^ff0000"+bstr3+"^000000."; mes "Agi: ^ff0000"+bagi3+"^000000."; mes "Vit: ^ff0000"+bvit3+"^000000."; mes "Int: ^ff0000"+bint3+"^000000."; mes "Dex: ^ff0000"+bdex3+"^000000."; mes "Luk: ^ff0000"+bluk3+"^000000."; mes "Build (3) - Save process complete!"; close; Lusebuild3: if(build_3 != 1) { next; mes .npc$; mes "You haven't save any build here."; close; } if (Zeny < 5000) goto NeedZenys; set Zeny,zeny-5000; ResetStatus; sleep2 10; statusup2 bStr,bstr3 -1; statusup2 bAgi,bagi3 -1; statusup2 bVit,bvit3 -1; statusup2 bInt,bint3 -1; statusup2 bDex,bdex3 -1; statusup2 bLuk,bluk3 -1; set StatusPoint,statpts3; message strcharinfo(0),"You changed your Build to "+build3$+" Build."; close; Lb4: next; mes .npc$; mes "Save Build (50k) || Use Build (5k)"; menu "Save Build",-,"Use this Build",Lusebuild4; if (Zeny < 50000) goto NeedZenys; set Zeny,zeny-50000; if(readparam(bStr) > 255) { close; } //Prevent Haxed stats if(readparam(bAgi) > 255) { close; } //Prevent Haxed stats if(readparam(bVit) > 255) { close; } //Prevent Haxed stats if(readparam(bInt) > 255) { close; } //Prevent Haxed stats if(readparam(bDex) > 255) { close; } //Prevent Haxed stats if(readparam(bLuk) > 255) { close; } //Prevent Haxed stats mes "Please - Name Your Build (4)."; input @build4$; set build4$,@build4$; set statpts4,readparam(9); set bstr4,readparam(bStr); set bagi4,readparam(bAgi); set bvit4,readparam(bVit); set bint4,readparam(bInt); set bdex4,readparam(bDex); set bluk4,readparam(bLuk); set build_4,1; next; mes .npc$; mes "Name: ^0000ff"+build4$+"^000000."; mes "Str: ^ff0000"+bstr4+"^000000."; mes "Agi: ^ff0000"+bagi4+"^000000."; mes "Vit: ^ff0000"+bvit4+"^000000."; mes "Int: ^ff0000"+bint4+"^000000."; mes "Dex: ^ff0000"+bdex4+"^000000."; mes "Luk: ^ff0000"+bluk4+"^000000."; mes "Build (4) - Save process complete!"; close; Lusebuild4: if(build_4 != 1) { next; mes .npc$; mes "You haven't save any build here."; close; } if (Zeny < 5000) goto NeedZenys; set Zeny,zeny-5000; ResetStatus; sleep2 10; statusup2 bStr,bstr4 -1; statusup2 bAgi,bagi4 -1; statusup2 bVit,bvit4 -1; statusup2 bInt,bint4 -1; statusup2 bDex,bdex4 -1; statusup2 bLuk,bluk4 -1; set StatusPoint,statpts4; message strcharinfo(0),"You changed your Build to "+build4$+" Build."; close; Lb5: next; mes .npc$; mes "Save Build (50k) || Use Build (5k)"; menu "Save Build",-,"Use this Build",Lusebuild5; if (Zeny < 50000) goto NeedZenys; set Zeny,zeny-50000; if(readparam(bStr) > 255) { close; } //Prevent Haxed stats if(readparam(bAgi) > 255) { close; } //Prevent Haxed stats if(readparam(bVit) > 255) { close; } //Prevent Haxed stats if(readparam(bInt) > 255) { close; } //Prevent Haxed stats if(readparam(bDex) > 255) { close; } //Prevent Haxed stats if(readparam(bLuk) > 255) { close; } //Prevent Haxed stats mes "Please - Name Your Build (5)."; input @build5$; set build5$,@build5$; set statpts5,readparam(9); set bstr5,readparam(bStr); set bagi5,readparam(bAgi); set bvit5,readparam(bVit); set bint5,readparam(bInt); set bdex5,readparam(bDex); set bluk5,readparam(bLuk); set build_5,1; next; mes .npc$; mes "Name: ^0000ff"+build5$+"^000000."; mes "Str: ^ff0000"+bstr5+"^000000."; mes "Agi: ^ff0000"+bagi5+"^000000."; mes "Vit: ^ff0000"+bvit5+"^000000."; mes "Int: ^ff0000"+bint5+"^000000."; mes "Dex: ^ff0000"+bdex5+"^000000."; mes "Luk: ^ff0000"+bluk5+"^000000."; mes "Build (5) - Save process complete!"; close; Lusebuild5: if(build_5 != 1) { next; mes .npc$; mes "You haven't save any build here."; close; } if (Zeny < 5000) goto NeedZenys; set Zeny,zeny-5000; ResetStatus; sleep2 10; statusup2 bStr,bstr5 -1; statusup2 bAgi,bagi5 -1; statusup2 bVit,bvit5 -1; statusup2 bInt,bint5 -1; statusup2 bDex,bdex5 -1; statusup2 bLuk,bluk5 -1; set StatusPoint,statpts5; message strcharinfo(0),"You changed your Build to "+build5$+" Build."; close; L2: mes .npc$; if (Zeny < 9000) goto NeedZenys; mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!"; set Zeny,zeny-9000; ResetSkill; ResetStatus; close; NeedZenys: next; mes .npc$; mes "Sorry, you don't have enough Zeny."; close; LEnd: close; pltskill: mes .npc$; mes "I can give you the special skills available to your job. Would you like these skills now?"; next; menu "Yes",Lgetskills,"No",Lnogetskills; Lgetskills: if (BaseClass==Job_Novice) goto Lskillsnovice; if (BaseClass==Job_Swordman) goto Lskillsswordie; if (BaseClass==Job_Mage) goto Lskillsmage; if (BaseClass==Job_Archer) goto Lskillsarcher; if (BaseClass==Job_Acolyte) goto Lskillsaco; if (BaseClass==Job_Merchant) goto Lskillsmerchie; if (BaseClass==Job_Thief) goto Lskillsthief; goto Lother; Lskillsnovice: mes .npc$; mes "I see that you are a Novice Class. I will now add the special skills available to these jobs."; skill 142,1,0; if(BaseJob==0) skill 143,1,0; mes " "; mes "You now have all the special skills available to the these jobs."; next; goto LskillsEND; Lskillsswordie: mes .npc$; mes "I see that you are a Swordman Class. I will now add the special skills available to these jobs."; skill 142,1,0; skill 144,1,0; skill 145,1,0; skill 146,1,0; skill 1002,1,0; mes " "; mes "You now have all the special skills available to the these jobs."; next; goto LskillsEND; Lskillsmage: mes .npc$; mes "I see that you are a Mage Class. I will now add the special skills available to these jobs."; skill 142,1,0; skill 157,1,0; mes " "; mes "You now have all the special skills available to the these jobs."; next; goto LskillsEND; Lskillsarcher: mes .npc$; mes "I see that you are an Archer Class. I will now add the special skills available to these jobs."; skill 142,1,0; skill 147,1,0; skill 148,1,0; mes " "; mes "You now have all the special skills available to the these jobs."; next; goto LskillsEND; Lskillsaco: mes .npc$; mes "I see that you are an Acolyte Class. I will now add the special skills available to these jobs."; skill 142,1,0; skill 156,1,0; mes " "; mes "You now have all the special skills available to the these jobs."; next; goto LskillsEND; Lskillsmerchie: mes .npc$; mes "I see that you are a Merchant Class.I will now add the special skills available to these jobs."; skill 142,1,0; skill 153,1,0; skill 154,1,0; if (Class==Job_Creator) { skill 243,1,0; skill 247,1,0; skill 238,1,0; skill 244,1,0; } mes " "; mes "You now have all the special skills available to the these jobs."; next; goto LskillsEND; Lskillsthief: mes .npc$; mes "I see that you are a Thief Class. I will now add the special skills available to these jobs."; skill 142,1,0; skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; mes " "; mes "You now have all the special skills available to the these jobs."; next; goto LskillsEND; Lother: mes .npc$; mes "I will now add the special skills available to your job."; skill 142,1,0; mes " "; mes "You now have all the special skills available to your job."; next; goto LskillsEND; LskillsEND: mes .npc$; mes "Have a nice day."; close; Lnogetskills: mes .npc$; mes "Aww, how come you don't want my special skills?"; mes "*sob* FINE!"; mes "Have a nice day... >.>"; close; breed: mes .npc$; mes "What would you rent?"; next; switch(select("Cart:Falcon:Peco")) { case 1: if((BaseClass == Job_Merchant || BaseJob == Job_SuperNovice) && checkcart() == 0 && getskilllv("MC_PUSHCART")>0) { setcart; close; }else{ mes .npc$; mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job and have the required skill."; close; } case 2: if(BaseJob != Job_Archer && BaseClass == Job_Archer && checkfalcon() == 0 && getskilllv("HT_FALCON")>0) { setfalcon; close; }else{ mes .npc$; mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job and have the required skill."; close; } case 3: if (BaseJob != Job_Swordman && BaseClass == Job_Swordman && checkriding() == 0 && getskilllv("KN_RIDING")>0) { setriding; close; }else{ mes .npc$; mes "Sorry " + strcharinfo(0) + ", Please make sure you are the required job and have the required skill."; close; } } L_job_change: if(Upper == 1 && Class >= Job_Lord_Knight) goto L_noReq; if(SkillPoint != 0){ mes .npc$; mes "I'm sorry, please use up all your skill points before changing jobs"; mes "Please come again soon!"; close; } 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 .npc$; 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 .npc$; 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($@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 .npc$; 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 .npc$; 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; } } close; } if(checkfalcon() || checkcart() || checkriding()) goto L_remove; if((Class >=Job_Knight) && (Class <=Job_Crusader2)){ mes .npc$; 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; } } mes .npc$; mes "I'm sorry, there are no further classes for your job."; 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; 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_cantCh: mes .npc$; mes "I'm sorry, you do not meet the requirements to change"; mes "Please come again soon!"; close; L_LvError: mes .npc$; mes "I'm sorry, you do not seem to have enough Job Levels"; mes "Please come again soon!"; close; L_BvError: mes .npc$; mes "I'm sorry, you do not seem to have enough Base Levels"; mes "Please come again soon!"; close; L_noReq: mes .npc$; mes "I'm sorry, you do not meet the requirements to change"; mes "Please come again soon!"; close; L_remove: mes .npc$; mes "Please remove your cart,falcon or peco"; mes "Please come again soon!"; 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; OnPCLoginEvent: if (Class==Job_Creator) { skill 243,1,0; skill 247,1,0; } } Quote Link to comment Share on other sites More sharing options...
Question
pojiejapan
Hye, I've been using this wonderfull script made by ADM Blast
http://rathena.org/board/files/file/978-class-changer-w-3rd-jobs-and-auto-job-change-breeder/
But something is wrong, my player can change to 3rd eventhough I have configure it.
My player novice-swordman-knight-rune knight...
I have configure it and put 0 to OFF it. also cant.. then I also have open the script and edit it myself at the
set .THIRDON,0; //Turn on 3rd class changing
and change it to 0 cant and 1 also cant.
Can someone PLEASE help me!
Link to comment
Share on other sites
12 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.