Jump to content
iraciz

*NEW* QUEST SKILL - EQUIPMENT SWAP - SKILL BUTTON

Recommended Posts

Posted (edited)

Hello dear members, it has been a long time since my last login here, and I came back with my recent customization, it's damm good, that once finished in my test server confirmed that was 100% functional, with and with no issues , I decided to share....

This Skill provides the same function than the equipment swap tab, but instead of opening the inventory and aim with the cursor to the "change" button!, you can do the same even faster, with a custom skill icon and just one tip of your finger.  preview

***------- Trunk Side -------***

1- Go to your skill_db.txt and make sure to find the skill #5067.  If you are using pre-renewal config, you may export the bellow skill line to the pre-re/skill_db.txt file instead.

5067,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0,0x0,            ALL_EQSWITCH,Equip Switch

2- Now that the skill is implemented, you need to add the timers in the db file skill_cast_db.txt, this can´t be ignored, you may add the skill line.  I gave the skill 10 seconds cooldown, but you can do it at your like.

//-- ALL_EQSWITCH
5067,0,0,0,0,0,10000

3- Most important part,  can´t be ignored,  add  the skill line for every job in the   skill_tree.txt   file. just like this:

//Novice
0,5067,1,0,0,0,0,0,0,0,0,0,0 //-- ALL_EQSWITCH#Equip Switch#

//Swordman
1,5067,1,0,0,0,0,0,0,0,0,0,0 //-- ALL_EQSWITCH#Equip Switch#

//Magician
2,5067,1,0,0,0,0,0,0,0,0,0,0 //-- ALL_EQSWITCH#Equip Switch#

//Archer
3,5067,1,0,0,0,0,0,0,0,0,0,0 //-- ALL_EQSWITCH#Equip Switch#

