Показать сообщение отдельно
Старый 19.12.2004, 14:41   #167
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готики

2B Wolf:
Если ты знаешь ID номер Тяжелого доспеха Паладина, именно номер (это чило, например: 8458 ), а не имя номера, то необходимо его найти в декомпилированных скриптах и выслать мне кусок (функцию, инстанцию), где он встречается, буду исправлять.

Немного размышлений на эту тему: В скриптах встречаются переопределенные члены классов, аргументы функций, локальные и глобальные переменные. Переопределение производится с типа CLASS на тип INT. Рассмотрим для примера функцию void EquipItem(c_npc self,int item), в ней аргумент item типа c_item (ссылка на класс c_item или его производную) переопределен к типу int. В результате компиляции в датнике на месте аргумента появляется число (например 4574), вместо соответствующего имени класса c_item (например ItMW_Addon_Knife01). Задача состоит в том, чтобы отличить действительные типы int от переопределенных типов. В некоторых случаях это можно сделать автоматически, а в других случаях приходится вводить в программу шаблон функции с переопределенными аргументами.
Все бы однозначно решалось, если бы не было переопределенных функций, написанных в самих скриптах, а они есть! Вот поэтому я и сравнивал тексты декомпилированных и исходных скриптов, чтобы найти по максимуму такие ситуации и, или выработать новое правило обработки, или занести функцию в таблицу.
Я надеюсь, хоть кто-то что-то понял в моих размышлениях.
Еще одним из решений данной проблемы была задумка создать пользовательский файл, куда будут записываться функции с переопределенными аргументами, но вся сложность, чтобы найти такую функцию в скриптах. Это одна единственная, нерешенная до конца, проблема при декомпиляции скриптов. Может быть с вашей помощью удастся ее решить!
Ответить с цитированием