Results 11 to 19 of 19

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Dwar
    Dwar is offline
    Veteran Dwar's Avatar
    Join Date
    2010 Mar
    Posts
    2,222
    Thanks Thanks Given 
    211
    Thanks Thanks Received 
    2,230
    Thanked in
    292 Posts
    Rep Power
    10

    Lightbulb Forsaken World elements.data structure

    Forsaken World and also Perfect world (and also JD stores most of the game data inside elements.data.
    Items name, gear properties, icons and spell ID are inside structured .data file. But without knowing of that structure nearly impossible easily get or edit specific data for one needed object.

    If someone already worked with PW custom servers, they know about editing of the elements.data by ELeditor (EL Tools and so on) and of course they know about necessity of correct description for .data internal structure.

    So, just for beginning I’ve done ~10-15% and write down structure for 10 data block inside elements.data.

    Everyone is welcome for further analyzing

    Forsaken World elements.data
    PHP Code:
     //--------------------------------------
    //--- 010 Editor v3.1.2 Binary Template
    //
    // File: elements.data
    // Author: Dwar
    // Revision: 0.1
    // Purpose: Analyzing
    //--------------------------------------
    struct header
        
    {
            
    int unk;
            
    time_t fTime;
        };    
        
        
    header test

    struct data01
    {
        
    int BlockSize;
        
    int Size;
        
    struct Block
        
    {       
            
    int id;
            
    wchar_t text[32]; //Wide Strings (Unicode Strings), 64byte
            
    int unk;
            
    int unk;
            
    float fl2;
            
    int unk;
            
    int unk;
        };
        
    local int i;
        
        for (
    i=0Sizei++)
        {
            
    Block test;
        };
    }
    file;

    struct data02
    {
        
    int BlockSize;
        
    int Size;
        
    struct Block02
        
    {       
            
    int Id;
            
    wchar_t text[32];
            
    int Desc[162];
        };
        
    local int i;
        for (
    i=0Sizei++)
        {
            
    Block02 test;
        }
    }
    file;

    struct data03
    {
        
    int BlockSize;
        
    int Size;
        
    struct Block03
        
    {       
            
    int Id;
            
    wchar_t text[32];
        };
        
    local int i;
        for (
    i=0Sizei++)
        {
            
    Block03 test;
        }
    }
    file;

    struct data04
    {
        
    int BlockSize;
        
    int Size;
        
    struct Block04
        
    {       
            
    int Id;
            
    wchar_t text[32];
        };
        
    local int i;
        for (
    i=0Sizei++)
        {
            
    Block04 test;
        }
    }
    file;


    struct data05
    {
        
    int BlockSize;
        
    int Size;
        
    struct Block05
        
    {       
            
    int Id;
            
    int unk;
            
    int unk;
            
    wchar_t text[32];
            
    int unk;
            
    wchar_t text2[16];
            
    byte Desc[160];
        };
        
    local int i;
        for (
    i=0Sizei++)
        {
            
    Block05 test;
        }
    }
    file;

    struct data06
    {
        
    int BlockSize;
        
    int Size;
        
    struct Block06
        
    {       
            
    int Id;
            
    wchar_t text[32];
        };
        
    local int i;
        for (
    i=0Sizei++)
        {
            
    Block06 test;
        }
    }
    file;

    struct data07
    {
        
    int BlockSize;
        
    int Size;
        
    struct Block07
        
    {       
            
    int Id;
            
    wchar_t text[32];
        };
        
    local int i;
        for (
    i=0Sizei++)
        {
            
    Block07 test;
        }
    }
    file;

    struct data08
    {
        
    int BlockSize;
        
    int Size;
        
    struct Block08
        
    {       
            
    int Id;
            
    int unk;
            
    int unk;
            
    wchar_t text[32];
            
    int unk;
            
    wchar_t text2[16];
            
    int param1[9];
            
    float ink;
            
    int param2[11];

        };
        
    local int i;
        for (
    i=0Sizei++)
        {
            
    Block08 test;
        }
    }
    file;

    struct data09
    {
        
    int BlockSize;
        
    int Size;
        
    struct Block09
        
    {       
            
    int Id;
            
    wchar_t text[32];
            
    int param1[22];
            
    float ink;
            
    int param2[7];
        };
        
    local int i;
        for (
    i=0Sizei++)
        {
            
    Block09 test;
        }
    }
    file
    Note: You can also write data blocks name for further quick identification

    Please register or login to download attachments.

    Please, post your questions on forum, not by PM or mail

    I spend my time, so please pay a little bit of your time to keep world in equilibrium

  2. The Following 4 Users Say Thank You to Dwar For This Useful Post:


Tags for this Thread

Posting Permissions

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