|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Недавно заметил такую вещь: как известно во втором фолле всего 696 гвар. Нумерация начинается с нуля и т.д. Для облегчения работы скриптерам напротив каждой гвары в комментариях стоит её номер, соответственно эти номера мы используем при написании скриптов. А теперь внимание всем скриптерам! В файле vault13.gam (где собственно и описаны гвары) есть досадный баг. Он никоем образом не сказывается на самом фолле, но при написании модов можно наделать ошибок. Обратите внимание, что в комментариях отсутствует гвара под номером 129. Но в то же время гвара с номером 101 описана дважды. Таким образом номера гвар с 102 по 128 сдвинуты. Фактически на скрипты это не влияет, ведь это всего лишь комментарии, но будьте внимательны. UPDATE: Всё таки я не зря создал тему. Я не понимаю принцип, по которому движёк присваивает номера гварам. Фактически в vault13.gam два раза присутствует один и тот же номер гвары (101). Но гвары находятся в разных строках и правильно было бы предположить, что первая из них имеет номер 101, а вторая 102 и т.д. Однако это не так. Дело в том, что следующая за ними гвара (GVAR_QUEST_RUSTLE_CATTLE - 102) участвует в квесте под номером 102. А это не может быть так, если нумерация ведётся по строкам. Что то я совсем запутался. И ещё одно - гвара 101 дважды описана в global.h, но одна из них не используется. Суммируя всё выше сказанное остаётся не понятно как фолл нумерует гвары. (Неужто по комментариям???) Ведь так, как сейчас написано - всё работает. Хоть написано с ощибкой.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 0:05 - 1 Фев., 2007 | ИСПРАВЛЕНО: Ray - 23:32 - 31 Янв., 2007
|
|
Tehnokrat
Модератор
Откуда: Новосибирск Регистрация: Окт. 2003
Всего: 489 сообщений
|
Нет, комментарии тут не при чем. Файл vault13.gam служит двум целям. Во-первых по колличеству не пустых и незакомментированных строк в нем определяется общий размер массива под ГВАРы. После ключевого слова GAME_GLOBAL_VARS любая непустая строка добавляет +1 к размеру массива. Имена ГВАР значения не имеют. Достаточно пустой строки с одним пробелом вначале, и размер массива увеличивается. Во-вторых в нем происходит начальная инициализация ГВАР. А твоя загадка имеет простую отгадку. Два глюка взаимно уничтожаются. Обрати внимание на ГВАРы 128 и 130. Почему сдвиг между ГВАРами 101 и 128 не приводит к ошибке, тоже понятно - они все сначала инициализированы одинаково, а доступ к ним осуществляется по индексам, а не по именам.
----- Прошлое можно узнать, но нельзя изменить. Будущее можно изменить, но нельзя узнать.
|
Отправлено: 23:21 - 4 Фев., 2007
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Но почему тогда гвара GVAR_QUEST_RUSTLE_CATTLE имеет номер 102, ведь по идее должна быть 103. И после GAME_GLOBAL_VARS есть пустая строка с одним пробелом. почему она не учитывается?
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 23:49 - 4 Фев., 2007
|
|
Tehnokrat
Модератор
Откуда: Новосибирск Регистрация: Окт. 2003
Всего: 489 сообщений
|
Да нет же. Только при начальной инициализации, GVAR_QUEST_MAGGIE_STIL записывается в ячейку 103. Все остальные обращения к ней идут в ячейку 102. Но поскольку все ГВАРЫ в диапазоне 101-128 инициализированы одинаково - ноликом, накладок не возникает. Вот если бы в какой-то из этих ГВАР было другое число, оно бы попало не в ту ГВАРу. У меня лично в файле vault13.gam, после GAME_GLOBAL_VARS никаких строк с одним пробелом нету. Там есть одна закомментированная строка и одна пустая строка. Если же у тебя есть, попробуй начать игру сначала, должны возникнуть глюки из-за неправильной начальной инициализации ГВАР.
----- Прошлое можно узнать, но нельзя изменить. Будущее можно изменить, но нельзя узнать.
|
Отправлено: 0:04 - 6 Фев., 2007
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Вот теперь всё понятно. Таким образом получается, что для того чтоб убрать путаницу из vault13.gam необходимо вырезать строку с GVAR_QUEST_KILL_EVIL_PLANTS, переименовать комментарий в 129 и вставить на нужное место. Тогда никаких проблем не будет. И всё будет описано так как является на самом деле. Ведь GVAR_QUEST_KILL_EVIL_PLANTS всё равно нигде не используется, она может и 129 стать Цитата: У меня лично в файле vault13.gam, после GAME_GLOBAL_VARS никаких строк с одним пробелом нету
Мой текстовый редактор воспринимает перенос строки за пробел
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 1:02 - 6 Фев., 2007 | ИСПРАВЛЕНО: Ray - 0:04 - 6 Фев., 2007
|
|
Tehnokrat
Модератор
Откуда: Новосибирск Регистрация: Окт. 2003
Всего: 489 сообщений
|
Меня заинтересовала эта несуществующая ГВАРа 129, и я заглянул в хидеры: GLOBAL.H // Modoc #define GVAR_MODOC_KARL_HOME (129) В скриптах не обнаружена, видимо из области недоделок.
----- Прошлое можно узнать, но нельзя изменить. Будущее можно изменить, но нельзя узнать.
|
Отправлено: 23:21 - 6 Фев., 2007
|
|
|
|