Deprecated: The behavior of unparenthesized expressions containing both '.' and '+'/'-' will change in PHP 8: '+'/'-' will take a higher precedence in /home/iano/public_html/tpforums-vb5/forum/includes/class_core.php on line 5842

PHP Warning: Use of undefined constant MYSQL_NUM - assumed 'MYSQL_NUM' (this will throw an Error in a future version of PHP) in ..../includes/init.php on line 165

PHP Warning: Use of undefined constant MYSQL_ASSOC - assumed 'MYSQL_ASSOC' (this will throw an Error in a future version of PHP) in ..../includes/init.php on line 165

PHP Warning: Use of undefined constant MYSQL_BOTH - assumed 'MYSQL_BOTH' (this will throw an Error in a future version of PHP) in ..../includes/init.php on line 165

PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in ..../includes/functions_navigation.php on line 588

PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in ..../includes/functions_navigation.php on line 612

PHP Warning: Use of undefined constant misc - assumed 'misc' (this will throw an Error in a future version of PHP) in ..../global.php(29) : eval()'d code(6) : eval()'d code on line 1

PHP Warning: Use of undefined constant index - assumed 'index' (this will throw an Error in a future version of PHP) in ..../global.php(29) : eval()'d code(6) : eval()'d code on line 1

PHP Warning: Use of undefined constant misc - assumed 'misc' (this will throw an Error in a future version of PHP) in ..../includes/class_bootstrap.php(1422) : eval()'d code(4) : eval()'d code on line 1

PHP Warning: Use of undefined constant index - assumed 'index' (this will throw an Error in a future version of PHP) in ..../includes/class_bootstrap.php(1422) : eval()'d code(4) : eval()'d code on line 1

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6

PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6
itemscache.dat
Results 1 to 8 of 8

Thread: itemscache.dat

  1. #1

    itemscache.dat

    Thread dedicated to those who are developing tools for Zezenia.
    This thread will be dedicated to breaking the itemscache.dat file.

    This is not an easy task, and I've never done anything even remotely similar to this, but let's go.


    What I've found so far:

    1 - Zezenia opens the file at 0x00498704.
    2 - Reads 4 bytes;

    3 - Reads 2 bytes;
    This is the number of items in the file (currently 2987 items, 307 of which are named, the rest I don't know);

    4 - Reads next character with fgetc;

    After that, it will start reading the file at 0x0049897A.

    1 - Reads 2 bytes (item id);
    2 - Reads next character with fgetc;
    3 - Reads next character with fgetc;
    4 - Reads 4 bytes;
    6 - Reads 2 bytes;
    7 - Reads 2 bytes;
    8 - Reads 2 bytes;
    5 - Reads 4 bytes;

    if the first byte of the 4 bytes read in step 5 isn't zero,
    then we will read an item name, other wise the program does
    something else and I don't know what it is yet.

    6 - Reads X bytes (item name);
    X = bytes read in step 5;

    7 - decrypts the name;
    decryption starts at 0x00498ABC;

    The encryption is pretty basic: they just added 1 to each byte of the name.
    This means that 64 66 66 72 decrypted will become 65 67 67 73, or "eggs".

    The length of the name is located 11 bytes after the item ID.

    Here is an image:

    http://i.imgur.com/u3Glspz.png


    So I wrote a simple program to test my theory, and part of it seems to make sense.
    These are the named items I was able to extract:

    There are 307 named items.
    You can download the document with their IDs and names here: itemscache.dat.txt


    There are 2680 unnamed items, and I don't know their use.
    You can download the document with their IDs here: unnameditems.txt

    I was able to verify that the unnamed items are regular items and I have no idea why their names aren't stored in the dat file.
    The parcel id, for example, is 5726, and it is in the unnamed items file.
    Last edited by wizzarr; 01-15-2016 at 05:27 PM.

  2. #2
    Junior Member
    Join Date
    Jan 2016
    Posts
    6
    Wizzarr, do you have the spells's id? For any class

    @Edit I'm searching for monsters' id too, if u can help me I wanna be greatful
    Last edited by fellden; 01-17-2016 at 12:39 AM.

  3. #3
    No. Just check the Zezenia.ini file for spell ids.
    As far as I know, each creature has a different id that's generated when they spawn.

  4. #4
    Junior Member
    Join Date
    Jan 2016
    Posts
    1
    Hi Wizarr,

    How can I find CorpseIDs?

    Would be awesome if you could help!

  5. #5
    Haven't looked for corpse ids yet. I'm trying to read the map files

  6. #6
    Junior Member
    Join Date
    Mar 2016
    Posts
    6
    i need Corpse ID from Dwarf Magician

  7. #7
    You need to kill it and look for it using cheat engine.

  8. #8
    Junior Member
    Join Date
    Apr 2016
    Posts
    3
    someone has the id to attack and the body of freak?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •