Difference between revisions of "Custom jobs"

From Hercules Wiki
Jump to: navigation, search
(Created page with "How?")
 
(<replacetext_editsummary>)
 
(2 intermediate revisions by one user not shown)
Line 1: Line 1:
How?
+
[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 {{git|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 {{git|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 {{git|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 {{git|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 {{git|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 {{git|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 {{git|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 [http://herc.ws/board/topic/1974-release-custom-job-custom-shield-patches/ Custom Job Patch by Neo]
 +
 
 +
[[Category:Customization]]
 +
[[Category:Source Snippets]]

Latest revision as of 12:45, 25 April 2016

[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