Логотип игрового форума RF-Cheats.ru    
Новости онлайн игр Правила форума Чёрный рынок Реклама и привилегии Гаранты Арбитраж

Регистрация Бан-лист Сообщество ПОПУЛЯРНОЕ
Вернуться   RF-Cheats.ru - форум читеров и ботоводов > > > >
Читы и обход фроста для RF Online без хайдаБоты и читы для Perfect World бесплатно без хайдаМоды и читы для World of Tanks (WoT) бесплатно без хайдаМоды и читы для Armored Warfare бесплатно без хайдаБоты и читы для DOTA 2 бесплатно без хайдаБоты и читы для Black Desert Online бесплатно без хайдаЧиты на ArcheAge бесплатно без хайдаЧиты для Warface бесплатно без хайдаВзлом ВКонтакте и ОдноклассниковСписок разделов со всеми играмиЧиты для онлайн игр




Ответ
 
Сделать тему важной Опции темы
Старый 10.06.2011, 03:13   #1
KaKTyS
Гость
Аватар для KaKTyS
Сообщений: n/a
Благодарностей:
0 всего

[Гайд]Создание структур


Нам нужны:
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 - число с плавающей запятой(http://ru.wikipedia.org/wiki/%D0%A7%...82%D0%BE%D0%B9)
Атрибуты для типов данных типа u* и x* и float
а)tag="Название"-название данного блока
б)hidden=Число- если число=1 то блок скрыт
Атрибуты для cstr
а)len="Число"-Длина текста в байтах(1 буква кодируется байтом)
Для рфки в серве обычно ид записаны с длиной 64 а в клиенте 32
Атрибуты записываются в квадратных скобках и через запятую

PHP код:
u32 ***91;tag="***8213;-",hidden=1***93; DWORD;
float ***91;tag="***8213;-",hidden=1***93; DWORD;
cstr ***91;len=64***93; "Название"
II.Создание однородной структуры
Первый оператор-это какой файл мы будем загружать
PHP код:
***91;filemask="Имя файла.dat"***93; 
Здесь можно указать * тогда можно будет загрузить любой файл([filemask="*.dat"])
Дальше идет описание структуры самого файла
Для рфки- файлы начинаются с количество блоков длиной u32 потом размер блока длиной u32 (для сервера идет дальше размер файла длиной u32)
Дальше идет загрузка структуры блока

