keitenai 1 Posted March 3, 2016 (edited) Finally i am able to post here. Now here's my simple 3rd to Expanded Class job changer script release. Hope this would help you guys. 3E_jobchanger.txt //======= 3ceam Script ======================================= //= Job Changer NPC //===== By: ================================================== //= Keitenai //===== Current Version: ===================================== //= 1.1 //===== Compatible With: ===================================== //= Athena Project //===== Description: ========================================= //= Job changer including 3rd and expanded classes. //===== Additional Comments: ================================= //= 1.0 First Version //= 1.1 Fixed oboro showing as kagerou, and vise versa. //============================================================ - script Job Changer -1,{ mes "^ff0000[Job Master]^000000"; if(Class >= 4054 && Class <= 4085) goto Max; if(Upper == 1 && Class >= 4008 && Class <= 4022)goto Third_Job; if(JobLevel < 10) goto Low_JobLevel; switch(Class) { case 4001: case Job_Baby: case 0: skill 142,1,0; skill 143,1,0; mes "Hello there! you may select the job you want to change into"; if(lastJob != 0 && Class == 4001) { switch (lastJob) { case 7: case 14: set @target_job, 4002; break; case 15: case 8: set @target_job, 4005; break; case 18: case 10: set @target_job, 4006; break; case 17: case 12: set @target_job, 4007; break; case 9: case 16: set @target_job, 4003; break; case 11: case 19: case 20: set @target_job, 4004; break; } } else { switch (select( "Swordsman", "Mage", "Archer", "Acolyte", "Merchant", "Thief", "Super Novice", "Taekwon", "Gunslinger", "Ninja" )) { case 7: if(Class == 4001 | $@Super_Novice > BaseLevel) goto Requirements; if(Upper == 2) set @target_job, 4045; else set @target_job, 23; break; case 8: if(Class == 4001 | Upper == 2) goto Requirements; set @target_job, Job_Taekwon; break; case 9: case 10: if(Class == 4001 | Upper == 2) goto Requirements; set @target_job, @menu + 15; break; default: set @target_job, @menu; if(Class == 4001) 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 == 24 || @target_job == 25 || @target_job == Job_Taekwon) { callfunc "F_ClearJobVar"; } else { if($@Platinum_Skill) goto Obtain_Platinum; } } close; break; default: if(Class >=24 && Class <=25) { if(BaseLevel < 99 || JobLevel < 40) goto Requirements; mes "Are you sure you want to change to Expanded Class?"; if(select("Yes","No")==1) { switch(Class){ case 24: set @target_job, 4215; break; case 25: if(Sex!=0){ set @target_job, 4211; }else{ set @target_job, 4212; } break; } mes "Are you sure you want to change to " + JobName(@target_job) + "?"; if(select("No","Yes") == 2) { callfunc "Job_Change", @target_job; //resetlvl(1); atcommand "@blvl +99"; specialeffect2 381; close; } } } if(JobLevel < $@Min_JobLevel) goto Low_JobLevel; deletearray @job_opt, getarraysize(@job_opt); if(Class < 7 || Class == 4046 || (Class > 4023 && Class < 4030) || (Class > 4001 && Class < 4008)) { if(lastJob != 0) { set @target_job, lastJob + 4001; } else { switch(Class) { case 4002: case 4024: case 1: set @job_opt[0], 7; set @job_opt[1], 14; break; case 4003: case 4025: case 2: set @job_opt[0], 9; set @job_opt[1], 16; break; case 4004: case 4026: case 3: set @job_opt[0], 11; if(Sex == 0) set @job_opt[1], 20; else set @job_opt[1], 19; break; case 4005: case 4027: case 4: set @job_opt[0], 8; set @job_opt[1], 15; break; case 4006: case 4028: case 5: set @job_opt[0], 10; set @job_opt[1], 18; break; case 4007: case 4029: case 6: set @job_opt[0], 12; set @job_opt[1], 17; break; default: set @job_opt[0], 4047; set @job_opt[1], 4049; break; } mes "Hello there! you may select the job you want to change into"; set @target_job, @job_opt[select(JobName(@job_opt[0]), JobName(@job_opt[1]))-1]; if(Class > 4001 && Class < 4008) 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 == 4047 || @target_job == 4049) { callfunc "F_ClearJobVar"; } else { if($@Platinum_Skill) goto Obtain_Platinum; } } close; } if(checkfalcon() || checkcart() || checkriding()) goto Riding; if((Class >=7) && (Class <=142)) { mes "Do you want to reborn?"; if(select("Yes","No")==1) { if(BaseLevel < 99 || JobLevel < 50) goto Requirements; set lastJob, Class; if(Class == 72) { set lastJob, 7; } else { if(Class == 142) { set lastJob, 14; } } jobchange 4001; resetlvl(1); skill 142,1,0; skill 143,1,0; } close; } } mes "You've already reached the maximum class for your job"; close; Third_Job: if(checkfalcon() || checkcart() || checkriding()) goto Riding; mes "Are you sure you want to change to 3rd Class?"; if(select("Yes","No")==1) { if(BaseLevel < 99 || JobLevel < 50) goto Requirements; switch(Class) { case 4008: set @target_job, 4060; break; case 4009: set @target_job, 4063; break; case 4010: set @target_job, 4061; break; case 4011: set @target_job, 4064; break; case 4012: set @target_job, 4062; break; case 4013: set @target_job, 4065; break; case 4015: set @target_job, 4073; break; case 4016: set @target_job, 4077; break; case 4017: set @target_job, 4074; break; case 4018: set @target_job, 4079; break; case 4019: set @target_job, 4078; break; case 4020: set @target_job, 4075; break; case 4021: set @target_job, 4076; break; } mes "Are you sure you want to change to " + JobName(@target_job) + "?"; if(select("No","Yes") == 2) { callfunc "Job_Change", @target_job; //atcommand "@blvl +99"; specialeffect2 381; close; } } close; Obtain_Platinum: if (BaseClass==23) goto Platinum_SuperNovice; if (BaseClass==1) goto Platinum_Swordsman; if (BaseClass==2) goto Platinum_Magician; if (BaseClass==3) goto Platinum_Archer; if (BaseClass==4) goto Platinum_Acolyte; if (BaseClass==5) goto Platinum_Merchant; if (BaseClass==6) goto Platinum_Thief; close; Platinum_SuperNovice: skill 142,1,0; close; Platinum_Swordsman: skill 142,1,0; skill 144,1,0; skill 145,1,0; skill 146,1,0; close; Platinum_Magician: skill 142,1,0; skill 157,1,0; close; Platinum_Archer: skill 142,1,0; skill 147,1,0; skill 148,1,0; close; Platinum_Acolyte: skill 142,1,0; skill 156,1,0; close; Platinum_Merchant: skill 142,1,0; skill 153,1,0; skill 154,1,0; skill 155,1,0; close; Platinum_Thief: skill 142,1,0; skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; close; Riding: mes "Please remove your cart,falcon or peco"; mes "Please come again soon!"; close; Low_BaseLevel: mes "I'm sorry, you do not seem to have enough Base Levels"; mes "Please come again soon!"; close; Low_JobLevel: mes "I'm sorry, you do not seem to have enough Job Levels"; mes "Please come again soon!"; close; Requirements: mes "I'm sorry, you do not meet the requirements to change"; mes "Please come again soon!"; close; Max: mes "I'm sorry, there are no further classes for your job."; close; OnInit: // Settings set $@Min_JobLevel, 40; //Minimum job level requirement for changing. set $@Platinum_Skill, 1; //Give Platinum skills on Jobchange. set $@Super_Novice, 45; //Minimum Base Level to change into Super Novice. end; } prontera,161,195,3 duplicate(Job Changer) Job Changer#prt 430 payon,148,230,6 duplicate(Job Changer) Job Changer#pay 430 rachel,135,115,3 duplicate(Job Changer) Job Changer#rac 430 Edited March 3, 2016 by keitenai Quote Share this post Link to post Share on other sites
dikapramantya 1 Posted April 1, 2016 Update to Rebellion Class to? Quote Share this post Link to post Share on other sites