• Welcome to Valhalla Legends Archive.
 

World of Warcraft Item Data

Started by devINVISIBLE, October 18, 2005, 02:26 PM

Previous topic - Next topic

devINVISIBLE

It doesn't seem like there is a real forum for this topic to go in, but here goes.  I am trying to find any kind of information or documentation on how item data from World of Warcraft is stored.  It's obviously stored client side and should be relatively easily to grab from a dll or res file on disk.  I've always looked up to a lot of the programmers and minds on this forum as a great resource and I'm hoping that this might seem interesting enough for someone to help me with (if they don't already know it).

Thanks.  And if this thread is in the wrong forum, please leave a move stub so I can find where it moved off to <3


MyndFyre

Item data itself isn't stored client-side (are you referring to data about an item's DPS, icon name, and that kind of thing?) -- it's actually stored on the server and sent to your machine whenever you view it (for example, when you click on another character).  That's why when you first start up and open your bags in Ironforge during peak times, for example, a lot of icons on the screen have the ? icon showing.

On the side, since you say "I've always...," I just wanted to know -- for how long?  You haven't really posted here since last June... ;)

I'm still working on reversing the encryption on the protocol, so until that happens I probably won't have a lot of information about anything else.
QuoteEvery generation of humans believed it had all the answers it needed, except for a few mysteries they assumed would be solved at any moment. And they all believed their ancestors were simplistic and deluded. What are the odds that you are the first generation of humans who will understand reality?

After 3 years, it's on the horizon.  The new JinxBot, and BN#, the managed Battle.net Client library.

Quote from: chyea on January 16, 2009, 05:05 PM
You've just located global warming.

l)ragon

Quote from: MyndFyre on October 18, 2005, 06:21 PM
Item data itself isn't stored client-side (are you referring to data about an item's DPS, icon name, and that kind of thing?) -- it's actually stored on the server and sent to your machine whenever you view it (for example, when you click on another character).  That's why when you first start up and open your bags in Ironforge during peak times, for example, a lot of icons on the screen have the ? icon showing.

On the side, since you say "I've always...," I just wanted to know -- for how long?  You haven't really posted here since last June... ;)

I'm still working on reversing the encryption on the protocol, so until that happens I probably won't have a lot of information about anything else.
Program Files\World of Warcraft\WDB\itemcache.wdb
Program Files\World of Warcraft\WDB\itemtextcaxhe.wdb
Program Files\World of Warcraft\WDB\itemnamecache.wdb
might want to check those out some time which is what i think hes talking about.
*^~·.,¸¸,.·´¯`·.,¸¸,.-·~^*ˆ¨¯¯¨ˆ*^~·.,l)ragon,.-·~^*ˆ¨¯¯¨ˆ*^~·.,¸¸,.·´¯`·.,¸¸,.-·~^*

MyndFyre

Note that it's a cache and not necessarily 100% accurate ;)  I was referring to permanently; that stuff is stored server side so that someone couldn't in some way hack it by giving himself a 500DPS dagger.
QuoteEvery generation of humans believed it had all the answers it needed, except for a few mysteries they assumed would be solved at any moment. And they all believed their ancestors were simplistic and deluded. What are the odds that you are the first generation of humans who will understand reality?

After 3 years, it's on the horizon.  The new JinxBot, and BN#, the managed Battle.net Client library.

Quote from: chyea on January 16, 2009, 05:05 PM
You've just located global warming.

devINVISIBLE

Ah okay.  I thought that the client might hold the information  (dps, image, bonus) as well.  It would make sense the server would say showItem(123), in which the client would show its local item data.  All the real numbers would be stored on the server. 

My goal is obviously to be able to have a database of items from the game... to be used later in a search engine (thottbot and allakhazams aren't powerful enough).  Now that I think about this.. would it be possible to use some type of lua addon to iterate through and record all of the items in the game? Hmm.. I'll have to look into how LootLink-like scripts work (although I'm guessing it just has its own local db)

MyndFyre: I must have found this place two years ago or so and usually just lurk.  I've always been interested in how the battle.net protocol worked, so I spent most of my time reading up on posts analyzing the various packet types.

MyndFyre

Yes: specifically, you could use a UI addon (that's how Thottbot works to collect data; it saves item data to a file and then uploads it to the Thottbot server with Cosmos.exe).  I'm not familiar with how it works, and I'm not particularly interested at this point, so I'm sorry I couldn't be more help to you.
QuoteEvery generation of humans believed it had all the answers it needed, except for a few mysteries they assumed would be solved at any moment. And they all believed their ancestors were simplistic and deluded. What are the odds that you are the first generation of humans who will understand reality?

After 3 years, it's on the horizon.  The new JinxBot, and BN#, the managed Battle.net Client library.

Quote from: chyea on January 16, 2009, 05:05 PM
You've just located global warming.

Joe[x86]

Quote from: MyndFyre on October 19, 2005, 10:34 AM
Yes: specifically, you could use a UI addon (that's how Thottbot works to collect data; it saves item data to a file and then uploads it to the Thottbot server with Cosmos.exe). I'm not familiar with how it works, and I'm not particularly interested at this point, so I'm sorry I couldn't be more help to you.
Telo's Lootlink
Quote from: brew on April 25, 2007, 07:33 PM
that made me feel like a total idiot. this entire thing was useless.

devINVISIBLE

I have a little more direction with what I plan on doing.  Thanks all.

For completeness: Telo's Lootlink is an addon that records item information as you come across it in the world; it is very thorough.  It saves a file in /wtf/accountname/savedvariables/lootlink.lua in a nice c style array.  Parsing it is fairly straight forward.  I'm still looking into what each paramater means (ie: ["d"] = item description) but it's all listed in /interface/addons/lootlink/loolink.lua.

Joe[x86]

I've never attempted to read Blizzard's Scripting Language, but from the ammount of addons out there, it can't be hard. You should be able to find out what the values mean by just reading lootlink's little thingy.
Quote from: brew on April 25, 2007, 07:33 PM
that made me feel like a total idiot. this entire thing was useless.

Mangix


l)ragon

might want to read about it more if you havent seen the lua home page.

http://www.lua.org/about.html
*^~·.,¸¸,.·´¯`·.,¸¸,.-·~^*ˆ¨¯¯¨ˆ*^~·.,l)ragon,.-·~^*ˆ¨¯¯¨ˆ*^~·.,¸¸,.·´¯`·.,¸¸,.-·~^*

Grok

Hmmm I think what MyndFyre said is correct, that item data is server side until one is cached.  Mods that can create a link to an item can be dangerous.  For example, if the item you're trying to view has not yet been cached on the server since the last restart, it could cause unwanted crash or side effects.

rabbit

Quote from: l)ragon on October 28, 2005, 06:41 PM
might want to read about it more if you havent seen the lua home page.

http://www.lua.org/about.html
On a side note, LUA looks very similar to another language I used, perhaps Parallax BASIC?  I'm not sure.

Anyway, I love LUA.  It lets me do stuff on my PSP :P
Grif: Yeah, and the people in the red states are mad because the people in the blue states are mean to them and want them to pay money for roads and schools instead of cool things like NASCAR and shotguns.  Also, there's something about ketchup in there.

Joe[x86]

Dragon, your avatar croaked.

Hm, MyndFyre said something about LUA being used for other stuff, guess I never realized that Blizzard didn't write the language.
Quote from: brew on April 25, 2007, 07:33 PM
that made me feel like a total idiot. this entire thing was useless.