Цитата:
Сообщение от glamur223
открыть item.dat в DatEditore до такого вида
найти место куда добаляем блок
я буду в добавлять в Weapon
смотрим
WeaponSectionID - ето я хз
WeaponSize- ето общие количество байт которые занимает Weapon в item.dat
WeaponStartoffset -ето откуда начинаетса Weapon в item.dat
WeaponBloks - ето количество блоков
WeaponBlokSize - ето розмер 1 блока
приступим.
Нам надо добавить 1 блок .
Для начала нада узнать розмер блока смотрим в DatEditor
WeapoBlokSize = 268 записеваем
теперь надо узнать оффсет где куда вписать ети байты в item.dat
Открываем роздел Weapon в DatEditore делам Table View и листаем в самый низ
Становимся на индекс в низу DatEditor-a есть свой хекс код
Колгда вы выделили индекс там выделилось 4 байта 2 раза пкм по ним
Откырлось окно . В нем пишет оффсет где наченаетса последний блок Weapon в Item.dat
его надо записать у меня он равен 11234778
Теперь нам надо добавить блок , открываем item.dat но уже хекс редактором
(закрываем item.dat в DatEditor)
(Я пользуюсь UltraEdit буду показевать на нем )
Идем по оффсету индекса он у меня равен 11234778
Перешли ,теперь на надо добавить байты в UltraEdit ето сочитание клавиш ctrl+d
Помним что розмер 1 блока равен WeaponBlokSize = 268
добавляем иммено столько байт не меньше не больше .
Добавили сохраняем и выходим.
Опять откырваем item.dat в DatEditor нов видем что файл читаетса с ошибкой
Сейчас исправим :
Идем к колонке WeaponSize и смотрим что там за значение у меня ето
1690476 помним что ето все количество байт что занимает Weapon в скрипте Item.dat
но мы добавили ещё 268 нам надо их и тут учесть 2696088 + 268=2696356
Пишем новое значение 2696356 в WeaponSize ето ещё не все идем в колонку
WeaponBloks помним что ето количество блоков у меня оно равно 10060 блокам но я добавил ещё 1
значит 10060 +1=10061 вписеваем новое значени в WeaponBloksи сохранем
перегружаем скрипт и личстаем в самый низ и видим строку с левыми значениями ето и есть наш блок
все .
|
Про пересчёт оффсетов аля WeaponStartoffset, при добавлении нового блока, не стоит забывать.