Jump to content
  • 0

Jobchanger with no 3rd class


keoco

Question


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  130
  • Reputation:   0
  • Joined:  01/24/12
  • Last Seen:  

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


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  44
  • Reputation:   4
  • Joined:  01/25/12
  • Last Seen:  

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 by Zac
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  44
  • Reputation:   4
  • Joined:  01/25/12
  • Last Seen:  

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;
}
}

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  130
  • Reputation:   0
  • Joined:  01/24/12
  • Last Seen:  

heyy thanks, but it doesnt have a remove skill points option

and it has a bit too many extras x.x

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  44
  • Reputation:   4
  • Joined:  01/25/12
  • Last Seen:  

What do you mean with extras?._.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  130
  • Reputation:   0
  • Joined:  01/24/12
  • Last Seen:  

the platinum skills and reset stat D:

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  130
  • Reputation:   0
  • Joined:  01/24/12
  • Last Seen:  

thankyou very much ^ ^

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  44
  • Reputation:   4
  • Joined:  01/25/12
  • Last Seen:  

Pleasure,

Request Done.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...