Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //////////////////////////////////////////////////////////////////////////////////
- // 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]
- ///////////////////////////////////////////////////////////////////////////////
- ayothaya,213,276,4 script Job Changer 430,{
- mes "^ff0000[Job Master]^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($@JC_SupNovM > BaseLevel) goto L_BvError;
- if(Upper == 2)
- set @target_job, Job_Super_Baby;
- else
- set @target_job, Job_SuperNovice;
- break;
- case 8:
- if(Class == Job_Novice_High) goto L_noReq;
- if(Upper == 2) goto L_noReq;
- set @target_job, Job_Taekwon;
- break;
- case 9:
- case 10:
- if(Class == Job_Novice_High || Upper == 2) goto L_noReq;
- set @target_job, @menu + 15;
- break;
- default:
- set @target_job, @menu;
- if(Class == Job_Novice_High) set @target_job, @target_job + 4001;
- break;
- }
- }
- mes "Are you sure you want to change to " + JobName(@target_job) + "?";
- if(select("No","Yes") == 2){
- callfunc "Job_Change", @target_job;
- if(@target_job == Job_Gunslinger || @target_job == Job_Ninja || @target_job == Job_Taekwon) {
- callfunc "F_ClearJobVar";
- } else {
- if($@JC_Plat) goto L_GivePlat;
- }
- }
- close;
- break;
- default:
- if(JobLevel < $@JC_MinimumJB) goto L_LvError;
- deletearray @job_opt, getarraysize(@job_opt);
- if(Class < Job_Knight || Class == Job_Taekwon || (Class > Job_Baby && Class < Job_Baby_Knight) || (Class > Job_Novice_High && Class < Job_Lord_Knight)){
- if(lastJob != 0){
- set @target_job, lastJob + 4001;
- } else {
- switch(Class){
- case Job_Swordman_High:
- case Job_Baby_Swordman:
- case Job_Swordman:
- set @job_opt[0], Job_Knight;
- set @job_opt[1], Job_Crusader;
- break;
- case Job_Mage_High:
- case Job_Baby_Mage:
- case Job_Mage:
- set @job_opt[0], Job_Wizard;
- set @job_opt[1], Job_Sage;
- break;
- case Job_Archer_High:
- case Job_Baby_Archer:
- case Job_Archer:
- set @job_opt[0], Job_Hunter;
- if(Sex == 0)
- set @job_opt[1], Job_Dancer;
- else
- set @job_opt[1], Job_Bard;
- break;
- case Job_Acolyte_High:
- case Job_Baby_Acolyte:
- case Job_Acolyte:
- set @job_opt[0], Job_Priest;
- set @job_opt[1], Job_Monk;
- break;
- case Job_Merchant_High:
- case Job_Baby_Merchant:
- case Job_Merchant:
- set @job_opt[0], Job_Blacksmith;
- set @job_opt[1], Job_Alchemist;
- break;
- case Job_Thief_High:
- case Job_Baby_Thief:
- case Job_Thief:
- set @job_opt[0], Job_Assassin;
- set @job_opt[1], Job_Rogue;
- break;
- default:
- set @job_opt[0], Job_Star_Gladiator;
- set @job_opt[1], Job_Soul_Linker;
- break;
- }
- mes "Welcome, please select the job you wish to change into";
- set @target_job, @job_opt[select(JobName(@job_opt[0]), JobName(@job_opt[1]))-1];
- if(Class > Job_Novice_High && Class < Job_Lord_Knight) set @target_job, @target_job + 4001;
- }
- mes "Are you sure you want to change to " + JobName(@target_job) + "?";
- if(select("No","Yes")==2){
- 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 "Choose your next step";
- if(select("Reborn","Become a 3rd Class")==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){
- case Job_Knight:
- set @target_job, 4054;
- break;
- case Job_Crusader:
- set @target_job, 4066;
- break;
- case Job_Monk:
- set @target_job, 4070;
- break;
- case Job_Priest:
- set @target_job, 4057;
- break;
- case Job_Alchemist:
- set @target_job, 4071;
- break;
- case Job_Blacksmith:
- set @target_job, 4058;
- break;
- case Job_Rogue:
- set @target_job, 4072;
- break;
- case Job_Assassin:
- set @target_job, 4059;
- break;
- case Job_Wizard:
- set @target_job, 4055;
- break;
- case Job_Sage:
- set @target_job, 4067;
- break;
- case Job_Hunter:
- set @target_job, 4056;
- break;
- case Job_Bard:
- set @target_job, 4068;
- break;
- case Job_Dancer:
- set @target_job, 4069;
- break;
- }
- mes "Are you sure you want to change to " + JobName(@target_job) + "?";
- if(select("No","Yes")==2){
- if(BaseLevel < 99 || JobLevel < 50) goto L_cantCh;
- callfunc "Job_Change", @target_job;
- specialeffect2 514;
- specialeffect2 381;
- setlook 7,0;
- }
- 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:
- set @target_job, 4060;
- break;
- case Job_Paladin:
- set @target_job, 4073;
- break;
- case Job_Champion:
- set @target_job, 4077;
- break;
- case Job_High_Priest:
- set @target_job, 4063;
- break;
- case Job_Creator:
- set @target_job, 4078;
- break;
- case Job_Whitesmith:
- set @target_job, 4064;
- break;
- case Job_Stalker:
- set @target_job, 4079;
- break;
- case Job_Assassin_Cross:
- set @target_job, 4065;
- break;
- case Job_High_Wizard:
- set @target_job, 4061;
- break;
- case Job_Professor:
- set @target_job, 4074;
- break;
- case Job_Sniper:
- set @target_job, 4062;
- break;
- case Job_Clown:
- set @target_job, 4075;
- break;
- case Job_Gypsy:
- 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;
- 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 "I'm sorry, please use up all your skill points before changing jobs";
- 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;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement