• Bem vindo à nossa comunidade - Quer se juntar ao resto dos nossos membros? Registre-se*Registros aprovados pela adminitração

Template xdata

Shion

Legendário XPZ
Editção hashes, mais fácil de encontrar a chave mágica e fácil de adicionar novos arquivos / hashes a ele

tinha uma pequena atualização, se você não sabe como a chave mágica é construída aqui é um exemplo

1X2X3X4X5X6XXXXXXXXX = 123456

by: x30unlimited

Código template abaixo:

[hide]//--------------------------------------##// Game: CABAL Online

// File: xdata.enc (unpacked)

// Description: Template for CABAL's xdata file

//--------------------------------------##

// Author: x30

// Website:
Por favor, Entrar ou Registrar para ver o conteúdo das URLs!


//--------------------------------------##

//-Local-Variables----------------------

local int x=0;

//-Enumerations-------------------------

typedef struct {

    char name[260];

} Folder<read=FolderName>;

typedef struct {

    byte folder_index<read=FolderNameIndex>;

    char name[60];

    byte unk1;

    char hash[32];

    byte unk2;

} File<read=FileNameRead, write=FileHashWrite>;

//-Functions----------------------------

string FolderName(Folder &f) {

    string s;

    SPrintf(s, "%s", f.name);

    return s;

}

string FolderNameIndex(byte i) {

    i-=1;

    string s;

    if(i==-1) s="MagicKey";

    else SPrintf(s, "%i ( %s )", i, folder.name);

    return s;

}

string FileNameRead(File &f) {

    string s;

    if(f.folder_index==0)

        s="MagicKey";

    else

        SPrintf(s, "%s", f.name);

    return s;

}

void FileHashWrite(File &f, string s ) {

    SScanf(s, "%s", f.hash);

}

//-Main---------------------------------

int folders;

while (x<folders){

    Folder folder;

    x+=1;

}

x=0;

int files;

while (x<files){

    File file;

    x+=1;

}[/hide]
 
Topo Bottom