-
Content Count
713 -
Joined
-
Last visited
-
Days Won
37
Posts posted by Neo-Mind
-
-
Introduction
Well this idea came up when evilpunker asked about the possibility of having a patch which loads a second file which overrides the iteminfo file. But there is a better way to do that with lua itself.
How to do it?
The key idea is that the item information is added using the main function by the client. so in your custom file you just need to modify the main function to accept your items. Here is how it can be done.
-- Load the original file. As you might have guessed you can also load your translated file here instead -- (just make sure the "tbl" array contains your item info) dofile("System/iteminfo.lub") -- Now as a simple example . I am simply going to change name of Red Potion to Crimson Potion. -- But you can add anything in the same way. Format is same as the original one, just -- the table name is different tbl_custom = { [501] = { unidentifiedDisplayName = "Crimson Potion", unidentifiedResourceName = "»¡°£Æ÷¼Ç", unidentifiedDescriptionName = { "A potion made from", "grinded Red Herbs that", "restores ^000088about 45 HP^000000.", "^ffffff_^000000", "Weight: ^7777777^000000" }, identifiedDisplayName = "Crimson Potion", identifiedResourceName = "»¡°£Æ÷¼Ç", identifiedDescriptionName = { "^000088HP Recovery Item^000000", "A potion made from", "grinded Red Herbs that", "restores ^000088about 45 HP^000000.", "^ffffff_^000000", "Weight: ^7777777^000000" }, slotCount = 0, ClassNum = 0 }, } -- Now for a helper function because i hate repetitions -- It adds items from curTable if it is not present in refTable function itemAdder(curTable, refTable) for ItemID,DESC in pairs(curTable) do if refTable == nil or refTable[ItemID] == nil then result, msg = AddItem(ItemID, DESC.unidentifiedDisplayName, DESC.unidentifiedResourceName, DESC.identifiedDisplayName, DESC.identifiedResourceName, DESC.slotCount, DESC.ClassNum) if not result then return false, msg end for k,v in pairs(DESC.unidentifiedDescriptionName) do result, msg = AddItemUnidentifiedDesc(ItemID, v) if not result then return false, msg end end for k,v in pairs(DESC.identifiedDescriptionName) do result, msg = AddItemIdentifiedDesc(ItemID, v) if not result then return false, msg end end end end return true, "good" end -- And the newly designed main function function main() result, msg = itemAdder(tbl_custom, nil) -- add custom items (including official overrides) if result then result, msg = itemAdder(tbl, tbl_custom) -- add non-overridden official items end return result, msg end
How is it useful?
Think how item_db2.txt is useful for adding custom items in a server. Its the same strategy here.
You can keep your official items in a base file (or you can just use the official iteminfo.lub file if you want the korean names)
and keep your custom items in a different file (make sure the first dofile function calls the base file).
The above code is error free, so feel free to copy and add your items . Hope the topic was not too confusing
The lua code can be further expanded for overriding only parts of an official item. But i will leave that update for the future
P.S. The client should be patched to accept your custom file not the base file.
Screenshot
-
P.S. Nemo Patcher can't diff it for me.
Eh Why? what error did u get with the patcher
-
-
not back, just waiting for something awesome to happen
<3
Told you they always come back.
-
@NEMO I wish you could also add "Arial on All Langtypes"
why not use "Use Custom Font" and select Arial for the font. I removed the patch since it was redundant with that one.
-
Hi Guys, Please post any bugs you find and already found in GitHub. Its easier for me to track them there .
I might end up not seeing something because of lot of posts here.
quesoph this is already a known bug in that patch for long time. hmm so yellow tag is working? I thought the tag was not working.
-
All good things must come to an end sometime.
There's still hope. lol
@offtopic
btw, Adelay team is working on a client protection called hashield..
https://www.facebook.com/pages/HaShield-Protection/1462260474060732intriguing Looking forward to that one.
-
-
would be nice . people would cry less (hopefully ).
-
-
-
The curiosity is killing us cats Nya~ . Hope this surprise patch comes in soon .
-
yea need to check this. actually i need to update the packet length extractor a bit (maybe the issue would also get resolved with that).
-
hmm thats weird maybe i should fetch the Hex pattern and convert to string. Anyways i have been planning to do something with that addon.
-
2014/06/18 - Client by Themon
- Diff using NEMO.
- After Diffing an error occurs.
GetProcAddress("send") failed
- need help thanks
Two possible reasons come to mind:
1) Client is having some issue locating ws2_32.dll in your system (corrupted client maybe?)
2) Client is referring a different dll to get the send and recv functions. (maybe the client was used with PEEK?)
-
@evilpuncker: dunno about RE clients but the main clients mentioned are not packed. Latest usable Ragexe client is 2014-06-13a. I know about the Restore Login Window issue its just a small fix will push that later today.
@luis : I need to check that patch. People have been saying they are facing issue with shields not appearing at all.
luis.seifert and Only4fun reacted to this -
patch with "Enable showname" and "Enable Mailbox" patches.
-
-
-
@Lelantos try the latest one now.
Hello sir.. I found out that in 2012-04-10aragexe there are recommend patch but error when you click it. Here is the image.Untitled.png
Its working for me without errors. Was the client patched before?
-
jRO has live action NPCs? xD
-
I am sorry to post this again, but nobody answered me.
"Neo, i have the same problem than other user, the problem is with 2013-12-23 rag exe, and newest exe, the problem is with the mount system using reins of mount or @mount2, the exe tries to find an strange act and spr files, i looked for them in updated data folders but i couldnt find it, also the exe reads these files for all mount classes the file are dataspriteÀΰ£Á·¸öÅë³²¿ÁÅä¹öÆнºÆ®_³².act and spr "
Hmm which all patches did you use? Send me the patchlist
hi neooo.... please help me... why when i "uncheck" load custom dll (splash image), client can't be start... i mean when i click start... client not show... and back again to launcher >.<
sorry bad englsih >.<
My guess is its because load custom dll and disable Hshield patch both mess around with the import table. So even if you uncheck it some of the changes might still be there causing the client to stop loading some dlls.
Why not just stop checking the patch itself? If you are using a profile just save it without the patch checked and re-load profile. It should work now.
Sir, the HShield patch for 2012-04-10aragexe.exe is not yet fix.
Edit: Tested in 2012-04-10aRagexeRE.exe, 2012-04-18aRagexeRE.exe and 2012-04-04aRagexeRE.exe still no luck. when i use the Hshield diff it always closes the client.
Bump on this sir?
I'll check on this today.
-
If my memory serves right that client doesn't support lua files. i.e. Everything is hardcoded in the client (hence the need for xray).
how come you are using such an old client?
-
hmm there should not be anything different on the client with the two versions. which patches do you use.
[Guide] How to use a secondary ItemInfo file
in Client-Side Releases
Posted
hmm there is only 1 problem i can foresee. When Gravity updates/adds items it modifies iteminfo.lub so your edit might go away.
i would suggest to put it in a different file just to be safe