And keep going until you add the skill to every job available in your server. (watch out the job# id, for the copy paste, don´t forget to add the correct number).

 

***------- Client Side --------***

- You need the icon sprites for the skill and the item bmp, you can make a prettier one, in my case I recycled Taekwon skill icon Counter Kick Stance and recolored.

You will find it attached, well,  This .spr and .act files must be added inside the drop sprite folder  the route is:   data/sprite/¾ÆÀÌÅÛ

ALL_EQSWITCH.act

ALL_EQSWITCH.spr

- Now for dragging the skill icon from the skill tab, you need the item bmp, also attached, and It has to be added inside the item folder. The route is:

\data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\item

ALL_EQSWITCH.bmp

---EDITING THE LUAS---

- The very first thing we are going to edit is the skilltreeview.lub
this file is found inside the skillinfoz folder at this route: \data\luafiles514\lua files\skilltreeview.lub 

Please only add the skill for the novice tree, watch out the key and please note that there is not comma at the last line added skill, if you wonder about the #41 is the bottom right corner penultimate slot in the alt+s skill tab. 

SKILL_TREEVIEW_FOR_JOB = {
    [JOBID.JT_NOVICE] = {
        [0] = SKID.NV_BASIC,
        [7] = SKID.NV_FIRSTAID,
        [14] = SKID.NV_TRICKDEAD,
        [41] = SKID.ALL_EQSWITCH
    },

- Second Step editing the luas belongs to the file skillid.lub  
this file is found inside the skillinfoz folder at this route: \data\luafiles514\lua files\skillinfoz 

And you have to add the skill  ALL_EQSWITCH = 5067

Example:

    WE_CALLALLFAMILY = 5063,
    WE_ONEFOREVER = 5064,
    WE_CHEERUP = 5065,
    ALL_EQSWITCH = 5067,

- Third step for the luas, the skilldescript.lub
This file is located in \data\luafiles514\lua files\skilldescript.lub

In this file you have to create a description for the new skill implemented in this case the ALL_EQSWITCH
This is an example of mine, watch out the keys and the commas, you can make a good description with your own taste.:

    [SKID.ALL_PRONTERA_RECALL] = {
        "Return to Prontera",
        "Max Level: 2",
        "Skill Form: ^339900Supportive^000000",
        "Description: ^777777Teleport to Prontera, 15 minutes after use delay.^000000"
    },
    [SKID.ALL_EQSWITCH] = {
        "Switch Equipment",
        "Max Level: 1",
        "^CC3399Requirement: Finish Quest^000000",
        "Skill Form: ^339900Active^000000",
        "Target: ^777777Self^000000",
        "Description: ^777777Swap you actual equipment with the one placed in the alternative equip tab.^000000"
    },

    [SKID.ALL_THANATOS_RECALL] = {
        "Return to Thanatos",
        "Max Level: 1",
        "Skill Form: ^339900Supportive^000000",
        "Description : ^777777Teleport to Thanatos, 5 minutes after use delay.^000000"
    },

- Finally the Last Step and most most most important, the skillinfolist.lub
This file is located in \data\luafiles514\lua files\skillinfolist.lub

We have to add the new skill to this file, EXAMPLE:

       [SKID.ALL_GLASTHEIM_RECALL] = {
        "ALL_GLASTHEIM_RECALL",
        SkillName = "Return to Glastheim",
        MaxLv = 1,
        SpAmount = { 0 },
        bSeperateLv = false,
        AttackRange = { 1 }
    },
    [SKID.ALL_EQSWITCH] = {
        "ALL_EQSWITCH",
        SkillName = "Equip Switch",
        MaxLv = 1,
      
 Type = "Quest",
        SpAmount = { 0 },
        bSeperateLv = false,
        AttackRange = { 1 }
    }

}

- In this case I added the skill at the last in the bottom, so you watch out the keys and the commas placed properly to avoid client side error, 
VERY VERY VERY IMPORTANT, you see the Type = "Quest" bold in green? Please, do not ignore that line, ... That line is very very important, and the client use that line, to avoid investing job skill points in that quest skill. 

Now, for getting the skill active, you can edit the npc global funcion and add it to the platinium skills: 

in your trunk/npc/other/Global_Functions.txt

Example:

//////////////////////////////////////////////////////////////////////////////////
// Gives attached player their Platinum Skill based on their class.
//////////////////////////////////////////////////////////////////////////////////
function    script    F_GetPlatinumSkills    {
    skill "NV_FIRSTAID",1,SKILL_PERM;
    skill "ALL_EQSWITCH",1,SKILL_PERM;

or make your own script to get the skill permantent.

 

Now The Testing In Game:

 

OPTION 2:

For Experienced Users, if you want to save hours on this....  just go to the shortcut settings and add a shortcut to replace equip.

erfr.jpg.771e18bad7d7ce98a2b96aeb342f65f7.jpg

 

 

 

 

Edited by iraciz
adding a video preview
  • Upvote 6

Share this post


Link to post
Share on other sites
On 3/15/2020 at 8:14 AM, iraciz said:

Hello dear members, it has been a long time since my last login here, and I came back with my recent customization, it's damm good, that once finished in my test server confirmed that was 100% functional, with and with no issues , I decided to share....

This Skill provides the same function than the equipment swap tab, but instead of opening the inventory and aim with the cursor to the "change" button!, you can do the same even faster, with a custom skill icon and just one tip of your finger.  preview

***------- Trunk Side -------***

1- Go to your skill_db.txt and make sure to find the skill #5067.  If you are using pre-renewal config, you may export the bellow skill line to the pre-re/skill_db.txt file instead.

5067,0,6,4,0,0x1,0,1,1,no,0,0x1,0,none,0,0x0,            ALL_EQSWITCH,Equip Switch

2- Now that the skill is implemented, you need to add the timers in the db file skill_cast_db.txt, this can´t be ignored, you may add the skill line.  I gave the skill 10 seconds cooldown, but you can do it at your like.

//-- ALL_EQSWITCH
5067,0,0,0,0,0,10000

3- Most important part,  can´t be ignored,  add  the skill line for every job in the   skill_tree.txt   file. just like this:

//Novice
0,5067,1,0,0,0,0,0,0,0,0,0,0 //-- ALL_EQSWITCH#Equip Switch#

//Swordman
1,5067,1,0,0,0,0,0,0,0,0,0,0 //-- ALL_EQSWITCH#Equip Switch#

//Magician
2,5067,1,0,0,0,0,0,0,0,0,0,0 //-- ALL_EQSWITCH#Equip Switch#

//Archer
3,5067,1,0,0,0,0,0,0,0,0,0,0 //-- ALL_EQSWITCH#Equip Switch#

And keep going until you add the skill to every job available in your server. (watch out the job# id, for the copy paste, don´t forget to add the correct number).

 

***------- Client Side --------***

- You need the icon sprites for the skill and the item bmp, you can make a prettier one, in my case I recycled Taekwon skill icon Counter Kick Stance and recolored.

You will find it attached, well,  This .spr and .act files must be added inside the drop sprite folder  the route is:   data/sprite/¾ÆÀÌÅÛ

ALL_EQSWITCH.act 116 B · 5 downloads

ALL_EQSWITCH.spr 1.62 kB · 5 downloads

- Now for dragging the skill icon from the skill tab, you need the item bmp, also attached, and It has to be added inside the item folder. The route is:

\data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\item

ALL_EQSWITCH.bmp 1.62 kB · 5 downloads

---EDITING THE LUAS---

- The very first thing we are going to edit is the skilltreeview.lub
this file is found inside the skillinfoz folder at this route: \data\luafiles514\lua files\skilltreeview.lub 

Please only add the skill for the novice tree, watch out the key and please note that there is not comma at the last line added skill, if you wonder about the #41 is the bottom right corner penultimate slot in the alt+s skill tab. 

SKILL_TREEVIEW_FOR_JOB = {
    [JOBID.JT_NOVICE] = {
        [0] = SKID.NV_BASIC,
        [7] = SKID.NV_FIRSTAID,
        [14] = SKID.NV_TRICKDEAD,
        [41] = SKID.ALL_EQSWITCH
    },

- Second Step editing the luas belongs to the file skillid.lub  
this file is found inside the skillinfoz folder at this route: \data\luafiles514\lua files\skillinfoz 

And you have to add the skill  ALL_EQSWITCH = 5067

Example:

    WE_CALLALLFAMILY = 5063,
    WE_ONEFOREVER = 5064,
    WE_CHEERUP = 5065,
    ALL_EQSWITCH = 5067,

- Third step for the luas, the skilldescript.lub
This file is located in \data\luafiles514\lua files\skilldescript.lub

In this file you have to create a description for the new skill implemented in this case the ALL_EQSWITCH
This is an example of mine, watch out the keys and the commas, you can make a good description with your own taste.:

    [SKID.ALL_PRONTERA_RECALL] = {
        "Return to Prontera",
        "Max Level: 2",
        "Skill Form: ^339900Supportive^000000",
        "Description: ^777777Teleport to Prontera, 15 minutes after use delay.^000000"
    },
    [SKID.ALL_EQSWITCH] = {
        "Switch Equipment",
        "Max Level: 1",
        "^CC3399Requirement: Finish Quest^000000",
        "Skill Form: ^339900Active^000000",
        "Target: ^777777Self^000000",
        "Description: ^777777Swap you actual equipment with the one placed in the alternative equip tab.^000000"
    },

    [SKID.ALL_THANATOS_RECALL] = {
        "Return to Thanatos",
        "Max Level: 1",
        "Skill Form: ^339900Supportive^000000",
        "Description : ^777777Teleport to Thanatos, 5 minutes after use delay.^000000"
    },

- Finally the Last Step and most most most important, the skillinfolist.lub
This file is located in \data\luafiles514\lua files\skillinfolist.lub

We have to add the new skill to this file, EXAMPLE:

       [SKID.ALL_GLASTHEIM_RECALL] = {
        "ALL_GLASTHEIM_RECALL",
        SkillName = "Return to Glastheim",
        MaxLv = 1,
        SpAmount = { 0 },
        bSeperateLv = false,
        AttackRange = { 1 }
    },
    [SKID.ALL_EQSWITCH] = {
        "ALL_EQSWITCH",
        SkillName = "Equip Switch",
        MaxLv = 1,
      
 Type = "Quest",
        SpAmount = { 0 },
        bSeperateLv = false,
        AttackRange = { 1 }
    }

}

- In this case I added the skill at the last in the bottom, so you watch out the keys and the commas placed properly to avoid client side error, 
VERY VERY VERY IMPORTANT, you see the Type = "Quest" bold in green? Please, do not ignore that line, ... That line is very very important, and the client use that line, to avoid investing job skill points in that quest skill. 

Now, for getting the skill active, you can edit the npc global funcion and add it to the platinium skills: 

in your trunk/npc/other/Global_Functions.txt

Example:

//////////////////////////////////////////////////////////////////////////////////
// Gives attached player their Platinum Skill based on their class.
//////////////////////////////////////////////////////////////////////////////////
function    script    F_GetPlatinumSkills    {
    skill "NV_FIRSTAID",1,SKILL_PERM;
    skill "ALL_EQSWITCH",1,SKILL_PERM;

or make your own script to get the skill permantent.

 

Now The Testing In Game:

 

 

don't modify SRC ?

Share this post


Link to post
Share on other sites
10 hours ago, coperation said:

don't modify SRC ?

Not! Just do what he taught.

image.png.f53fbb6a665879a28e1680e4de3adbb6.png

 

Share this post


Link to post
Share on other sites

Good day sirs, please note that, if you are using recent rathena revisions,  the skill already exist in skill_db.yml

because of this, the step 1 and 2 are not neccesary and can be skipped from this guide.

  - Id: 5067
    Name: ALL_EQSWITCH
    Description: Equip Switch
    MaxLevel: 1
    TargetType: Self
    DamageFlags:
      NoDamage: true
    Cooldown: 2000
    CastTimeFlags:
      IgnoreDex: true
      IgnoreStatus: true
      IgnoreItemBonus: true
    CastDelayFlags:
      IgnoreDex: true
      IgnoreStatus: true
      IgnoreItemBonus: true

 

Share this post


Link to post
Share on other sites

Awesome guide! thank you for this @iraciz it is possible that this skill can be a quest skill before the player can use it.

Share this post


Link to post
Share on other sites

Actually it does,

skill points can't be spent on this skill because is already flagged as quest skill, the only way to get hte skill active is via this script command:

 

skill "ALL_EQSWITCH",1,SKILL_PERM;

 

Share this post


Link to post
Share on other sites

HI, i did everything and the skill is in server and working, but when i create a novice the basic skills got an issue that make it grow higher than lv 9 and no skillpoint r used to up skill, any help?

Share this post


Link to post
Share on other sites

There's already a BM shortcut for this under shortcut settings. Unless you dont want that ehich is much easier to use than this.

Share this post


Link to post
Share on other sites
On 4/20/2020 at 10:54 AM, hannicaldummy said:

HI, i did everything and the skill is in server and working, but when i create a novice the basic skills got an issue that make it grow higher than lv 9 and no skillpoint r used to up skill, any help?

skillinfolist.lua

    [SKID.ALL_EQSWITCH] = {
        "ALL_EQSWITCH",
        SkillName = "Equip Switch",
        MaxLv = 1,
        Type = "Quest",
        SpAmount = { 0 },
        bSeperateLv = false,
        AttackRange = { 1 }
    }

 

On 4/21/2020 at 1:47 PM, Haruka Mayumi said:

There's already a BM shortcut for this under shortcut settings. Unless you dont want that ehich is much easier to use than this.

found It

erfr.jpg.6252144ee486e9b26a95d3fae2a575b4.jpg

Share this post


Link to post
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
Reply to this topic...

×   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...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.