У меня структуры не реально палённые... И вобще понять что-либо, не реально! Если есть у кого-нибудь хоть какие-то, то выложите.. Или свяжитесь со мной... Могу купить.
________________
Тыкаю всем постам спасибки)) Буду надеяться на ваш ответ ^^
структура GauntletItem, подходит структура под Shielditem.dat, GauntletItem.dat, HelmetItem.dat, ShoeItem.dat, UpperItem.dat, LowerItem.dat, только надо изменить в структуре [filemask="GauntletItem.dat"] на название соответствующие серверного файла.
хм... Извини за нубский вопрос.. в скриптах я не очень.. Как я понял это изменение (перевод) структур.. Если можешь, подскажи пожалуйста, куда надо эт вписать, чтобы руссификация прошла?)
________________
Тыкаю всем постам спасибки)) Буду надеяться на ваш ответ ^^
структура GauntletItem, подходит структура под Shielditem.dat, GauntletItem.dat, HelmetItem.dat, ShoeItem.dat, UpperItem.dat, LowerItem.dat, только надо изменить в структуре [filemask="GauntletItem.dat"] на название соответствующие серверного файла.
Как назло именно эти у меня были норм)))
Оч прошу скинь структуры для WeaponItem ,MonsterCharacte.
Или научи исправлятЬ) а переделывал WeaponItem но получилось всеравно криво)
p.s. для 6 up
________________
ВСЕ мои вопросы только про 6 UP!!!
Вот мой проект [Ссылки могут видеть только зарегистрированные пользователи. ]
Последний раз редактировалось kAwAii; 05.02.2010 в 13:13.
Нам нужны:
1)Мозг и прямые руки
2)Dateditor
3)Notepad или любой текстовой редактор
4)Знание хотя бы клиента рфки и устройства dat файлов
Файлы структур имеют расширение strs и открываются тестовым редактором I.Типы данных и их атрибуты
u8-целое число занимающие 1 байт(от 0 до 256)
u16-целое число занимающие 2 байта(от 0 до 65535)
u32-целое число занимающее 4 байта (от 0 до 16777215)
cstr-текст
x8-16-ричное число занимающие 1 байт(от 00 до FF)
x16-16-ричное число занимающие 2 байта(от 0000 до FFFF)
x32-16-ричное число занимающее 4 байта (от 0 до FFFFFFFF)
float - число с плавающей запятой
Атрибуты для типов данных типа u* и x* и float
а)tag="Название"-название данного блока
б)hidden=Число- если число=1 то блок скрыт
Атрибуты для cstr
а)len="Число"-Длина текста в байтах(1 буква кодируется байтом)
Для рфки в серве обычно ид записаны с длиной 64 а в клиенте 32
Атрибуты записываются в квадратных скобках и через запятую
II.Создание однородной структуры
Первый оператор-ето какой файл мы будем загружать
Код:
[filemask="Имя файла.dat"]
Здесь можно указать * тогда можно будет загрузить любой файл([filemask="*.dat"]) Дальше идет описание структуры самого файла
Для рфки- файлы начинаются с количество блоков длиной u32 потом размер блока длиной u32 (для сервера идет дальше размер файла длиной u32)
Дальше идет загрузка структуры блока
Атрибуты child
a) count - сколько блоков будет с данной структурой блока
б)offset - оффсет с которого начнутся блоки с данной структурой
в)group="Название" - Название группы данных блоков
Дальше мы пишем структуру блока с название которое мы указали при child
Писать структуру можно добавляя(убавляя) кол-во блоков u32 пока не увидите упорядоченность в Dateditor а потом меняя всякие значения смотреть что изменилось в клиенте
III.Создание структуры для файла состоящего из нескольких частей
(например:Item.edf Character.edf и тд)
Такое возникает когда мы написали однородную структуру а в окне показа самого файла в Dateditor видите что файл не кончился.
Для этого нам понадобится оператор seek
[Ссылки могут видеть только зарегистрированные пользователи. ]
Он пропускает опреденное количество байтов в файле(те чтение структуры начинается с какогото оффсета а не с начала)
Как правило между частями файла в рф находится 8 байтов(хотя в некоторых есть и 4)
Код:
seek(nBlocks1*nBlockSize1 +8)
Ето означает что мы пропустили первую часть файла (те кол-во блоков1*размер блока1 + 8 свободных байтов)
Обязательно указывайте группу для child
Так же в child для второй части указан оффсет с которой ета часть начнется (те кол-во блоков1*размер блока1+8 свободных байтов + 8 байтов отвечающих за кол-во блоков2 и размер блока2)
После структуры для блока Block1 пишем структуру для блока Block2
IV.Оператор repeat
Так же существует оперотор repeat-он повторяет данный блок несколько раз
Например
Код:
repeat 7
{
u32 [tag="----"] DWORD;
}
И мы увидим в Dateditor что он повторен 7 раз
Ето удобно когда мы видим что одно и тоже повторяется много раз( например Store,StoreList и тд) и чтобы структура была удобнее для чтение можно употреблять данный оператор
---------------------------------------------
Спасибо за основные данные Martin (с)[scaR]
Добавляй по 1 строке в конец u32 [tag="----"] DWORD;
и перезагружай ее пока не увидишь что все ок а дальше расшифровываешь
Есть более умный спосбо в Hex-просмотре внизу Dateditor смотришь сколько еще байтов осталось до следующих 4-х байтов перед ID и добавляешь нужное колво строк в структуру
Последний раз редактировалось FFForever; 05.02.2010 в 15:28.
Причина: Добавлено сообщение