Custom jobs
[Guide] Add Custom Job
On this page, you will be able to learn the steps on how to add your Custom Job. First off:
1. Open the file src/common/mmo.h
Search for the lines:
JOB_SUMMER, JOB_MAX_BASIC,
Then replace it with:
JOB_SUMMER, JOB_BURGLAR= 35, JOB_MAX_BASIC,
Save the file and open src/map/map.h
Search for the lines:
MAPID_NINJA, MAPID_XMAS, MAPID_SUMMER, MAPID_GANGSI,
Then replace it with:
MAPID_NINJA, MAPID_XMAS, MAPID_SUMMER, MAPID_GANGSI, MAPID_BURGLAR = 0x0E,
Save the file and open src/map/itemdb.c
Search for the lines:
if (jobmask & 1<<29) //Kagerou / Oboro bclass[1] |= 1<<MAPID_NINJA;
Then replace it with:
if (jobmask & 1<<29) //Kagerou / Oboro bclass[1] |= 1<<MAPID_NINJA; //items job if (jobmask & 1<<35) bclass[0] |= 1<<MAPID_BURGLAR;
Save the file and open src/map/pc.c
Search for the lines:
case JOB_GANGSI: return MAPID_GANGSI;
Then replace it with:
case JOB_GANGSI: return MAPID_GANGSI; case JOB_BURGLAR: return MAPID_BURGLAR;
Finally search for the lines:
case JOB_SUMMER: return msg_txt(621);
And replace it with:
case JOB_BURGLAR: return msg_txt(700);
Now you have finally modified the src files, once that is done recompile it.
2. Now we need to edit the db files, in order to do that, find the db folder. Once the folder is opened, look for db/const.txt and open it.
Once done, look for the lines:
Job_Gunslinger 24 Job_Ninja 25 Job_Xmas 26 Job_Summer 27
Then replace it with:
Job_Gunslinger 24 Job_Ninja 25 Job_Xmas 26 Job_Summer 27 Job_Burglar 35
Now after that, find the lines that are shown below (The lines are still under const.txt):
EAJ_TAEKWON 0x7 EAJ_GUNSLINGER 0x9 EAJ_NINJA 0x0A EAJ_GANGSI 0x0D
Then replace it with:
EAJ_TAEKWON 0x7 EAJ_GUNSLINGER 0x9 EAJ_NINJA 0x0A EAJ_GANGSI 0x0D EAJ_BURGLAR 0x0E
Once you have finished editing those lines, save it then close.
Now, you will have to look for the txt file named exp.txt in pre-re/ or re/ folder according to the settings in src/config/renewal.h.
Maximum Level Syntax line: 0:1:2:3:4:5:6:7:8:9:10:11:12...
Then replace it with:
Maximum Level Syntax line: 0:1:2:3:4:5:6:7:8:9:10:11:12:35...
In the same file we look for:
your max level,1:2:3:4:5:6:26:4046,1
We need to change to code like this:
your max level,1:2:3:4:5:6:26:4046:35,1
We need to edit job_db1.txt And at the end of everything we need to paste this:
//Burglar 35, 28000,70 ,500 ,200 ,400 ,500 ,550 ,600 ,650 ,700 ,700 ,750 ,650 ,700 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000
This line is the one of the swordman but you can copy any other just changing the first number which is the jobid or if you prefer you can make your own.
Edit the file job_db2.txt At the end:
//Burglar 35,0,1,0,0,0,3,0,0,0,5,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,2,0,0,1,0,0,5,0,3,0
1,0,3,0,6,0,2,1,0,1,1
This line is the Swordsman you can copy any classes job id (first number) or you can make your own
Now it's time to add this skill to skill_tree.txt At the end of everything we put this
//Burglar //REQUIRED 35,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 35,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# //What ever skills you want you can add 35,2,10,0,0,0,0,0,0,0,0,0,0 //SM_SWORD#Sword Mastery# 35,4,10,0,0,0,0,0,0,0,0,0,0 //SM_RECOVERY#Increase HP Recovery# 35,5,10,0,0,0,0,0,0,0,0,0,0 //SM_BASH#Bash# 35,6,10,0,0,0,0,0,0,0,0,0,0 //SM_PROVOKE#Provoke# 35,7,10,5,5,0,0,0,0,0,0,0,0 //SM_MAGNUM#Magnum Break# 35,8,10,6,5,0,0,0,0,0,0,0,0 //SM_ENDURE#Endure# 35,26,2,24,1,0,0,0,0,0,0,0,0 //AL_TELEPORT#Teleport# 35,27,4,26,2,0,0,0,0,0,0,0,0 //AL_WARP#Warp Portal# 35,28,10,0,0,0,0,0,0,0,0,0,0 //AL_HEAL#Heal# 35,33,10,22,3,0,0,0,0,0,0,0,0 //AL_ANGELUS#Angelus# 35,34,10,22,5,0,0,0,0,0,0,0,0 //AL_BLESSING#Blessing# 35,35,1,28,2,0,0,0,0,0,0,0,0 //AL_CURE#Cure# //REQUIRED 35,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby# 35,681,1,0,0,0,0,0,0,0,0,0,0 //ALL_INCCARRY#Enlarge Weight Limit R#
And that's the skill that will take the Job you want to put your job of copying the line you want such as:
//Double Attack Skill 12,48,10,0,0,0,0,0,0,0,0,0,0 //TF_DOUBLE#Double Attack#
And so it is our job so we would have to modify
35,48,10,0,0,0,0,0,0,0,0,0,0 //TF_DOUBLE#Double Attack#
We changed the first number to get the id of our job if you design your own set of skills you can't forget to put these:
35,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 35,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# 35,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby# 35,681,1,0,0,0,0,0,0,0,0,0,0 //ALL_INCCARRY#Enlarge Weight Limit R#
Please refer to adding new skills to add new custom skills.
If you do not put them there will be errors
Next, open the file conf/messages.conf
Look for this:
620: Ninja 621: Summer
And add your custom class before "Summer"
620: Ninja 621: Summer 700: Burglar
And with that ends the server-side modifications.
Client Side:
X-Ray:
first start by editing
Class_tab.txt
Find this
!52 °Ë»ç ¸¶¹ý»ç
Add your custom class
!35 Burglar !52 °Ë»ç ¸¶¹ý»ç
Second edit
imf_tab.txt
Find this
!52 °Ë»ç ¸¶¹ý»ç
Add your custom class
!35 ¼ºÁ÷ÀÚ !52 °Ë»ç ¸¶¹ý»ç
Third edit
reality_dir_tab.txt
Find this
!52 °Ë»ç\\°Ë»ç ¸¶¹ý»ç\\¸¶¹ý»ç
Add your custom class (!35)
!35 ¼ºÁ÷ÀÚ\\¼ºÁ÷ÀÚ !52 °Ë»ç\\°Ë»ç ¸¶¹ý»ç\\¸¶¹ý»ç
Fourth edit
reality_tab.txt
Find this
!52 °Ë»ç ¸¶¹ý»ç
Add your custom class (!35)
!35 ¼ºÁ÷ÀÚ !52 °Ë»ç ¸¶¹ý»ç
Fourth edit
monstrosity_tab.txt
Find this
!47 1_M_01 1_M_02 1_M_03
Add your custom class ()
!35 Burglar !47 1_M_01 1_M_02 1_M_03 1_M_04
Now copy the sprite files that will go on
Male:
sprite\Àΰ£Á·\¸öÅë\³²
Female:
sprite\Àΰ£Á·\¸öÅë\¿©
Male:
Burglar_³².spr Burglar_³².act
Female:
Burglar_¿©.spr Burglar_¿©.act
Ragexe/RagexeRE Clients: Please Refer to Custom Job Patch by Neo