SpawnEd — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

SpawnEd — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
(Схемы)
(Использование схем)
Строка 5: Строка 5:
 
comment6,
 
comment6,
  
== Использование схем ==
+
comment6,
 
+
Все на примерах, так будет понятнее.
+
 
+
Для отображение '''"Секция 1 - шапка"''' используется следующая схема:
+
 
+
{| align="center" class="simple
+
|+
+
! |Команда
+
! |Описание
+
|-
+
| ;секция 1 || первая строка - коментарий. Не обрабатывается, служит для пометок.
+
|-
+
| read-2 || вывести 2 байта (разделитель)
+
|-
+
| find-00-объект || вывести несколько байт в ASCII до первого символа '''00''', присвоить имя '''объект'''
+
|-
+
| find-00-имя || аналогично, но имя строки - '''имя'''
+
|-
+
| read-2 || вывести два байта (разделитель)
+
|-
+
| hex-real-X || вывести 4 байта, перевести их в формат дробных чисел
+
|-
+
| hex-real-Y || присвоить названия '''X Y Z'''
+
|-
+
| hex-real-Z
+
|-
+
| hex-real-Xrot || аналогично, но названия '''Xrot Yrot Zrot'''
+
|-
+
| hex-real-Yrot
+
|-
+
| hex-real-Zrot
+
|-
+
| read-8-разд || вывести 8 байт, название '''разд'''
+
|-
+
| read-4-?? || показать 4 байта, названий '''??''' ( то есть неизвестно)
+
|-
+
| read-4-версия || ну и так далее...
+
|-
+
| read-2-секция || ...
+
|-
+
| read-2-размер-dec || показать 2 байта, и добавить в скобках десятичное значение
+
|-
+
| next-table || переход на вложенную секцию
+
|-
+
|+
+
|}
+
 
+
Я думаю, что смысл понятен. Есть 4 команды с параметрами, и парсер их выполняет. К нему побайтого постпает содержание секций и он просто кладет их в нужные места (нужные нам).
+
  
 
== Команды в схемах ==
 
== Команды в схемах ==

Версия 10:53, 20 мая 2011

6N2Q21 <a href="http://ecfwrczfqyuc.com/">ecfwrczfqyuc</a>, [url=http://chlwovxdqdao.com/]chlwovxdqdao[/url], [link=http://rocgbfevoukn.com/]rocgbfevoukn[/link], http://yhazuwilhqjm.com/

comment1,

comment6,

comment6,

Команды в схемах

Формат всех команд одинаков, разделителем выступает тире:

команда-значение[-название[-опция]]
 команды:  read, find, hex, next.
 значение: XX
 опции:    dec, show
  • read. Получить и вывести XX байт. Опция dec добавляет десятичное значение полученных данных
  • find. Выводится последовательность поступаемых байт до первого символа XX. Затем последовательность конвертируется в ASCII символы. Иначе говоря, так мы получаем все текстовые значения. Опция show выведет полученный текст в дополнительное окно (обычно используется для длинных скриптов)
  • hex. Значением выступает слово real, однако использовано только для читаемости. Переводит 4 байта в дробное число.
  • next. Используется только для перехода к вложенной секции в другой таблице.

Файлы

В комплекте с программой идут несколько файлов.

  • data\object - 191 объект, после символа "равно" - используемая схема. Изначально все объекты имеют схему "0", то есть "пустышку", которая просто показывает несколько байт. Я некоторые разобрал, но не факт, что правильно, так что смотрите.
  • data\*.sch - а это сами схемы и есть. обычные текстовые файлы. Которые начинаются с подчеркивания - это схемы второй секции, из программы они не редактируются, так как там все ясно (почти).

Уже занятые схемы: 1-stalker; 2-restrictor, smart_terrain; 3-m_flesh; 4-actor; 5-breakable_object, всякие lamp; 6-m_trader. 7,8,9 - пустые, их можно использовать для дальнейшей работы. Можно создать до 100 файлов, но я надеюсь, что и десятка должно хватить. Не хватит - копируйте 0.sch под новым именем и пользуйте.

Пример работы

После запуска программа перекинет нас на объект 93, stalker, схема 1. В ней многое описано, но еще и остались непонятные пункты. Но мы сейчас будет разбирать ворону... Вот тут есть описание формата объекта "ворона" ;) Смотрим его:

число пример
байт
2    FC 00
4    00 00 00 00
4    01 00 00 00
4    D9 2D 03 00
1    BA
3    FF FF FF
1    00
4    FF FF FF FF
4    FF FF FF FF
х    monsters\crow\crow
1    00
6    00 00 00 00 00 00
4    80 3F 00 00
4    00 00 00 00
4    00 00 FF FF
4    00 00 00 00
4    00 00 00 00

Чтобы увидеть такое, нужно всего лишь добавить схему для вороны. Для этого перейдем на любой объект "ворона" (например, объект 289). Его схема изначально не задана, то есть "пустышка". Для создания новой схемы (сейчас мы не будет пытаться адаптировать уже существующие) в таблице Секция 1 - шапка сделайте двойной щелчок на строке объект m_crow. Откроется окно привязки объектов к схемам. Стрелками выберем схему 7. Она пока не занята. После выбора закроем окно, оно больше не нужно.

Теперь просто напишем следущее в правой части программы, в месте для команд парсера:

;m_crow

чтобы самим потом вспомнить, для чего эта схема. и дальше еще пару строк (в скобках - мои коментарии, их не нужно писать):

;m_crow
read-2 (три двубайтовых значения - почти всегда так начинается секция)
read-2
read-2
read-4 (01000000 - всегда присутствует)
read-4 (в зависимости от уровня)
read-4
read-1 (здесь будет 00, обычно присутствует скрипт, но сейчас его нет)
read-4 (а тут одни FF, видимо опущенные параметры)
read-4
find-00

Теперь нажмем Записать схему, и увидим уже более осмысленный результат. Немного облагородим вид, добавим названия (которые знаем):

;m_crow
read-2-код1
read-2
read-2
read-4
read-4-код2
read-4
read-1
read-4
read-4
find-00-модель

Ну и в том же духе продожаем пробовать. Обратите внимание, что вторая секция заполнилась автоматом, менять ее можно только внешним редактором в файлах _?.sch, но нам это не нужно сейчас.

Теперь все вороны будут на попадаться в уже полуразобранном виде ;) И можно попробовать посмотреть, подойдет ли эта схема например к собакам. Ищем собаку, меняем ей схему на нашу m_crow и продолжаем дальше.

Вобщем, удачи в исследованиях. И не забывайте делится найденными схемами, которые подходят сразу под несколько объектов, а не только для ворон.

--HikeR 03:16, 6 мая 2007 (MSD)

Ссылки

  • в данный момент нет доступных ссылок
Другие места
LANGUAGE