Results 1 to 6 of 6
  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

    Aika bin files structure

    Decryption algorithms are here: https://progamercity.net/aika/357-ai...ecryption.html

    After quick examination:

    SkillData structure
    Code:
     //--------------------------------------
    //--- 010 Editor v3.1.2 Binary Template
    //
    // File: Aika Online SkillData.bin structure
    // Author: Dwar
    // Revision: 2010-09-09
    // Purpose:
    //--------------------------------------
    
    struct Bin {
        byte unk[20];
        struct block {
            char name1[64];
            char name2[64];
            int data[264/4];
            char description[292];
        };
        local int i;
        for (i=0; i < ((FileSize()-20)/684 ); i++)
        {
            block test;
        }
    
    } file;
    ItemList structure
    Code:
     //--------------------------------------
    //--- 010 Editor v3.1.2 Binary Template
    //
    // File: Aika Online ItemList.bin structure
    // Author: Dwar
    // Revision: 2010-09-09
    // Purpose:
    //--------------------------------------
    struct Bin {
        struct block {
            char name1[64];
            char name2[64];
            char type[64];
            int ink[268/4];
        };
        local int i;
        for (i=0; i < (FileSize()/460); i++)
        {
            block test;
        }
    
    } file;


    About .bin from "Sound" folder: just common mp3 (rename extension or directly play them)
    Last edited by Grooguz; 2011-12-11 at 02:42 PM.
    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. #2
    D3m0tol
    D3m0tol is offline
    New member
    Join Date
    2010 Sep
    Posts
    13
    Thanks Thanks Given 
    6
    Thanks Thanks Received 
    3
    Thanked in
    1 Post
    Rep Power
    0

    Re: Aika bin files structure

    iv also found you can Swap some of the skill effects nothing special really but it looks cool
    eg palli skil CSProtect01.jit can look like CSGuardian01.jit same principle as changing the sound just rename make sure you back it up first like anything else you modify

    from what i can work out in the global version the classes are named as such

    CS = Crusader
    WR = warrior
    DG = Dual Gunner
    MG = priest
    SN = sniper
    NM = night magician

  3. #3
    astrobunny
    astrobunny is offline
    New member astrobunny's Avatar
    Join Date
    2010 Dec
    Posts
    9
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    9
    Thanked in
    2 Posts
    Rep Power
    0
    I've been doing a bit of deciphering on the Itemlist.bin file too. The description field is actually 128 bytes large. I've also established how each item's icon is determined and the descriptions of each item's effects, but I still am not sure what item ID is. Here's what I've got so far:

    Code:
    		[StructLayout(LayoutKind.Sequential)]
    		struct Item {
    			[ArraySize(64)]
    			public byte[] name1;
    
    			[ArraySize(64)]
    			public byte[] name2;
    
    			[ArraySize(128)]
    			public byte[] type;
    
    			[ArraySize(104)]
    			public ushort[] things;
    
    
    			public string Name {
    				get {
    					return Encoding.GetEncoding("euc-KR").GetString(name1).Trim('\0');
    				}
    			}
    			public string Name2 {
    				get {
    					return Encoding.GetEncoding("euc-KR").GetString(name2).Trim('\0');
    				}
    			}
    			public string Type {
    				get {
    					return Encoding.GetEncoding("euc-KR").GetString(type).Trim('\0');
    				}
    			}
    
    			public Profession Profession {
    				get {
    					return (Profession)things[22];
    				}
    			}
    
    			public int BuyPrice {
    				get {
    					return things[18] + (things[19] << 16);
    				}
    			}
    
    			public int SellPrice {
    				get {
    					return things[20] + (things[21] << 16);
    				}
    			}
    
    			public int Level {
    				get {
    					return things[37];
    				}
    			}
    
    			public int PATK {
    				get {
    					return things[51];
    				}
    			}
    
    			public int PDEF {
    				get {
    					return things[52];
    				}
    			}
    
    			public int MATK {
    				get {
    					return things[53];
    				}
    			}
    
    			public int MDEF {
    				get {
    					return things[54];
    				}
    			}
    
    			public string Effect {
    				get {
    					int effect = things[78];
    					int amount = things[81];
    					return strdefbin.strs[effect + 400].GetString(amount);
    				}
    			}
    			public string Effect2 {
    				get {
    					int effect = things[79];
    					int amount = things[82];
    					return strdefbin.strs[effect + 400].GetString(amount);
    				}
    			}
    			public string Effect3 {
    				get {
    					int effect = things[80];
    					int amount = things[83];
    					return strdefbin.strs[effect + 400].GetString(amount);
    				}
    			}
    
    			public ItemType ItemType {
    				get {
    					return (ItemType)things[1];
    				}
    			}
    		}

  4. #4
    remka
    remka is offline
    Member-in-training remka's Avatar
    Join Date
    2010 Oct
    Location
    Moscow
    Posts
    161
    Thanks Thanks Given 
    17
    Thanks Thanks Received 
    31
    Thanked in
    6 Posts
    Rep Power
    15
    Item id is the number of entries in the entire collection of records
    Please write to the PM only at the right issues.
    or if you know what 0x90)))
    P.s.
    it's NOT NOP

  5. #5
    astrobunny
    astrobunny is offline
    New member astrobunny's Avatar
    Join Date
    2010 Dec
    Posts
    9
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    9
    Thanked in
    2 Posts
    Rep Power
    0
    Yeah it seems the item ID is encoded in its position in the file. Each item's information is encoded in a 684-byte block in the file right from the beginning. So the item ID is the start byte of the block divided by 684. The 0x100 bit of column 67 seems to encode the [Cannot be Traded] flag. Can anyone confirm this?

  6. #6
    remka
    remka is offline
    Member-in-training remka's Avatar
    Join Date
    2010 Oct
    Location
    Moscow
    Posts
    161
    Thanks Thanks Given 
    17
    Thanks Thanks Received 
    31
    Thanked in
    6 Posts
    Rep Power
    15
    closed.
    Please write to the PM only at the right issues.
    or if you know what 0x90)))
    P.s.
    it's NOT NOP

Posting Permissions

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