keoco Posted January 31, 2012 Group: Members Topic Count: 43 Topics Per Day: 0.01 Content Count: 130 Reputation: 0 Joined: 01/24/12 Last Seen: April 11, 2012 Share Posted January 31, 2012 hey, does anyone have a jobchanger that doesnt have 3rd class? and has an inbuilt function of removing extra unneeded skill points as an option? also it doesnt have a baby changer thanks Quote Link to comment Share on other sites More sharing options...
Zac Posted February 1, 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 February 1, 2012 (edited) If you wanted the original scripts here is it, I removed Baby Changer as you wanted. //===== rAthena Script ======================================= //= rAthena Jobchanger AKA Job Master //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== //= 1.5a //===== Compatible With: ===================================== //= rAthena SVN //===== 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] //= Removed Baby Changer as a request [Zac] //============================================================ prontera,161,186,6[TAB]script[TAB]Job Master[TAB]123,{ mes "^ff0000[Job Master]^000000"; if(Upper == 1 && Class >= Job_Lord_Knight) goto L_noReq; if(SkillPoint != 0){ 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_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_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($@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_Novice_High && Class < Job_Lord_Knight)){ if(lastJob != 0){ set @target_job, lastJob + 4001; } else { switch(Class){ case Job_Swordman_High: case Job_Swordman: set @job_opt[0], Job_Knight; set @job_opt[1], Job_Crusader; break; case Job_Mage_High: case Job_Mage: set @job_opt[0], Job_Wizard; set @job_opt[1], Job_Sage; break; case Job_Archer_High: 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_Acolyte: set @job_opt[0], Job_Priest; set @job_opt[1], Job_Monk; break; case Job_Merchant_High: case Job_Merchant: set @job_opt[0], Job_Blacksmith; set @job_opt[1], Job_Alchemist; break; case Job_Thief_High: 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; } } 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; } } 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 "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!"; 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 February 1, 2012 by Zac Quote Link to comment Share on other sites More sharing options...
Zac Posted February 1, 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 February 1, 2012 Try this one I modified from rAthena's SVN script and merged platinum skills, breeder, reset stat. 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_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_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_Novice_High && Class < Job_Lord_Knight)){ if(lastJob != 0){ set @target_job, lastJob + 4001; } else { switch(Class){ case Job_Swordman_High: case Job_Swordman: set @job_opt[0], Job_Knight; set @job_opt[1], Job_Crusader; break; case Job_Mage_High: case Job_Mage: set @job_opt[0], Job_Wizard; set @job_opt[1], Job_Sage; break; case Job_Archer_High: 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_Acolyte: set @job_opt[0], Job_Priest; set @job_opt[1], Job_Monk; break; case Job_Merchant_High: case Job_Merchant: set @job_opt[0], Job_Blacksmith; set @job_opt[1], Job_Alchemist; break; case Job_Thief_High: 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...
keoco Posted February 1, 2012 Group: Members Topic Count: 43 Topics Per Day: 0.01 Content Count: 130 Reputation: 0 Joined: 01/24/12 Last Seen: April 11, 2012 Author Share Posted February 1, 2012 heyy thanks, but it doesnt have a remove skill points option and it has a bit too many extras x.x Quote Link to comment Share on other sites More sharing options...
Zac Posted February 1, 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 February 1, 2012 What do you mean with extras?._. Quote Link to comment Share on other sites More sharing options...
keoco Posted February 1, 2012 Group: Members Topic Count: 43 Topics Per Day: 0.01 Content Count: 130 Reputation: 0 Joined: 01/24/12 Last Seen: April 11, 2012 Author Share Posted February 1, 2012 the platinum skills and reset stat D: Quote Link to comment Share on other sites More sharing options...
keoco Posted February 1, 2012 Group: Members Topic Count: 43 Topics Per Day: 0.01 Content Count: 130 Reputation: 0 Joined: 01/24/12 Last Seen: April 11, 2012 Author Share Posted February 1, 2012 thankyou very much ^ ^ Quote Link to comment Share on other sites More sharing options...
Zac Posted February 1, 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 February 1, 2012 Pleasure, Request Done. Quote Link to comment Share on other sites More sharing options...
Question
keoco
hey, does anyone have a jobchanger that doesnt have 3rd class? and has an inbuilt function of removing extra unneeded skill points as an option? also it doesnt have a baby changer
thanks
Link to comment
Share on other sites
7 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.