I am trying this rebirth system on my Server but it seems that it doesn't work properly.
I try to rebirth then when I change my job, the job master tells me if I want to change in to UNKOWN CLASS. We'll this script is from eAthena I think and I need to use for my server and It uses rAthena.
Anyways, my new Idea is when I rebirth my character, only the level will rebirth and character job will not be high class again.
here is the script:
//===== eAthena Script ==================================================================
//= eAthena Rebirth Master AKA Reborn Master
//===== By: =============================================================================
//= eAthena Dev Team [LunatikBunnie] (Edited by Amada`)
//===== Edited by: (DO NOT REMOVE) ======================================================
//= Terces (for Vincent7778)
//= ~Lecks/LecksmaTT (For the reborning of 2nd high class and others that doesnt working)
//===== Current Version: ================================================================
//= 1.9.1 (based on official version 1.4)
//===== Compatible With: ================================================================
//= Any Athena Version
//===== Credits: (DO NOT REMOVE) ========================================================
//= in chronological order (I guess ^^)
//= Vincent7778 ~ for the initial idea
//= Nataku ~ for bug reports and ideas
//= B~Trash ~ for bug reports and ideas
//= Devil2018 ~ for bug reports and ideas
//= Script ~ for ideas
//= deng17 ~ for ideas
//= ~Lecks/Lecksmatt ~ For editing this script to work... ^^
//===== Special thanks: =================================================================
//= I'd like to thank Nataku for her enormous help with
//= this NPC. She reported many bugs and gave many ideas.
//===== Notes: ==========================================================================
//= Note 1:
//= Rebirthbonus works like this:
//= 1st rebirth -> 100+0 statuspoints extra
//= 2nd rebirth -> 100+100 statuspoints extra
//= 3rd rebirth -> 100+100+100 statuspoints extra
//= Amount of extra statuspoints can be changed
//=
//= Note 2:
//= Requirements and rewards work like this:
//= The first array holds the items.
//= The second array holds the amount for the items.
//= The names of the array also show when the requirements
//= or rewards are applied: "@itemreqs + rebirthcount"
//= ~> @itemreqs0 for the first rebirth.
//= Zeny Rewards/Requirements have one array each. Every
//= Rebirth has it's own position in these arrays.
//= ~> @zenyreqs: first number = amount of zeny for the
//= first rebirth. Second number for second rebirth etc...
//=
//= Note 3:
//= If you enable the statreseter here you HAVE to DISABLE
//= the other statreset. To do so, open the
//= "scripts_custom.conf" in your "eAthena\npc\" folder
//= and find the line "npc: npc/custom/jobs/reset.txt".
//= Change it to: "//npc: npc/custom/jobs/reset.txt",
//= If it already has the "//" leave it the way it is...
//=======================================================================================
// ------------------------- Reseter Options ------------------------
// The Resetter itself can be found at the bottom of this file.
// Just scroll down to see it
- script DisableReset -1,{
end;
OnInit:
disablenpc "Reset Girl";
set $@enableresets, 1; //Enable/Disable any resets *IMPORTANT* !NOTE3!
set $@enablestatreset, 1; //Enable/Disable stat resets *IMPORTANT* !NOTE3!
set $@enableskillreset, 1; //Enable/Disable skill resets *IMPORTANT* !NOTE3!
set $@enablebothreset, 1; //Enable/Disable stat and skillreset together *IMPORTANT* !NOTE3!
setarray $@resetfees[0],5000,5000,9000; //set the fees for resets: stat,skill,both
if ($@enableresets == 0) enablenpc "Reset Girl";
end;
}
// ---------------------------- Jobmaster ----------------------------
prontera.gat,148,194,5 script Rebirth Master 123,{
// Variable Setup
set @minjadvsec, 40; //Minimum job level to change from High First Class to High Second Class (eg. Acolyte High -> High Priest)
set @minbadvsec, 0; //Minimum base level to change from High First Class to High Second Class (eg. Acolyte High -> High Priest)
set @minjadv, 10; //Minimum job level to change to High First Class (eg. Novice High -> Acolyte High) [better do NOT change this]
set @minbadv, 0; //Minimum base level to change to High First Class (eg. Novice High -> Acolyte High)
set @minjsec, 40; //Minimum job level to change from First Class to Second Class (eg. Acolyte -> Priest)
set @minbsec, 0; //Minimum base level to change from First Class to Second Class (eg. Acolyte -> Priest)
set @minj, 40; //Minimum job level to change to First Class (eg. Novice -> Acolyte)
set @minb, 0; //Minimum base level to change to First Class (eg. Novice -> Acolyte)
set @GivePlat, 1; //Give Platinum skills on Jobchange (Default : 1-yes)
set @SupNovM, 45; //Base Level to change into Super Novice (Default : 45)
set @rebirthlevel, 255; //Base Level for rebirth (Default: 99)
set @rebirthlevelgsnin, 255; //Base Level for rebirth for Gunslinger and Ninja class (Default: 99)
set @enablerebirths, 1; //Enable/Disable multiple rebirths
set $@enablebonus, 1; //Enable/Disable bonus system (*Note1)
set @enableinfomes, 1; //Enable/Disable Informationscreen (Rebirthcounter, Stats on next rebirth, maximum rebirths with bonus)
set @enablereqs, 0; //Enable/Disable requirements for a rebirth
set @enablerewards, 0; //Enable/Disable rewards for each rebirth
set @enablegsnin, 1; //Enable/Disable jobchange to gunslinger/ninja
set @enablerebgsnin, 1; //Enable/Disable rebirth as Gunslinger/Ninja
set @enableTaekwon, 1; //Enable/Disable the jobchange to Taekwon and it's further classes (Soul Linker, Star Gladiator)
set @enablereblimit, 10; //Enable/Disable the limitations for rebirths (if set to 0 you can be reborn as often as you want)
set @enablezenyreqs, 0; //Enable/Disable Zeny Requirements (*Note2)
set @enablezenyrew, 0; //Enable/Disable Zeny Rewards (*Note2)
set @rebirthbonuses, 10; //Until which rebirth the bonus is applied
set @rebirthlimit, 5; //Maximum number of rebirths
set @rebirthbonus, 1000; //Amount of statuspoints you get extra (*Note1)
//Check if you still get Rewards from last rebirth
if (itemsleft > 0){
mes "^ff0000[Rebirth Master]^000000";
mes "Oh...as I see you still get some items from me...wait...what was it?";
next;
mes "Ah..right...";
for (set @x,1; @x <= itemsleft; set @x,@x+1){
mes getd("rebirthawardsamount"+@x) +" "+ getitemname(getd("rebirthawardsitems"+@x));
}
next;
menu "Get the items now",-,"Get them later",L_getlater;
mes "^ff0000[Rebirth Master]^000000";
set @itempos,0;
for (set @y,1; @y <= itemsleft; set @y,@y+1){
if(checkweight(getd("rebirthawardsitems"+@y),getd("rebirthawardsamount"+@y)) == 0){
set @itempos,@itempos+1;
set @item,getd("rebirthawardsitems"+@y);
set @amount,getd("rebirthawardsamount"+@y);
set getd("rebirthawardsitems"+@y),0;
set getd("rebirthawardsamount"+@y),0;
set getd("rebirthawardsitems"+@itempos),@item;
set getd("rebirthawardsamount"+@itempos),@amount;
mes "You don't feel strong enough to carry the "+@amount+" "+getitemname(@item)+".";
} else {
getitem getd("rebirthawardsitems"+@y),getd("rebirthawardsamount"+@y);
}
}
set itemsleft,@itempos;
if (itemsleft != 0){
next;
mes "^ff0000[Rebirth Master]^000000";
mes "Sorry but you couldn't carry them all...please come back soon to get the rest.";
if (itemsleft == 1){
mes "There is still "+itemsleft+" item left.";
} else {
mes "There are still "+itemsleft+" items left.";
}
close;
}
mes "Alright...that was everything";
close;
}
//Callfunction to get the next possible job
set @num,callfunc("getposjob");
if (@num == -3) goto L_remove;
if (@num == -2) goto L_skillUsed;
if (@num == -1) goto L_cantCh;
if (@num == 1) goto L_novice;
if (@num == 2) goto L_changejob;
if (@num == 3) goto L_rebirth;
close;
// Change to first Class
L_novice:
skill 142,1,0;
skill 143,1,0;
if(JobLevel<10) goto L_notEn;
mes "^ff0000[Rebirth Master]^000000";
mes "Welcome, please select the job you wish to change into.";
cleararray @jobsarray$[0],"",getarraysize(@jobsarray$);
cleararray @jobchangearray[0],0,getarraysize(@jobchangearray);
setarray @jobsarray$[0],"Swordsman","Mage","Archer","Acolyte","Merchant","Thief","Super Novice";
setarray @jobchangearray[0],Job_Swordman,Job_mage,Job_Archer,Job_Acolyte,Job_Merchant,Job_Thief,Job_SuperNovice;
if(@enableTaekwon == 1){
set @jobsarray$[getarraysize(@jobsarray$)],"Taekwon";
set @jobchangearray[getarraysize(@jobchangearray)],Job_Taekwon;
}
if (@enablegsnin == 1){
setarray @jobsarray$[getarraysize(@jobsarray$)],"Gunslinger","Ninja";
setarray @jobchangearray[getarraysize(@jobchangearray)],Job_Gunslinger,Job_Ninja;
}
//making the menu
set @tempmenu$,"";
for (set @x,0; @x < getarraysize(@jobsarray$); set @x,@x+1) {
if(@x > 0) set @tempmenu$,@tempmenu$+":";
set @tempmenu$,@tempmenu$+@jobsarray$[@x];
}
if (select(@tempmenu$,"Cancel") > getarraysize(@jobsarray$)) close;
mes "Are you sure you want to be a "+@jobsarray$[(@menu-1)]+"?";
set @job,@menu; //there comes a new menu so I have to transfer it some other way...
menu "No",L_quit,"Yes",-;
mes "Congratulations! You are now officially a "+@jobsarray$[(@job-1)]+".";
jobchange @jobchangearray[(@job-1)];
if(@GivePlat) goto L_GivePlat;
close;
//Change the class
L_changejob:
if(JobLevel<@minjoblvl) goto L_notEn;
if(BaseLevel<@minbaselvl) goto L_notEn;
//making the menu
set @tempmenu$,"";
for (set @x,0; @x < getarraysize(@jobnames$); set @x,@x+1) {
if(@x > 0) set @tempmenu$,@tempmenu$+":";
set @tempmenu$,@tempmenu$+@jobnames$[@x];
}
mes "^ff0000[Rebirth Master]^000000";
mes "Please select to what you want to change:";
mes "Lastjob: "+lastjob;
next;
if (select(@tempmenu$,"Cancel") > getarraysize(@jobnames$)) close;
mes "Are you SURE you want to change to "+@jobnames$[@menu-1]+"?";
menu "Yes",-,"No...",L_quit;
jobchange @jobnums[(@menu-1)];
if(@GivePlat) goto L_GivePlat;
mes "^ff0000[Rebirth Master]^000000";
mes "Thank you, please come again soon!";
close;
// Rebirth
L_rebirth:
//Infoscreen
if (($@enablebonus==1) && (@enableinfomes==1)){
mes "^ff0000[Rebirth Master]^000000";
mes "Times reborn: "+rebirthcount;
mes "Statuspoints on next rebirth: "+(100+(rebirthcount*@rebirthbonus));
mes "Maximum rebirths with bonus: "+(@rebirthbonuses);
next;
}
if (@enablereqs==1 && ((getarraysize(getd("@itemreqs" +rebirthcount )) > 0) || (@zenyreqs[rebirthcount] > 0))){
mes "^ff0000[Rebirth Master]^000000";
mes "To be reborn you'll need following items:";
if (getarraysize(getd("@itemreqs" +rebirthcount )) > 0){
for (set @count, 0; @count < getarraysize(getd("@itemreqs" +rebirthcount )); set @count, @count + 1){
mes getd("@reqamount" +rebirthcount +"["+@count+"]") + " " +getitemname(getd("@itemreqs" +rebirthcount +"["+@count+"]"));
}
}
if (@zenyreqs[rebirthcount] > 0){
mes @zenyreqs[rebirthcount]+" Zeny";
}
next;
}
if ((@enablerewards==1) && (((getarraysize(getd("@rebirthaward" +rebirthcount ))) > 0) || (@zenyrew[rebirthcount] > 0))){
mes "^ff0000[Rebirth Master]^000000";
mes "On the next rebirth you'll get following items as reward:";
if ((getarraysize(getd("@rebirthaward" +rebirthcount ))) > 0){
for (set @count, 0; @count < getarraysize(getd("@rebirthaward" +rebirthcount )); set @count, @count + 1){
mes getd("@awardamount" +rebirthcount +"["+@count+"]") + " " +getitemname(getd("@rebirthaward" +rebirthcount +"["+@count+"]"));
}
}
if (@zenyrew[rebirthcount] > 0){
mes @zenyrew[rebirthcount]+" Zeny";
}
next;
}
if ((@enablerebgsnin==1) && (BaseLevel >= @rebirthlevelgsnin)) goto L_sure;
if ((BaseLevel < @rebirthlevel) || (JobLevel < 120)) goto L_cantCh;
if (@enablereblimit==1){
if (rebirthcount == @rebirthlimit) goto L_Chtoooften;
}
L_sure:
//Requirements check
if (@enablereqs==1){
for (set @count, 0; @count < getarraysize(getd("@itemreqs" +rebirthcount )); set @count, @count + 1){
if (countitem(getd("@itemreqs" +rebirthcount +"["+@count+"]")) < getd("@reqamount" +rebirthcount +"["+@count+"]")){
goto L_noitems;
}
}
}
//Zeny requirements
if (@enablezenyreqs == 1){
if (Zeny < @zenyreqs[rebirthcount]) goto L_noitems;
}
mes "^ff0000[Rebirth Master]^000000";
mes "Do you want to be reborn?";
next;
mes "Are you SURE that you want to become a High Novice?";
menu "No",L_quit,"Yes",-;
L_jchange:
if (@enablereqs==1){
for (set @count, 0; @count < getarraysize(getd("@itemreqs" +rebirthcount )); set @count, @count + 1){
set @item,getd("@itemreqs" +rebirthcount +"["+@count+"]");
set @amount,getd("@reqamount" +rebirthcount +"["+@count+"]");
delitem @item,@amount;
}
set @item, 0;
set @amount, 0;
}
//Zeny requirements
if (@enablezenyreqs == 1){
set Zeny,Zeny-@zenyreqs[rebirthcount];
}
if (rebirthcount == 0) set lastJob, readparam(19);
jobchange Job_Novice_High;
resetlvl(1);
//Item Reward
if(@enablerewards==1){
mes "^ff0000[Rebirth Master]^000000";
mes "Congratulations. I will now give you your rewards.";
next;
for(set @count, 0; @count < getarraysize(getd("@rebirthaward" +rebirthcount )); set @count, @count + 1){
if(checkweight(getd("@rebirthaward" +rebirthcount+ "["+ @count +"]"),getd("@awardamount" +rebirthcount+ "["+ @count +"]")) == 0){
set itemsleft,itemsleft+1;
set getd("rebirthawardsitems"+itemsleft),getd("@rebirthaward" +rebirthcount+ "["+ @count +"]");
set getd("rebirthawardsamount"+itemsleft),getd("@awardamount" +rebirthcount+ "["+ @count +"]");
mes "You can't carry "+getd("rebirthawardsamount"+itemsleft)+" "+getitemname(getd("@awardamount" +rebirthcount+ "["+ @count +"]"));
} else {
getitem getd("@rebirthaward" +rebirthcount+ "["+ @count +"]"),getd("@awardamount" +rebirthcount+ "["+ @count +"]");
}
}
set @count,0;
}
//Zeny Reward
if (@enablezenyrew == 1){
set Zeny, Zeny+@zenyrew[rebirthcount];
}
if((rebirthcount < @rebirthbonuses) && ($@enablebonus==1)){
set StatusPoint,StatusPoint+(rebirthcount*@rebirthbonus);
set rebirthcount,rebirthcount+1;
}
else {
set StatusPoint,StatusPoint+(rebirthcount*@rebirthbonus);
}
skill 142,1,0;
skill 143,1,0;
if (itemsleft > 0){
next;
mes "^ff0000[Rebirth Master]^000000";
mes "I still have some Items for you.";
mes "I'll give them to you as soon as you can carry them.";
close;
}
mes "^ff0000[Rebirth Master]^000000";
mes "You are now reborn.";
mes "Please come again soon.";
close;
// Giving Platinum Skills
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;
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_quit:
close;
L_getlater:
mes "^ff0000[Rebirth Master]^000000";
mes "Alright...but don't forget it!";
close;
// Errors
L_cantCh:
mes "^ff0000[Rebirth Master]^000000";
mes "I'm sorry, you do not meet the requirements to change";
mes "Please come again soon!";
close;
L_skillUsed:
mes "^ff0000[Rebirth Master]^000000";
mes "I'm sorry, please use up all your skill points before changing jobs";
mes "Please come again soon!";
close;
L_notEn:
mes "^ff0000[Rebirth Master]^000000";
mes "I'm sorry, you do not seem to have enough Job Levels";
mes "Please come again soon!";
close;
L_notSup:
mes "^ff0000[Rebirth Master]^000000";
mes "I'm sorry, you do not seem to have enough Base Levels";
mes "Please come again soon!";
close;
L_remove:
mes "^ff0000[Rebirth Master]^000000";
mes "Please remove your cart,falcon or peco";
mes "Please come again soon!";
close;
L_Chtoooften:
mes "^ff0000[Rebirth Master]^000000";
mes "Sorry but you were reborn too often.";
mes "You can't be reborn more than "+@rebirthlimit+" times.";
close;
L_noitems:
mes "^ff0000[Rebirth Master]^000000";
mes "Sorry, but to be reborn you will need following items:";
if (@enablereqs == 1){
for (set @count, 0; @count < getarraysize(getd("@itemreqs" +rebirthcount )); set @count, @count + 1){
mes getd("@reqamount" +rebirthcount +"["+@count+"]") + " " +getitemname(getd("@itemreqs" +rebirthcount +"["+@count+"]"));
}
}
if (@enablezenyreqs == 1){
mes @zenyreqs[rebirthcount]+" Zenys.";
}
close;
}
function script getposjob {
//return(-3): Cart/Falcon/Peco has to be removed first
//return(-2): skills not used
//return(-1): Can't change
//return(1): change to first class
//return(2): go to L_changejob
//return(3): rebirth
// Check if they are allowed to change job
if(SkillPoint != 0) return(-2);
if(Class == Job_Novice) return(1);
//Check for carts/falcon/pecopeco
if(checkfalcon() || checkcart() || checkriding()) return(-3);
//Check if they can be reborn
if((Class >=Job_Knight) && (Class <=Job_Dancer) || ((class ==Job_Gunslinger) || (class ==Job_Ninja))){ //check for re-rebirth of GS/Ninja is needed
if(@enablerebirths != 1) return(-1);
if ((class ==Job_Gunslinger) || (class ==Job_Ninja)) {
if(@enablerebgsnin != 1) return(-1);
}
if(Upper == 1 && Class >= Job_Lord_Knight) return(-1);
}
return(3);
//What Class they can be (sets jobarrays)
//@jobnames$: holds the jobnames
//@jobnums: holds the jobnumbers
//Check if they can change to High Classes
if(Class ==Job_Novice_High){
set @minjoblvl, @minjadv;
set @minbaselvl, @minbadv;
if((lastJob ==Job_Knight) || (lastJob ==Job_Crusader)) {
setarray @jobnames$[0],"Swordsman High";
setarray @jobnums[0],Job_Swordsman_High;
}
if((lastJob ==Job_Wizard) || (lastJob ==Job_Sage)) {
setarray @jobnames$[0],"Mage High";
setarray @jobnums[0],Job_Mage_High;
}
if((lastJob ==Job_Hunter) || (lastJob ==Job_Bard) || (lastJob ==Job_Dancer)) {
setarray @jobnames$[0],"Archer High";
setarray @jobnums[0],Job_Archer_High;
}
if((lastJob ==Job_Priest) || (lastJob ==Job_Monk)) {
setarray @jobnames$[0],"Acolyte High";
setarray @jobnums[0],Job_Acolyte_High;
}
if((lastJob ==Job_Blacksmith) || (lastJob ==Job_Alchem)) {
setarray @jobnames$[0],"Merchant High";
setarray @jobnums[0],Job_Merchant_High;
}
if((lastJob ==Job_Assassin) || (lastJob ==Job_Rogue)) {
setarray @jobnames$[0],"Thief High";
setarray @jobnums[0],Job_Thief_High;
}
if(lastJob ==Job_Gunslinger) {
setarray @jobnames$[0],"Gunslinger";
setarray @jobnums[0],Job_Gunslinger;
}
if(lastJob ==Job_Ninja) {
setarray @jobnames$[0],"Ninja";
setarray @jobnums[0],Job_Ninja;
}
if((lastjob ==Job_Taekwon) || (lastjob ==Job_Star_Gladiator) || (lastjob ==Job_Star_Gladiator2) || (lastjob ==Job_Soul_Linker)) {
setarray @jobnames$[0],"Taekwon";
setarray @jobnums[0],Job_Taekwon;
}
return(2);
}
//Check what class they can be
if((Class >=Job_Novice) && (Class <=Job_Knight)) {
set @minjoblvl, @minjsec;
set @minbaselvl, @minbsec;
if(Class ==Job_Swordman) {
setarray @jobnames$[0],"Knight","Crusader";
setarray @jobnums[0],Job_Knight,Job_Crusader;
}
if(Class ==Job_Mage) {
setarray @jobnames$[0],"Wizard","Sage";
setarray @jobnums[0],Job_Wizard,Job_Sage;
}
if((sex == 1) && (Class ==Job_Archer)) {
setarray @jobnames$[0],"Hunter","Bard";
setarray @jobnums[0],Job_Hunter,Job_Bard;
}
if((sex == 0) && (Class ==Job_Archer)) {
setarray @jobnames$[0],"Hunter","Dancer";
setarray @jobnums[0],Job_Hunter,Job_Dancer;
}
if(Class ==Job_Acolyte) {
setarray @jobnames$[0],"Priest","Monk";
setarray @jobnums[0],Job_Priest,Job_Monk;
}
if(Class ==Job_Merchant) {
setarray @jobnames$[0],"Blacksmith","Alchemist";
setarray @jobnums[0],Job_Blacksmith,Job_Alchemist;
}
if(Class ==Job_Thief) {
setarray @jobnames$[0],"Assassin","Rogue";
setarray @jobnums[0],Job_Assassin,Job_Rogue;
}
if((Class ==Job_Taekwon) && (@enableTaekwon == 1)) {
setarray @jobnames$[0],"Soul Linker","Star Gladiator";
setarray @jobnums[0],Job_Soul_Linker,Job_Star_Gladiator;
}
return(2);
}
//Check to what second class they change after rebirth
if(lastjob && Class > Job_Novice_High) {
set @minjoblvl, @minjadvsec;
set @minbaselvl, @minbadvsec;
if(lastJob ==Job_Knight) {
setarray @jobnames$[0],"Lord Knight";
setarray @jobnums[0],Job_Lord_Knight;
}
if(lastJob ==Job_Crusader) {
setarray @jobnames$[0],"Paladin";
setarray @jobnums[0],Job_Paladin;
}
if(lastJob ==Job_Wizard) {
setarray @jobnames$[0],"High Wizard";
setarray @jobnums[0],Job_High_Wizard;
}
if(lastJob ==Job_Sage) {
setarray @jobnames$[0],"Professor";
setarray @jobnums[0],Job_Professor;
}
if(lastJob ==Job_Hunter) {
setarray @jobnames$[0],"Sniper";
setarray @jobnums[0],Job_Sniper;
}
if(lastJob ==Job_Bard) {
setarray @jobnames$[0],"Clown";
setarray @jobnums[0],Job_Clown;
}
if(lastJob ==Job_Dancer) {
setarray @jobnames$[0],"Gypsy";
setarray @jobnums[0],Job_Gypsy;
}
if(lastJob ==Job_Priest) {
setarray @jobnames$[0],"High Priest";
setarray @jobnums[0],Job_High_Priest;
}
if(lastJob ==Job_Monk) {
setarray @jobnames$[0],"Champion";
setarray @jobnums[0],Job_Champion;
}
if(lastJob ==Job_Blacksmith) {
setarray @jobnames$[0],"Whitesmith";
setarray @jobnums[0],Job_whitesmith;
}
if(lastJob ==Job_Alchemist) {
setarray @jobnames$[0],"Creator";
setarray @jobnums[0],Job_Creator;
}
if(lastJob ==Job_Assassin) {
setarray @jobnames$[0],"Assassin Cross";
setarray @jobnums[0],Job_Assassin_Cross;
}
if(lastJob ==Job_Rogue) {
setarray @jobnames$[0],"Stalker";
setarray @jobnums[0],Job_Stalker;
}
if(lastJob ==Job_Star_Gladiator) {
setarray @jobnames$[0],"Star Gladiator";
setarray @jobnums[0],Job_Star_Gladiator;
}
if(lastJob ==Job_Star_Gladiator2) {
setarray @jobnames$[0],"Star Gladiator";
setarray @jobnums[0],Job_Star_Gladiator2;
}
if(lastJob ==Job_Soul_Linker) {
setarray @jobnames$[0],"Soul Linker";
setarray @jobnums[0],Job_Soul_Linker;
}
return(2);
}
return(-1);
}
//Reset NPC for Athena by Script&DB Team
//Editation by Terces
prontera.gat,149,194,5 script Reset Girl 123,{
mes "[Reset Girl]";
mes "I am a Reset Girl.";
if ($@enablestatreset == 1){
mes "Reset Stats: " + $@resetfees[0];
}
if ($@enableskillreset == 1){
mes "Reset Skills: " + $@resetfees[1];
}
if ($@enablebothreset == 1){
mes "Reset Both: " + $@resetfees[2];
}
next;
mes "[Reset Girl]";
mes "Please select the service you want:";
if($@enablestatreset == 1){
if ($@enableskillreset == 1){
if ($@enablebothreset == 1){
if(select("Stats","Skills","Both") == 0) end;
} else {
if(select("Stats","Skills") == 0) end;
}
} else if ($@enablebothreset == 1) {
if(select("Stats","Both") == 0) end;
} else {
if(select("Stats") == 0) end;
}
} else if ($@enableskillreset == 1){
if ($@enablebothreset == 1){
if(select("Skills","Both") == 0) end;
} else {
if(select("Skills") == 0) end;
}
} else {
if(select("Both") == 0) end;
}
if ((@menu == 1) && ($@enablestatreset == 1)) set @reset,0;
if ((@menu == 1) && ($@enablestatreset != 1) && ($@enableskillreset == 1)) set @reset,1;
if ((@menu == 2) && ($@enableskillreset == 1)) set @reset,1;
else set @reset,2;
if (Zeny < $@resetfees[@reset]) goto NeedZenys;
mes "[Reset Girl]";
mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!";
set Zeny,zeny-$@resetfees[@reset];
if (@reset == 0) {
ResetStatus;
if($@enablebonus==1) set StatusPoint,StatusPoint+(rebirthcount*@rebirthbonus);
}
if (@reset == 1) ResetSkill;
if (@reset == 2) {
ResetStatus;
ResetSkill;
if($@enablebonus==1) set StatusPoint,StatusPoint+(rebirthcount*@rebirthbonus);
}
close;
NeedZenys:
mes "Sorry, you don't have enough Zeny.";
close;
LEnd:
close;
}
Edited by Emistry Please use [CODEBOX] or Attachments for long contents.
Question
pointro
I am trying this rebirth system on my Server but it seems that it doesn't work properly.
I try to rebirth then when I change my job, the job master tells me if I want to change in to UNKOWN CLASS. We'll this script is from eAthena I think and I need to use for my server and It uses rAthena.
Anyways, my new Idea is when I rebirth my character, only the level will rebirth and character job will not be high class again.
here is the script:
Edited by EmistryPlease use [CODEBOX] or Attachments for long contents.
Link to comment
Share on other sites
0 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.