Jump to content

Recommended Posts

Awesome, I've been looking around for one of these. Now I don't have to memorize the process. Just click->search-> read :D lol. More space in my tiny head to do other things now =P

Share this post


Link to post
Share on other sites

Hello Hercules Community,

Here's a Guide to Add a New Custom Status Icons(the one displayed on the right)

 

 

What you Need?

  • Knowledge of Editing and Compiling Server(and ofcourse custom icons)

 

1) Server Side Edits:

open

src/map/status.h

 

Find

 

SC_MAX 

Add Before

 

SC_MYCUSTOMBUTTON,

 

 

Find

SI_MAX,

Add Before

 

SI_MYCUSTOMBUTTON = ID_OF_BUTTON,

(ID of Button can be any, but I suggest to have them > 2000, so not to avoid any updates with kRO(which is at 900) now)

P.S: Remember that ID_OF_BUTTON, we gonna need them later.

 

 

src/map/status.c

Find

status->IconChangeTable[SC_DECORATION_OF_MUSIC] = SI_DECORATION_OF_MUSIC;

Add Below

status->IconChangeTable[SC_MYCUSTOMBUTTON] = SI_MYCUSTOMBUTTON;

 

Recompile 

 

2) ClientSide Edits

Get a CleanCopy of statusicon folder (https://github.com/ROClientSide/Translation/tree/master/Data/luafiles514/lua%20files/stateicon)

 

Open efstids.lub

Find:

__newindex = function()error("unknown state")

Before it add,

 

EFST_MYCUSTOMBUTTON = ID_OF_BUTTON, 

P.S: ID_OF_BUTTON should match the one on source(status.h)

 

 

Open  stateiconinfo.lub

Find

 

StateIconList[EFST_IDs.EFST_JUMPINGCLAN] = { 

Add Before

StateIconList[EFST_IDs.EFST_MYCUSTOMBUTTON] = {  haveTimeLimit = 1,  posTimeLimitStr = 2,  descript = {    {      "My Custom Button Heading",      COLOR_TITLE_BUFF    },    {"%s", COLOR_TIME},	--do not edit this, this shows time remaining    {      "Description 1"    },    {      "Description 2"    },	{      "Description 3"    }  }}

Open

stateiconimginfo.lua

Find

 

[PRIORITY_GOLD] = {

OR

[PRIORITY_RED] = { 

OR

[PRIORITY_BLUE] = { 

OR

[PRIORITY_GREEN] = { 

OR

[PRIORITY_WHITE] = { 

(Depending on what background your Custom Button is)

Add below

 

[EFST_IDs.EFST_MYCUSTOMBUTTON] = "MYCUSTOMBUTTONFILE.TGA", 

P.S: Your Button File must be in .TGA form only.

.tga file must go to data/texture/effect/ Folder

 

And Its DONE!!!

 

NOTE: Replace MYCUSTOMBUTTON with your own Icon/Effect Name

where I went wrong?

 

status.c
status->IconChangeTable[sC_DECORATION_OF_MUSIC] = SI_DECORATION_OF_MUSIC;
status->IconChangeTable[sC_STATUS_CONVERT_AGUA] = SI_STATUS_CONVERT_AGUA;
 
status.h
SI_STATUS_CONVERT_AGUA                   = 2000,
 
SI_MAX,
};
recompiled
data:
efstids.lub:
EFST_AKAITSUKI = 660,
EFST_STATUS_CONVERT_AGUA = 2000,
__newindex = function()
error("unknown state")
end
}
stateiconinfo.lub:
StateIconList[EFST_IDs.EFST_STATUS_CONVERT_AGUA] = {
  haveTimeLimit = 1,
  posTimeLimitStr = 2,
  descript = {
    {"Conversor de água Ativado",COLOR_TITLE_BUFF},
    {"%s", COLOR_TIME},
    {"Bônus contra a propriedade Fogo"},
    {"Penalidade de Dano contra água by:Ravnos"}
  }
}
stateiconimginfo.lub:
PRIORITY_BLUE = {
[EFST_IDs.EFST_STATUS_CONVERT_AGUA] = "STATUSAGUA.TGA"
item_db.conf
{
Id: 12115
AegisName: "Elemental_Water"
Name: "Elemental Converter"
Type: 11
Buy: 2
Weight: 10
BuyingStore: true
Script: <" sc_start SC_STATUS_CONVERT_AGUA,10000,1; itemskill ITEM_ENCHANTARMS,2; ">
},
poatRhL.jpg
?

Share this post


Link to post
Share on other sites

Do I need to put somewhere in itemdb to make the status icon appear after using an item, example Cursed Water?

Edited by Zirius

Share this post


Link to post
Share on other sites

@stiflerxx

you missed something..if you will use the SC statuses to scripts or item you need it to declare in 'db/const' for it to work...

 

@Zirius

yup..or you can use @displaystatus just to test if its really working...

 

:meow:

Share this post


Link to post
Share on other sites

really nice ^_^



how to run in this part:

 

StateIconList[EFST_IDs.EFST_MOVHASTE_INFINITY] = {
 haveTimeLimit = 1, posTimeLimitStr = 1, descript = {
   {"%s", COLOR_TIME},
   {"Increases Movement Speed"}
 }
}
 

Prob: the time doesnt show instead %s only (ingame)

Share this post


Link to post
Share on other sites

really nice ^_^how to run in this part: StateIconList[EFST_IDs.EFST_MOVHASTE_INFINITY] = {  haveTimeLimit = 1, posTimeLimitStr = 1, descript = {    {"%s", COLOR_TIME},    {"Increases Movement Speed"}  }} Prob: the time doesnt show instead %s only (ingame)

First one in descript should always be title, timer can go on 2nd or greater .

Share this post


Link to post
Share on other sites

please help me with this one guys.. i followed all the instructions above.. 

please tell me what's wrong with this..

Untitled.png

Share this post


Link to post
Share on other sites
On 29/07/2018 at 5:36 PM, Quazi said:

please help me with this one guys.. i followed all the instructions above.. 

please tell me what's wrong with this..

Untitled.png

Did you add 1006i.tga?

What's the problem?

Share this post


Link to post
Share on other sites

@Dastgir yes i did.. it's all added in my effect folder.. i clearly check them more than 5 times.. i just don't know why it doesn't appear.. im using 2015-10-29 client.. is it the problem??

please give me some hint on this.. i really don't know why i can't make it to work.. i did all the possible things i know..

Screentshot 1

Screenshot 2

Edited by Quazi

Share this post


Link to post
Share on other sites

I cannot replicate the examples in the current emulator.

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.   Restore formatting

  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.

Loading...

×
×
  • Create New...

Important Information

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