Dastgir 1244 Posted October 24, 2014 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 11 - Mariel, Nebraskka, Prourhildr and 8 others reacted to this Quote Share this post Link to post Share on other sites
milk 8 Posted October 24, 2014 Good job, thanks! Quote Share this post Link to post Share on other sites
GmOcean 92 Posted October 24, 2014 Awesome, I've been looking around for one of these. Now I don't have to memorize the process. Just click->search-> read lol. More space in my tiny head to do other things now =P Quote Share this post Link to post Share on other sites
Mhalicot 392 Posted October 24, 2014 Thanks for sharing, Is it possible to include your guide in Hercules WIKI? Quote Share this post Link to post Share on other sites
stiflerxx 2 Posted November 9, 2014 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; "> }, ? Quote Share this post Link to post Share on other sites
Zirius 1 Posted January 11, 2015 (edited) Do I need to put somewhere in itemdb to make the status icon appear after using an item, example Cursed Water? Edited January 11, 2015 by Zirius Quote Share this post Link to post Share on other sites
malufett 247 Posted January 11, 2015 @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... 1 Zirius reacted to this Quote Share this post Link to post Share on other sites
Chatterboy 8 Posted March 28, 2015 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) Quote Share this post Link to post Share on other sites
Dastgir 1244 Posted March 29, 2015 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 . Quote Share this post Link to post Share on other sites
Anisotropic Defixation 18 Posted April 1, 2015 (edited) Hmm, it seems like some status icons are hardcoded? Cloaking exceed is using a wrong icon (poison smoke) but changing it absolutely doesn't work. Edited April 1, 2015 by Anisotropic Defixation Quote Share this post Link to post Share on other sites
caspe 16 Posted June 27, 2017 Hello @Dastgir i'm trying to make status icon for Energency Call delay Like this But how can i trigger it? Quote Share this post Link to post Share on other sites
caspe 16 Posted June 29, 2017 Hello can u help..... Quote Share this post Link to post Share on other sites
Dastgir 1244 Posted August 2, 2018 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.. Did you add 1006i.tga? What's the problem? Quote Share this post Link to post Share on other sites
Strow 2 Posted April 18, 2020 I cannot replicate the examples in the current emulator. 1 Tome130 reacted to this Quote Share this post Link to post Share on other sites
Tome130 1 Posted August 30, 2020 Bump we need an update on this guide Quote Share this post Link to post Share on other sites
Ventura 0 Posted September 10, 2020 hello, how can i add custom icon status to paladin Gospel buffs? Quote Share this post Link to post Share on other sites
Daraen 7 Posted April 9, 2021 @Dastgir This guide is out of date, is it possible to have an update? Quote Share this post Link to post Share on other sites
Fizik 2 Posted August 5, 2022 Hi, Anyone can tell about updated version )) I'm tried all what i can... but Nothing I'm tried with RA... and all it's ok. So in client i haven't any problem... But In server i can't find all what writed on Guide... Anyone help please) Quote Share this post Link to post Share on other sites