» TeamX (Архив Форума)«


Форум TeamX » Исследования » Нумерация GVAR

Переход по темам
<< Пред. След. >>
Единственная страница этой темы

 
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
 

Переход по темам
<< Пред. След. >>
Единственная страница этой темы


Powered by Ikonboard 2.1.9 RUS
Modified by RU.Board Team
© 2000 Ikonboard.com