Dubxsion Posted September 21, 2017 Share Posted September 21, 2017 (edited) Hello MaxCheaters, Recently i tried to make new addition to my server, but i once again need your help to get there. I've been searching a lot into client files, about how to change the Grade Icon, or add one to items that doesn't have (ex. Adena) and i found out they are variables into grp files located in system folder. They vary from 1 till 5 as each number represents different grade. 1. D 2.C 3.B 4.A 5.S What i need is , HOW to add new grade ? I don't want to edit the ones that already exist. (I don't need it to be updated into database, where u set item grade so it can be enchanted) so it could work only through client as for the grades i`m gonna use ain't gonna be enchantable items. There's a file symbolname-e that contains numbers/ID's from 101 till 105 for every grade as well as pointed path to its texture / ex. symbol.grade_s / , but that doesn't help me to just add new and change the numbers into grp files. Why? Because at symbolname, ID is 101 and into grp is number from 1-5.... and i`m stuck. Please if u have clue about it, let me know. Edited September 22, 2017 by Dubxsion Quote Link to comment Share on other sites More sharing options...
Dubxsion Posted September 23, 2017 Author Share Posted September 23, 2017 Its sad that nobody knows... Quote Link to comment Share on other sites More sharing options...
GLO Posted September 24, 2017 Share Posted September 24, 2017 //Grade Mark function AddTooltipItemGrade(ItemInfo Item) { local string strTmp; strTmp = GetItemGradeString(Item.CrystalType); if (Len(strTmp)>0) { StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_strText = " "; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_strText = "`" $ strTmp $ "`"; EndItem(); } } interface u -> ToolTip Quote Link to comment Share on other sites More sharing options...
GLO Posted September 24, 2017 Share Posted September 24, 2017 or you can always replace d grade with whatever you are gonna use it for.......... work smarter not harder Quote Link to comment Share on other sites More sharing options...
Dubxsion Posted September 25, 2017 Author Share Posted September 25, 2017 (edited) On 9/24/2017 at 8:05 AM, big man bill said: or you can always replace d grade with whatever you are gonna use it for.......... work smarter not harder As for the rest, still it doesn't explain where the 1-2-3-4-5 grade numbers come from.. ;x Edited September 25, 2017 by Dubxsion Quote Link to comment Share on other sites More sharing options...
Psyancy Posted September 26, 2017 Share Posted September 26, 2017 @Dubxsion from what i saw you mentined that the lines on the symbolname-e are 101,102,103,104,105. Since no grp the numbers are 1,2,3,4,5 my idea is if 101=1, 102=2 and so on, i guess you can test to add a line with number 106 and on grp put 6. Quote Link to comment Share on other sites More sharing options...
Dubxsion Posted September 26, 2017 Author Share Posted September 26, 2017 (edited) 37 minutes ago, Designatix said: @Dubxsion from what i saw you mentined that the lines on the symbolname-e are 101,102,103,104,105. Since no grp the numbers are 1,2,3,4,5 my idea is if 101=1, 102=2 and so on, i guess you can test to add a line with number 106 and on grp put 6. Yes, i tried that, i add 106 and 6 on grp but instead of a grade icon Arcana Mace i got inadequate symbols Arcana Mace /``/ Which makes me think there's another place where grade ID's present. PS: Also they weren't in logical sequence: 105 didn't count for 5 (S) , but for (D). They are upside-down. Edited September 26, 2017 by Dubxsion Quote Link to comment Share on other sites More sharing options...
Psyancy Posted September 26, 2017 Share Posted September 26, 2017 4 minutes ago, Dubxsion said: PS: Also they weren't in logical sequence: 105 didn't count for 5 (S) , but for (D). They are upside-down. lel ;p about the thing you're looking for, i check on my gracia final patch and on the symbolname-e i got this 100 a,adena\0 a,symbol.adena\0 1 101 a,grades\0 a,symbol.grade_s\0 1 102 a,gradea\0 a,symbol.grade_a\0 1 103 a,gradeb\0 a,symbol.grade_b\0 1 104 a,gradec\0 a,symbol.grade_c\0 1 105 a,graded\0 a,symbol.grade_d\0 1 106 a,grades80\0 a,symbol.grade_s80\0 1 107 a,grades84\0 a,symbol.grade_s84\0 1 on interlude it's like that 100 adena symbol.adena 1 101 grades symbol.grade_s 1 102 gradea symbol.grade_a 1 103 gradeb symbol.grade_b 1 104 gradec symbol.grade_c 1 105 graded symbol.grade_d 1 on interlude grp arcana mace for example is like that (code 5) 0 6608 3 1 15 5 0 LineageWeapons.arcana_mace_m00_wp LineageWeaponsTex.arcana_mace_t00_wp icon.weapon_arcana_mace_i01 -1 1300 47 1 0 7 1 1 LineageWeapons.arcana_mace_m00_wp 1 LineageWeaponsTex.arcana_mace_t00_wp 4 ItemSound.sword_mid_7 ItemSound.sword_big_9 ItemSound.axe_3 ItemSound.sword_mid_9 ItemSound.itemdrop_spear ItemSound.itemequip_spear 20 225 175 2 5 4 4 0 0 0 379 0 1 1 1000 0 -1 0 LineageEffect.c_u007 -8.000000 0.000000 0.000000 1.300000 0.200000 LineageWeapons.rangesample 1.100000 1.100000 1.100000 17.500000 0.000000 0.000000 7 -1 -1 -1 icon.weapon_arcana_mace_i01 and on gracia let's say a dynasty item (s80) is like that it has the code 6 0 9376 1 1 7 10 0 LineageWeapons.dynasty_rapier_m00_wp LineageWeaponsTex.dynasty_rapier_t00_wp 0 0 0 0 0 1 0 0 icon.weapon_dynasty_rapier_i00 -1 1280 8 1 14D89CD0 0 1 27 9 1 LineageWeapons.dynasty_rapier_m00_wp 1 1 LineageWeaponsTex.dynasty_rapier_t00_wp 4 ItemSound.sword_small_1 ItemSound.sword_great_4 ItemSound.sword_mid_2 ItemSound.public_sword_shing_4 ItemSound.itemdrop_sword ItemSound.itemequip_sword 40 302 151 11 6 10 -1 0 0 0 406 0 1 1 1000 0 -1 0 LineageEffect.c_u010 2.20000005 0.00000000 0.00000000 1.20000005 1.29999995 LineageWeapons.rangesample 1.50000000 0.50000000 0.50000000 11.00000000 0.00000000 0.00000000 4 -1 -1 -1 i did a little search from server side, on interlude (acis) there is CrystalType.java file you can edit Here is the part with item grades public enum CrystalType { NONE(0, 0, 0, 0), D(1, 1458, 11, 90), C(2, 1459, 6, 45), B(3, 1460, 11, 67), A(4, 1461, 19, 144), S(5, 1462, 25, 250); private final int _id; private final int _crystalId; private final int _crystalEnchantBonusArmor; private final int _crystalEnchantBonusWeapon; private CrystalType(int id, int crystalId, int crystalEnchantBonusArmor, int crystalEnchantBonusWeapon) { _id = id; _crystalId = crystalId; _crystalEnchantBonusArmor = crystalEnchantBonusArmor; _crystalEnchantBonusWeapon = crystalEnchantBonusWeapon; } if you check it explains every number (if i'm not wrong) i check on l2jserver from h5 (so i can have same examples) and here is the code, maybe try something like the ones on this code and it will work NONE(0, 0, 0, 0), D(1, 1458, 11, 90), C(2, 1459, 6, 45), B(3, 1460, 11, 67), A(4, 1461, 20, 145), S(5, 1462, 25, 250), S80(6, 1462, 25, 250), S84(7, 1462, 25, 250); private final int _id; private final int _crystalId; private final int _crystalEnchantBonusArmor; private final int _crystalEnchantBonusWeapon; private CrystalType(int id, int crystalId, int crystalEnchantBonusArmor, int crystalEnchantBonusWeapon) { _id = id; _crystalId = crystalId; _crystalEnchantBonusArmor = crystalEnchantBonusArmor; _crystalEnchantBonusWeapon = crystalEnchantBonusWeapon; } Quote Link to comment Share on other sites More sharing options...
Dubxsion Posted September 27, 2017 Author Share Posted September 27, 2017 (edited) Still same.. To be honest, thinking logically - why would it will be a server side? Since in grp u set number, that number should lead the client to a line that tells where the texture is. Something has to connect "5" line in grp to "symbol.grade_s" , which is only in symbolname-e.dat (Server side should go only for database, so u can make the item benefit grade rules, also be enchantable with let's say different scrolls.) Edited September 27, 2017 by Dubxsion Quote Link to comment Share on other sites More sharing options...
Psyancy Posted September 28, 2017 Share Posted September 28, 2017 (edited) 12 hours ago, Dubxsion said: Still same.. To be honest, thinking logically - why would it will be a server side? Since in grp u set number, that number should lead the client to a line that tells where the texture is. Something has to connect "5" line in grp to "symbol.grade_s" , which is only in symbolname-e.dat (Server side should go only for database, so u can make the item benefit grade rules, also be enchantable with let's say different scrolls.) True, i don't know because i didn't check it before, i've seen a topic somewhere before about adding s80 grade to interlude, i guess it will be the same way of adding your grade (icon), i'll check it and if i will find it i will update this reply. Edit: It had only server side code, not client side but with a little search here and on other forums i've seen that this probably will be on nwindow.dll , if you're able to decompile this file and edit it you'll have some luck doing it. Edited September 28, 2017 by Designatix Update Quote Link to comment Share on other sites More sharing options...
Dubxsion Posted September 28, 2017 Author Share Posted September 28, 2017 (edited) On 6/25/2016 at 11:03 PM, SweeTs said: Most likely they replaces D/S icon into S80? As far as I remember, you can't add new grade, you have to replace existing one. If what he/she says is true, i might not be so fortune and i`ll actually have no chance on making this happen. My last hope is withNeophron. @L2Neophron , can u please tell us if adding new grade into interlude is possible or not. Thank you in advance. Edited September 28, 2017 by Dubxsion Quote Link to comment Share on other sites More sharing options...
SweeTs Posted September 29, 2017 Share Posted September 29, 2017 Maybe if you edit dll files, then 'everything is possible' :o Quote Link to comment Share on other sites More sharing options...
Dubxsion Posted September 29, 2017 Author Share Posted September 29, 2017 (edited) I have just opened nwindow.dll but all i found there is l2 3d cursor images. And all of the .dll files located in system folder. Non of them seem to contain any "item grade" information. What do i do next, i end up ideas... Also function AddTooltipItemGrade (ItemInfo item) { local string strTmp; 1 GetItemGradeString(item.CrystalType); if ( UnknownFunction151(UnknownFunction125(strTmp),0) ) { StartItem(); m_Info.eType = 1; m_Info.t_bDrawOneLine = True; m_Info.t_strText = " "; EndItem(); StartItem(); m_Info.eType = 1; m_Info.t_bDrawOneLine = True; m_Info.t_strText = UnknownFunction112(UnknownFunction112("`",strTmp),"`"); EndItem(); return; // There are 1 jump destination(s) inside the last statement! } infNodeItem infNodeItem } m_Info.t_strText = UnknownFunction112(UnknownFunction112("`",strTmp),"`"); ^ this code, located in Interface.u , kinda tells that grade icon will appear, but i dont find HOW it should appear. The line i just double paste above, in my opinion should type `/` if Unknownfunction, or in case where i put 6 in .grp. cuz based on ("`",strTmp),"`"); i understand that it should type " ` " then strTmp whatever it is supposed to mean, and another "`". And yes, in game i do get `/` symbol on grade icon place, when i use 6 in .grp Edited September 29, 2017 by Dubxsion Quote Link to comment Share on other sites More sharing options...
domis045 Posted October 10, 2017 Share Posted October 10, 2017 (edited) Its possible to add the grade ;). Its added to his interface code which he sells (Neophron), as i needed the integration. Basically you need to edit the tooltip class in interface.u using a switch statement and add an icon from a new utx. Later perhaps i will share it to all. Atm im not near a pc, i would show it easily. And yeah ncsoft didint hardcode the tootlip(grp files) thats awesome, so when you set the tooltip to 6 you need to parse it ;). The modification is in interface.u Edited October 10, 2017 by domis045 Quote Link to comment Share on other sites More sharing options...
Tony360 Posted March 30, 2018 Share Posted March 30, 2018 (edited) Im looking for change just the size of the "symbol.grade_X" from current to width 16 and height 16, do somebody know where is the size integer ? //Edit i found this part but function "GetItemGradeString(Item.CrystalType)" is not inside on any class (or .uc) of Interface.u //Grade Mark function AddTooltipItemGrade(ItemInfo Item) { local string strTmp; strTmp = GetItemGradeString(Item.CrystalType); if (Len(strTmp)>0) { StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_strText = " "; EndItem(); StartItem(); m_Info.eType = DIT_TEXT; m_Info.t_bDrawOneLine = true; m_Info.t_strText = "`" $ strTmp $ "`"; EndItem(); } } Edited March 30, 2018 by Tony360 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.