Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Форматы файлов и данных > [BСB6]Dat файл, если нет структуры как открыть?


Автор: XPyCT 12.9.2009, 13:28
ув форумчане!

подскажите плз может кто сталкивался с этим вопросом!

Имеется файл с расширением.dat
Если нет структуры файла, то как его можно  прочитать?
сам файл прикреплен ниже

за ранее спс!

Автор: Anikmar 12.9.2009, 14:57
Цитата(XPyCT @  12.9.2009,  13:28 Найти цитируемый пост)
Если нет структуры файла, то как его можно  прочитать?

Прочитать легко, а вот понять что там - в общем случае никак.

Если известна программа, его записавшая, можно попробовать поискать документацию на формат файла.

А что надо вообще-то?

Автор: XPyCT 12.9.2009, 16:56
Цитата(Anikmar @ 12.9.2009,  14:57)
Цитата(XPyCT @  12.9.2009,  13:28 Найти цитируемый пост)
Если нет структуры файла, то как его можно  прочитать?

Прочитать легко, а вот понять что там - в общем случае никак.

Если известна программа, его записавшая, можно попробовать поискать документацию на формат файла.

А что надо вообще-то?

это файлы из игрового сервера!
есть фалы для ресурсов ( то что выпадает из убитых игровых  персонажей), то что добыто  из земли в игре  вобщем в этих файлах находятся имя порядковый номер и описание предметов
теперь для чего мне это надо!

игра онлайновая не браузерная
Я пишу игровой эдитор  который обращается к базам сервера и смотрит что есть у персонажа в инвентаре что на нем одето и так далее
так вот без этих файлов не идентифицировать сие что мне нужно!

хотя мне обещали скинуть код на  пхп!


программу для открывания  прикладываю http://webfile.ru/placed?id=3915096

http://forum.maindev.ru/attachment.php?attachmentid=89&stc=1&d=1247161395

Автор: Anikmar 12.9.2009, 21:14
А у разработчиков игры нельзя формат файла попросить?

Автор: Romikgy 12.9.2009, 21:32
хедер :
4 переменых типа DWORD 
1. кол-во записей в файле
2. я не понял для чего 
3. длина одной записи 
4. пустое 

далее идут сами записи размером в 0x17C 
что в них хз
например на 0 , 0х44, 0xd0 местах строки с нулем в конце ... 
остальное фиг его знает 

Автор: XPyCT 13.9.2009, 08:07
вот как обещал, дали на пхп

Код

<?php
$fp        =    'Script/WeaponItem.dat';
$lines    =    10059;
$i        =    0;
$fp        =    fopen($fp,"r");
$pos    =    768;
$table='';
if(is_resource($fp)){
        fseek($fp,0,SEEK_SET);
        while($i <= $lines){
            fseek($fp,16,SEEK_CUR );
            $val=(string)stream_get_line($fp,7);
            $table.="INSERT INTO RF_ItemsDB.dbo.tbl_code_weapon (item_id,item_code,item_name) VALUES ('$i','$val','-');\r\n";
            $i++;
            fseek($fp,$pos,SEEK_SET);
            $pos=$pos+768;
        }
}
file_put_contents('WeaponItem.sql',$table);



ктото может перевести на С++, для использования в  бормане

Автор: Romikgy 13.9.2009, 13:15
не соотносится со структурой файла....

Автор: XPyCT 13.9.2009, 13:51
не ну это пример пхп там же видно что имя другого файла

Автор: Romikgy 13.9.2009, 14:02
так а что нужно ?

Автор: XPyCT 13.9.2009, 14:23
ну наверно определить кол строк в файле а далее попытаться выполнить этот скрипт в виде синтаксиса[bcb6]

Автор: Romikgy 13.9.2009, 15:16
в первом посте я указал как узнать кол-во "строк"

Автор: Anikmar 13.9.2009, 22:32
http://forum.zone-game.info/showthread.php?p=40075
http://zhyk.ru/forum/showthread.php?t=58363  smile   smile   smile 
 smile  smile 

Автор: mrbrooks 14.9.2009, 07:32
камрады! вы занимаетесь черной магией. 


XPyCT, из представленных исходных данных получить качественный результат не реально, имхо.  smile  

Автор: Romikgy 14.9.2009, 09:41
Цитата(mrbrooks @  14.9.2009,  06:32 Найти цитируемый пост)
вы занимаетесь черной магией. 

и я хочу  smile 

Автор: Romikgy 14.9.2009, 11:45
XPyCT, посмотри на такой пример .... smile 

Автор: XPyCT 14.9.2009, 13:07
Цитата(Romikgy @ 14.9.2009,  11:45)
XPyCT, посмотри на такой пример .... smile

Огромное спс вечером опробую так как я щас на работе! по исходнику (юнит1 срр)  вижу уже что все очень вкусно )))

Добавлено @ 13:11
Цитата(Anikmar @ 13.9.2009,  22:32)
http://forum.zone-game.info/showthread.php?p=40075
http://zhyk.ru/forum/showthread.php?t=58363  smile   smile   smile 
 smile  smile

как ручками все это сделать через ультраедит32 (в хексе) я знаю и делал так как сам был администратором игрового сервера!
 так как мы здесь малеха  программисты, вопрос именно поставлен чтоб систематизировать этот процесс программными методами

Автор: XPyCT 15.9.2009, 09:27
to Anikmar 

Все просто суппер работает ща буду разбиратся!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)