a very very long time ago someone made a tool for me (no, I don't remember his name), and this small tool loaded items.xml and items.otb and injected into cip client, so all I needed to do was to walk into the game and "look" at every item (as many as possible) and the program would create its items.xml entry if non existent (with name, weight attack if applicable), and for entries with wrong names/weights it would fix them... I used it for a while to help contribute with 0.3.x items.xml... goods times...So, all names of tiles in items.xml were added manually by checking in the game? It's too bad, I thought their names were in game files. Thanks for reply. ; )
Today you can write application that don't even need to log into game, every movable(or most) now have their name in appearance file not only marketable one like on older versions + they for some reason added item descriptions to appearance file in 12.51 update.today I don't think it is as easy as it used to be because of this battle eye thing, but we still have geniuses around that would be able to do that (like @fabian766 , @jo3bingham and so on) but I don't think anyone is interested into such a hassle just to complete items.xml entries...
wow that is pretty awesome I think we can just call them ground but thanks for the infoToday you can write application that don't even need to log into game, every movable(or most) now have their name in appearance file not only marketable one like on older versions + they for some reason added item descriptions to appearance file in 12.51 update.
Weight, attack, armor etc application can fetch from wiki or fanpages as they have somewhat up-to date info. The only problem are the non-movable items like ground names.
Yes, that's one possibilitywow that is pretty awesome I think we can just call them ground but thanks for the info
GetObjectInfo
client packet. By using my API, sending the GetObjectInfo
packet for every valid ID, then dumping what the server sends back in the ObjectInfo
server packet you can get the name for every valid object in the game. I did this just now on the current version (12.52.10394), and this is the dump I got: https://gist.github.com/jo3bingham/e06949655e30e9c4e556834286b16982Wow, this is great!In addition to what @fabian766 mentioned about the appearance.dat file, you can also abuse theGetObjectInfo
client packet. By using my API, sending theGetObjectInfo
packet for every valid ID, then dumping what the server sends back in theObjectInfo
server packet you can get the name for every valid object in the game. I did this just now on the current version (12.52.10394), and this is the dump I got: https://gist.github.com/jo3bingham/e06949655e30e9c4e556834286b16982
Hi again. Could you (if you will have time) use your api again to get items names from the latest 12.70v update? : )In addition to what @fabian766 mentioned about the appearance.dat file, you can also abuse theGetObjectInfo
client packet. By using my API, sending theGetObjectInfo
packet for every valid ID, then dumping what the server sends back in theObjectInfo
server packet you can get the name for every valid object in the game. I did this just now on the current version (12.52.10394), and this is the dump I got: https://gist.github.com/jo3bingham/e06949655e30e9c4e556834286b16982
I was able to get an updated version for the current client (12.70.10971) using the same method as @jo3bingham (big thanks to him for helping me figure it out via DMs!). I've attached the dump for the current client.Hi again. Could you (if you will have time) use your api again to get items names from the latest 12.70v update? : )
Nice! Do you know if there is an up to date (latest Tibia version) "official" (serverID, clientID) mapping? Without such a mapping we can't add these names to items.xml, because the ids in the dump are client IDs.thanks for sharing @kokokoko, I'll see if I can use this to contribute a consolidate XML version
Yes, opentibiabr guys have such mappings, they use client id's in their xmls and even have a tool for conversionNice! Do you know if there is an up to date (latest Tibia version) "official" (serverID, clientID) mapping? Without such a mapping we can't add these names to items.xml, because the ids in the dump are client IDs.
Hmm, looks like that tool converts a map from serverIDs to clientIDs? I don't think that solves the problem where CIP might change a client ID and thereby making our old maps incompatible with new versions of Tibia.Yes, opentibiabr guys have such mappings, they use client id's in their xmls and even have a tool for conversion
Edit: @kokokoko I guess this is it tools/Convert MAP to Client ID.zip at master · opentibiabr/tools (https://github.com/opentibiabr/tools/blob/master/Convert%20MAP%20to%20Client%20ID.zip)
they convert server id to client id for Remeres.Hmm, looks like that tool converts a map from serverIDs to clientIDs? I don't think that solves the problem where CIP might change a client ID and thereby making our old maps incompatible with new versions of Tibia.
I had a look at the otservbr-global items.xml, and it looks like it uses serverIDs. And I think we should be using serverIDs everywhere, because of the aforementioned issue with potentially changing client IDs, right?
The items.otb file contains sprite signatures computed using FFT on each item sprite image to track changes in client IDs so that server IDs can still map to the same item type (e.g. a grass tile), even if CIP were to change its client ID. Do you (or anyone else) know whether this system is still used to keep a consistent (serverID, clientID) mapping? Also, does anyone know whether CIP has ever changed a client ID of an item, or are serverIDs a precautionary measure thus far?
Ah, right. Interesting that they've maybe never changed the client IDs. I kind of assumed that the FFT signatures were added as a response to CIP changing client IDs from version to version.they convert server id to client id for Remeres.
Cip have never changed a client id as far as I know, our server ID is basically an additional (and unnecessary) layer. Even if they change, we would need to remap in items.xml so what's the point?
By the way, you are right. Otservbr still uses server id, they have only updated on canary: Removed unnecessary files and converted to client id by dudantas · Pull Request #1 · opentibiabr/canary (https://github.com/opentibiabr/canary/pull/1)
Right, interesting that they are moving in that direction.Yeah, I'm not 100% sure either on why we create this serverID -> ClientID mapping, I know that the roadmap of canary/otservbr is to have it all unified in clientids.
We also need to think that we are getting near the time to ditch cip client for good, otc feature based seems pretty much more reliable than "version" based. Mehah is doing incredible improvements in this area, who knows how it might look like in 1~2 years?