Dressup Lockstyle

言語: JP EN DE FR
2010-06-21
New Items
users online
フォーラム » Windower » Support » Dressup lockstyle
Dressup lockstyle
Offline
Posts: 36
By jarhead402011 2023-01-23 16:17:07  
So I'm trying to use dressup to change the gear my character is wearing visually but of course it hasn't been updated in some time. So the pants I would like are obviously not in the legs.lua.

I thought I could add them as looking the pants up on this site shows you the model number but when I go to legs.lua there is a 2nd number at the very end of each line that is different and I don't know or understand where it's coming from.

I'm wondering if anyone else does or has had success adding new pieces of gear to dressup.

The pants I want are Denim Pants.

Just for example the monster trousers pants have an ID of 15125 but the line in legs.lua looks like this

models.legs[15125] = { name = "Monster Trousers" , enl = "monster trousers", model = 16465}

I can't figure out where the 16456 is coming from, thanks for any help
 Fenrir.Positron
Offline
サーバ: Fenrir
Game: FFXI
user: Positron
Posts: 181
By Fenrir.Positron 2023-01-23 18:24:16  
I can't check right now, but I'm guessing it's in the packet that the server sends to tell the client what to display. I think it's this one: packet 0x037 at offset 44. It's probably a bitwise OR of the pieces of gear to display, but again I can't log on to check at the moment. You can use the PacketViewer addon to find it. I think you're going to want to use
Code
//pv t i 0x037
and then swap gear to see what that field contains.

Edit: it might also be this other one, 0x00D at offset 50.
Offline
Posts: 36
By jarhead402011 2023-01-23 20:03:24  
I attempted what you said (granted i dont know anything about coding or any of this stuff so idk if did things right) but I never saw the correct number or any numbers that would be close to what the dressup lua is using unfortunately
Offline
Posts: 36
By jarhead402011 2023-01-23 20:14:16  
I just found an old post about it from a few years ago

https://www.ffxiah.com/forum/topic/54396/dressup-item-lists/

seems nobody knows how to get the model id unfortunately
 Fenrir.Positron
Offline
サーバ: Fenrir
Game: FFXI
user: Positron
Posts: 181
By Fenrir.Positron 2023-01-23 21:46:02  
Found it.
Code
models.legs[25911] = { name = "Denim Pants" , enl = "denim pants", model = 16863}


It was indeed in 0x00D, offset 50.
Offline
Posts: 36
By jarhead402011 2023-01-23 23:45:26  
Holy ***, you don't have to but can you explain to me like im 5 how you got this?? Thank you btw

Actually i think i figured out how to get it to work now, when i use packetviewer and then i reload dressup it updates the id numbers for what im wearing and i now have the knit cap added as well, thank you so much you were a huge help

My biggest question now is how do i get packetviewer to stay on me and can i see other peoples equipment numbers to copy from? And for a noob like me, what does offset 50 mean?
 Fenrir.Positron
Offline
サーバ: Fenrir
Game: FFXI
user: Positron
Posts: 181
By Fenrir.Positron 2023-01-24 05:51:02  
1) Not sure what you mean by "stay on" you, you can leave it loaded and capturing packets for as long as you want with //pv record, though it tends to really make the game chug and can eventually crash if you don't filter pretty aggressively.

2) You can see other players' equipment, it will be delivered in a packet as well, with their name in one of the fields. I think it's the same packet in some but not all cases? I am not really an expert on the structure of data sent between the server and client.

3) Offset 50 is just a way to refer to the specific location of data within the packet. In packetviewer itself you don't really need to care about that, but if you look in fields.lua you'll see that a packet can contain a whole bunch of data that's not always related. It's packed that way for better data transmission efficiency (remember, this game had to run well on a 56k dialup connetion).

4) How I got this: basically looked for suspicious data in fields.lua to start, specifically in fields.incoming (fields.outgoing is not relevant for this because ultimately the server is informing your client what it's supposed to be displaying -- DressUp is then intentionally ignoring that). I tracked each of the suspect packets while having a friend switch to pieces of gear with already-known model IDs until I found those IDs. Then I had that friend put on the Denim Pants and looked in the same location. I couldn't do it myself because I don't have the pants, for one, but also I'm guessing your own equips are handled separately since the server doesn't need to tell you what to display for yourself -- the client already knows because it's whatever you said to equip, independent of what the server thinks you're wearing for the sake of calculating damage.
 Shiva.Thorny
Offline
サーバ: Shiva
Game: FFXI
user: Rairin
Posts: 2850
By Shiva.Thorny 2023-01-24 06:28:27  
Model ID isn't mapped to item ID anywhere in the game. It's sent to the client in the format:
Code
    uint8_t Face;
    uint8_t Race;
    uint16_t Equip[8];


Equip goes in the order:
Head, Body, Hands, Legs, Feet, Main, Sub, Range.

This same layout is located at offset 0x44 of incoming packet 0x00A(for yourself when zoning in), offset 0x48 of incoming 0x0D(for other players), and offset 0x04 of incoming 0x51(for yourself when changing after zoning).

There are ways to view models from model id and manually look for what you want, but generally it's going to be tedious to do that way compared to just putting the piece on and logging the packet.

Fenrir.Positron said: »
I'm guessing your own equips are handled separately since the server doesn't need to tell you what to display for yourself -- the client already knows because it's whatever you said to equip, independent of what the server thinks you're wearing for the sake of calculating damage.
nope, server tells you
 Fenrir.Positron
Offline
サーバ: Fenrir
Game: FFXI
user: Positron
Posts: 181
By Fenrir.Positron 2023-01-24 15:22:10  
Good info, thanks.
Log in to post.