PHP код:
struct "Название"
{
u32 nBlocks;
u32 nBlockSize
child Block 
***91;count=nBlocks***93;;

Атрибуты child
a) count - сколько блоков будет с данной структурой блока
б)offset - оффсет с которого начнутся блоки с данной структурой
в)group="Название" - Название группы данных блоков
Дальше мы пишем структуру блока с название которое мы указали при child
PHP код:
struct block
{
u32 ***91;tag="***8213;-"***93; DWORD;
....
...
....
...
...

Писать структуру можно добавляя(убавляя) кол-во блоков u32 пока не увидите упорядоченность в Dateditor а потом меняя всякие значения смотреть что изменилось в клиенте
III.Создание структуры для файла состоящего из нескольких частей
(например:Item.edf Character.edf и тд)
Такое возникает когда мы написали однородную структуру а в окне показа самого файла в Dateditor видите что файл не кончился.

Для этого нам понадобится оператор seek
Он пропускает опреденное количество байтов в файле(те чтение структуры начинается с какогото оффсета а не с начала)
PHP код:
struct "Название"
{
u32 nBlocks1;
u32 nBlockSize1;
child Block1 ***91;group="1",count=nBlocks1***93;;
seek(nBlocks1*nBlockSize1 +8)
u32 nBlocks2;
u32 nBlockSize2;
child Block2 ***91;group="2",count=nBlocks2,offset=nBlocks1*nBlockSize1 +16***93;;

Как правило между частями файла в рф находится 8 байтов(хотя в некоторых есть и 4)
PHP код:
seek(nBlocks1*nBlockSize1 +8
Это означает что мы пропустили первую часть файла (те кол-во блоков1*размер блока1 + 8 свободных байтов)
Обязательно указывайте группу для child
Так же в child для второй части указан оффсет с которой эта часть начнется (те кол-во блоков1*размер блока1+8 свободных байтов + 8 байтов отвечающих за кол-во блоков2 и размер блока2)
После структуры для блока Block1 пишем структуру для блока Block2
PHP код:
struct Block1
{
u32 ***91;tag="***8213;-"***93; DWORD;
....
...
....
...
...
}
struct Block2
{
u32 ***91;tag="***8213;-"***93; DWORD;
....
...
....
...
...

PHP код:
Итак мы получаем структуру вида
***91;filemask="Имя файла.dat"***93;
struct "Название"
{
u32 nBlocks1;
u32 nBlockSize1;
child Block1 ***91;group="1",count=nBlocks1***93;;
seek(nBlocks1*nBlockSize1 +8)
u32 nBlocks2;
u32 nBlockSize2;
child Block2 ***91;group="2",count=nBlocks2,offset=nBlocks1*nBlockSize1 +16***93;;
......
.....
}
struct Block1
{
u32 ***91;tag="***8213;-"***93; DWORD;
....
...
....
...
...
}
struct Block2
{
u32 ***91;tag="***8213;-"***93; DWORD;
....
...
....
...
...

IV.Оператор repeat
Так же существует оперотор repeat-он повторяет данный блок несколько раз
Например
PHP код:
repeat 7
{
u32 ***91;tag="***8213;-"***93; DWORD;

И мы увидим в Dateditor что он повторен 7 раз
Это удобно когда мы видим что одно и тоже повторяется много раз( например Store,StoreList и тд) и чтобы структура была удобнее для чтение можно употреблять данный оператор
 
Ответить с цитированием
Сказали спасибо:
DungeonKeeper (05.07.2017), BlackApple (23.05.2012), Hideaki (24.02.2012), darkpdx (23.09.2011), Недоступно (19.09.2011), ZtupiLo (04.09.2011), Недоступно (29.06.2011), dini03 (27.06.2011), glotur (24.06.2011), stopitsot (10.06.2011)


Старый 08.09.2011, 10:21   #2
dark
Владимир Владимирович
Аватар для dark
OFFLINE
Регистрация: 09.04.2007
Сообщений: 964
Благодарностей:
36,463 всего
Мнения: + 34444
Репутация: 116052
Отправить сообщение для dark с помощью ICQ Отправить сообщение для dark с помощью Skype™

KaKTyS +50 постов

Cheats Development | Создание читов на заказ

Я не оказываю услуги гаранта!
База данных кидал: blacklist.rf-cheats.ru
Обязательно проверяйте человека через чёрный список прежде чем совершать с ним сделку.
 
Ответить с цитированием
Ответ



Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Гайд] - Создание патча Вульф88 Гайды, статьи по RF Online серверам 6 06.06.2017 23:16
[Гайд] Создание реликт сетов TraunSE Гайды, статьи по RF Online серверам 20 24.02.2014 05:52
[Гайд] Создание баннера для своего проекта VITAILER Тюнинг RF Online клиента 7 15.05.2013 15:07
[Гайд]Создание структур из хидер файла НейроН Гайды, статьи по RF Online серверам 1 04.02.2013 11:04
[Guilde] Создание структур wodewill Архив 5 26.12.2010 16:32

Мир танков | Проект "Армата" | ArcheAge | Black Desert | РФ Онлайн | Айон | Майнкрафт | Браузерные игры
Элдер скролс | Р2 Онлайн | Реквием Онлайн | ПУБГ | Роял Квест | ГТА Санадреас | Контра | Дота 2
Мир кораблей | Лост Арк | Arma2 DayZ mod | The War Z | Карос: Начало | Tera Online
Читы для всех Онлайн-игр