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


Форум TeamX » Тех. поддержка » FAQ по модификации Fallout (Новичкам - обратить внимание)

Переход по темам
<< Пред.
Страницы этой темы [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ] Все собщения

 
Kovarny
Пользователь

Откуда: Руссия, Новосибир ...
Регистрация: Июнь 2003

Всего: 114 сообщений

A:Насколько я понял, за это отвечает макрос check_restock_item.
Используется следующим образом:
check_restock_item(the_item, min_amt, max_amt, res_perc).
the_item - PID предмета
min_amt - минимальное количество предмета
max_amt - максимальное количество предмета
res_perc - по всей видимости, вероятность с которой предмет будет добавлен при вызове макроса.
Макрос можешь подставить в map_enter_p_proc или talk_p_proc торговца, или сделать проверку времени.
Но в большинстве случаев, предметы торговцы держат в сундуках или столах за пределами видимости карты. В таком случае, перед началом бартера предметы переносятся из сундука в инвентарь торговца. А после окончания бартера - обратно.
Для примера посмотри исходники FCLAOCHO (торговец Лао Чоу) и FILAOTBL (его стол) из папки про Сан-Фран.

-----
Схватился за стебель я
Чтобы в пропасть мне не упасть
А это была крапива.

Отправлено: 7:48 - 26 Июля, 2004
Kovarny
Пользователь

Откуда: Руссия, Новосибир ...
Регистрация: Июнь 2003

Всего: 114 сообщений

Вопросы по добавлению чего-либо в Fallout.


Q:Как добавить новую картинку в игру?
Картинки в Фаллауте представлены в фиде .frm-файлов. Вам нужен такой файл. Сделайте картинку в формате .bmp. Затем, с помощью одного из конвертеров перегоните её в формат .frm. Забросьте картинку в папку, соответствующую её типу. Т.е. если это картинка с названием города, то в data\art\intrface, если это изображение нового предмета в инвентаре, то в data\art\inven. Затем картинку нужно прописать в соответствующем .lst- файле. Делается это так: просто добавьте имя файла картинки в конец .lst-файла. Например, добавим изображение нового предмета. Пускай наша картинка называется coolitem.frm. Закидываем её в data\art\inven. Открываем файл inven.lst и в конец добавляем строчку:
Coolitem.frm
Все.

Q:Как мне добавить новую карту в игру?
Прежде всего вы должны нарисовать эту карту, используя маппер. Затем, сохраненная в виде файла с расширением .map, карты должна лежать в папке data\maps. Информацию о всех картах Фол держит в файле data\data\maps.txt. Каждая карта описывается конструкцией вида (в фигурных скобках приведены комментарии):
[Map 146] {Номер карты}
lookup_name=City Encounter 8 {Имя этой каpты. Использyется пpи обpащении к ней.}
map_name=city8 {Имя файла карты (без .map)}
music=10labone {Имя .acm-файла с музыкой, которая будет звучать на карте.}
ambient_sfx=gntlwin1:25, gntlwind:25, gustwind:10, rattle:15, rattle1:15, vulture:10
{"окpyжающие" звyки - пpоигpываются чеpез слyчайные пpомежyтки вpемени. Указывается имя .acm-файла со звуком и, после двоеточия, вероятность (в процентах), с которой звук может быть проигран. Проще говоря частота проигрывания звука. В сумме все эти "вероятности" должны равняться 100}
saved=No {сохpаняется ли состояние этой каpты после выхода из нее.}
dead_bodies_age=No {исчезают ли со вpеменем тpyпы.}
can_rest_here=No,No,No {Можно-ли на карте отдыхать. Указывается для каждого из трёх уровней карты}
random_start_point_0=elev:0, tile_num:17692
random_start_point_1=elev:0, tile_num:22105
random_start_point_2=elev:0, tile_num:20510
random_start_point_3=elev:0, tile_num:20890
random_start_point_4=elev:0, tile_num:23503
{точки входа. если их нет - вход пpоисходит в точке yказанной в (маp). Используется при создании Random Encounters}

Следующий этап - прописать название всех трёх уровней в файле DATA\TEXT\ENGLISH\GAME\MAP.MSG. Полное название места вашего прибывания (которое можно увидеть, например, при загрузке сейва) формируется так:
Название города+Название этажа.
Названия этажей идут в строчках с номерами от 200 до 652. Каждый блок состоит ровно из трех записей(строк) для каждой карты. Даже если карта имеет всего один уровень, все равно необходимо привести пустую запись с уникальным порядковым номером. Нумерация сквозная. Блоки упорядочены в порядке следования соответствующих карт в DATA\DATA\MAPS.TXT.

Q:Как мне добавить новый город в игру?
Итак, что нам необходимо для создания города: карты всех районов города, нарисованные и прописанные в maps.txt; Картинка с названием этого города, для размещения в списке городов. Картинка на фоне которой будут показываться треугольнички - входы в город. Все картинки должны быть добавлены в папку data\art\intrface и прописаны .lst-файле. Все города в Fallout описаны в файле data\data\city.txt конструкцией вида:
[Area 02] {Номер города}
area_name=Klamath {Название города}
world_pos=373,122 {Положение на каpте - считается от веpхнего левого yгла.}
start_state=On {есть ли он на каpте пpи стаpте. если нет - хоть сто pаз пpойди по этомy местy - не найдешь. Яpкий томy пpимеp - Hаваppо и Волт13}
size=Large {Размер кружка на карте. Large - обычный город. Medium - средний город (Vault15 во втором Фаллауте. Small - маленький город (Ферма Призраков)}
townmap_art_idx=158 {Картинка на фоне которой будут показываться треугольнички - входы в город. Указывается номер строки из файла intrface.lst, уменьшенный на единицу. Если вход только один, и вы не хотите, чтобы эта картинка показывалась, поставьте сюда -1}
townmap_label_art_idx=377 {Картинка с названием этого города, для размещения в списке городов. Указывается так-же, как и предыдущая картинка. Если не хотите, чтобы название добавлялось в список - пишите -1}
entrance_0=On,309,203,Klamath Downtown,-1,-1,0
entrance_1=Off,155,264,Klamath Mall,-1,-1,0
entrance_2=Off,-1,-1,Klamath Rat Caves,-1,-1,0
entrance_3=Off,292,315,Klamath Trapping Caves,-1,-1,0
entrance_4=Off,-1,-1,Klamath Grazing Area,-1,-1,0
entrance_5=Off,-1,-1,Klamath Canyon,-1,-1,0
{Список карт, входящих в город. На карту, отмеченную "On", игрок попадет при первом заходе в город. Далее идут два числа, указывающих положение треугольничков на карте города (-1,-1 - треугольник не рисуется). Затем указывается название карты из файла maps.txt. Три следующих числа, это, соответственно, номер уровня указанной в entrance карты, гекс и ориентация чузена.}

Добавить новый город просто так не получится. Можно конечно установить патч, но в Фаллауте есть три неиспользованных города под номерами 17,18,19. Их вам хватит с избытком.
Если не хочется париться с редактированием ручками, то можно воспользоваться функцией Town Editor программы Fallout Script Editor.

Q:Как добавить новый скрипт в игру?
Прежде всего скрипт надо написать. Для начала, почитайте вот эту доку, узнаете как оно устроено, и вообще, что можно реализовать, а что нет. Обучение скриптованию происходит следующим образом: найдите в Fallout фишку, которую вы хотите реализовать, найдите скрипт, который реализует эту фишку. Найдите в скрипте кусочек, который реализует эту фишку, посмотрите, как оно устроено. Сверьтесь с документацией, измените конструкцию так, как вам нужно. Скомпильте скрипт. Не работает? Ищите ошибку. Начинайте с малого. Например, создайте скрипт для персонажа, который просто стоит и ничего не делает, но при попытке начать разговор, говорит какую-то одну фразу. Затем попробуйте заставить криттера походить по карте, сделайте небольшой диалог… Больше экспериментируйте, удача любит дерзких.
После того, как скрипт скомпилирован, у вас на руках должен оказаться файл .int. Этот файл нужно поместить в папку data\scripts. Затем его нужно подключить к игре. Все скрипты описаны в файле data\scripts\scripts.lst строкой вида:
ИмяФайлаСкрипта ; Комментарий #количество_локальных_переменных
Например:
ACWarior.int ; Generic Warrior in Arroyo # local_vars=10
Если вам не понятно, что такое "количество_локальных_переменных", то ставьте там десять, потом разберётесь. Теперь можно заходить в редактор карт, и назначать скрипт объекту.

Q:Как добавить новый квест в игру?

За каждый квест отвечает отдельная глобальная переменная(GVAR). Рассмотрим на конкретном примере:
Допустим у нас есть квест "Убить Коварного". Этот квест дает сосед Коварного, Рэмбо. За квест у нас будет отвечать Гвара номер 634. В файле data\data\vault13.gam находим строчку:
GVAR_RESERVED_VAR1 :=0; // (634)
Исправляем её на строчку:
GVAR_KILL_KOVARNY :=0; // (634)
Теперь нужно сделать краткое описание квеста, проще говоря, прописать строчку, которая появится в Пип-бое. Для этого открываем файл data\text\english\game\quests.msg.
Добавим в конец строчку типа:
{3300}{}{Rambo asked me to kill Kovarny.}
Теперь, собственно добавляем квест. Открываем файл data\data\quests.txt и добавляем туда вот какую штуку:
# KILL KOVARNY
1501, 3300, 634, 1, 2

Итак, первая цифра - это номер города, к которому привязывается скрипт. Номер берётся из data\text\english\game\map.msg. Из строк с номерами от 1500. В данном случае, квест привязывается к Дэну.
Вторая цифра, это тот самый номер строки из файла quests.msg, описание квеста.
Третье - это номер ГВАРЫ, отвечающей за квест.
Четвёртое - это значение ГВАРЫ, при котором квест считается принятым.
Пятое - это значение ГВАРЫ, при котором квест считается выполненным и зачёркивается.
Далее, скрипты. В диалоге с Рэмбо, в ветке отвечающей за согласие чузена выполнить квест, задаем ГВАРЕ 634 значение 1 (единица). Квест отмечается в пип-бое. Затем, если Коварный убит, в диалоге Рэмбо появляется новая ветка. Что-то вроде "Well done! You've killed Kovarny! Quest completed!". При вызове этой ветки задаём нашей ГВАРЕ значение 2 (двойка). Квест зачёркивается в пип-бое и считается выполненным.

Q:Как мне добавить в игру новый объект (криттер, стенку, объекты окружения(scenery))?
Все объекты в Fallout описываются в .pro-файлах. Такой файл - это как-бы каркас, на который уже навешивается графика, звуки, скрипты... и т.д.
Для создания/редактирования .pro-файлов существуют специальные программы.
Например вот две проги для редактирования предметов: FIME и FIC.
Для редактирования криттеров: FUCK.
Но лучше воспользоваться возможностью оффициального маппера от БИС. Как активировать и использовать эту возможность можно прочитать тут.

Спасибо Jochua за инфу о map.msg и worldmap.msg.

(Отредактировал(а) Kovarny - 22:46 - 12 Авг., 2004)

-----
Схватился за стебель я
Чтобы в пропасть мне не упасть
А это была крапива.

Отправлено: 8:29 - 12 Авг., 2004
Jochua
Пользователь

Регистрация: Март 2003

Всего: 162 сообщения

>если это изображение нового предмета в инвентаре, то в data\art\inven.

Нелишне указать, что в общем случае для совсем нового предмета можно еще забацать картинку и в data\art\items (и, соответственно, зарегить ее в нужном lst-файле)

>На данный момент мне не совсем понятна связь между номером карты и номером строки из map.msg

Вроде как в теме "Строительство карт и..." все это обсасывалось и выяснялось.

>Затем указывается название карты из файла maps.txt. Три следующих цифры не совсем понятны. Рекомендуется указывать -1,-1,0

Странно, опять же, все же уже выяснено - это, соответственно, номер уровня указанной в entrance карты, гекс и ориентация чузена.

>Если вам не понятно, что такое "количество_локальных_переменных", то ставьте там десять, потом разберётесь.

Если скрипт для персонажа, то там в большинстве случаев необходимо задать некий минимум локальных переменных скрипта, котрые пользуют стандартные конструкции такого скрипта. Что есть критично для разработки скрипта

-----
Палимый солнцем фриманец

Отправлено: 9:19 - 12 Авг., 2004
Kovarny
Пользователь

Откуда: Руссия, Новосибир ...
Регистрация: Июнь 2003

Всего: 114 сообщений

>Нелишне указать, что в общем случае для совсем нового предмета можно еще забацать картинку и в data\art\items (и, соответственно, зарегить ее в нужном lst-файле)

Мне кажется, немного неуместно, т.к. вопрос о добавлении .frm-шек, а не предметов.

>Вроде как в теме "Строительство карт и..." все это обсасывалось и выяснялось.

Удивительное - рядом! Как это я проморгал? Исправлено.
Кстати, ты не против, если я твой обширный пост из той темы, посвящённый map.msg и worldmap.msg выдерну в отдельную доку и ссылку на неё запощу в ФАК? Потому как инфа нужная.

>Странно, опять же, все же уже выяснено - это, соответственно, номер уровня указанной в entrance карты, гекс и ориентация чузена.

Исправлено.

>Если скрипт для персонажа, то там в большинстве случаев необходимо задать некий минимум локальных переменных скрипта, котрые пользуют стандартные конструкции такого скрипта. Что есть критично для разработки скрипта.

Есть конкретные цифры? Wasteland Ghost говорила что-то о десяти. По моим подсчётам выходит, что их либо десять либо четырнадцать. Хотя этот вопрос стоит прояснить.

-----
Схватился за стебель я
Чтобы в пропасть мне не упасть
А это была крапива.

Отправлено: 19:54 - 12 Авг., 2004
Jochua
Пользователь

Регистрация: Март 2003

Всего: 162 сообщения

>Кстати, ты не против, если я твой обширный пост из той темы, посвящённый map.msg и worldmap.msg выдерну в отдельную доку и ссылку на неё запощу в ФАК? Потому как инфа нужная.

Хм, так ведь FAQ, насколько я понял, и делается по материалам форума. Т.е. вот как бы квинтисенция дельных мыслей, прозвучавших на форуме. Так что смело очищай от шелухи, прочитай, что там народ постил дальше, поправляя меня и других, и засовывай в FAQ Да там особо ничего нового то и нет...

>Есть конкретные цифры?
Да нет, у каждого скрипта розниться число переменных, конечно. Но для большинства скриптов персонажей, насколько я понимаю, есть то ли четыре, то ли пять локальных переменных, которые используют стандартные конструкции типа "видел или не видел чузена данный перс", "бежал данный перс от чузена или нет" и т.д. Эти переменные минимально необходимы для корректного сохранения состояния персонжа в save-файлах. Посему я и заметил, что если уж ты советуешь в FAQ брать за основу для своего скрипта уже присутствующий в игре скрипт, лучше бы этот заимствованный скрипт ислледовать на предмет количества локальных переменных, которые в нем используются, а не просто ставить до кучи 10 или 14. Так как может оказаться, что скрипт, к примеру, юзает 15, и, соответственно, будет проглюкивать, если ему недопрописать переменные. И наоборот, какой смысл задвать 10, если фактически базовый скрипт юзает 4 переменных, а в новый скрипт на его основе новых переменных не добавляется. Т.е. вот вопрос именно в ключе "обратить внимание", а не просто задать 10 и успокоится Исследовать скрипт на сей предмет очень просто. Можно глянуть в scripts.lst или поискать в исходнике скрипта упоминания соответствующих функций установки и взятия локальных переменных (хотя не могу утверждать, что последний метод пройдет с фирменными сырцами, где все погребено внутри макросов). Почему надежнее глянуть в сам скрипт а не в scripts.lst. Это уже к вопросу об оптимизации скрипта. Иногда переменные как раз прописаны "до кучи".

-----
Палимый солнцем фриманец

Отправлено: 9:32 - 13 Авг., 2004
Alan Killenger
Пользователь

Откуда: Россия, Ижевск
Регистрация: Июль 2004

Всего: 404 сообщения

Q: Как менять .msg-файлы в русскоязычной версии Фола? У меня в блокноте закорючки какие-то.

A: Блокнот тут не поможет. Нужен более продвинутый редактор типа Bred. Итак, открываем .msg-файл Бредом. Включаем кодировку OEM(866) если она ещё не включена. Если вы видите нормальные русские слова - поздравляем, можете дальше редактировать их в Бреде. Но при создании нового .msg-файла обязательно переключайте кодировку на OEM ещё до начала ввода текста. Если вы видите половину русских букв, а половину всякой гадости - опять-таки поздравляем, у вас версия от "Левой Корпорации" и гимора с ней будет немного побольше. Тут нам пригодится конвертер Лев.Корп-->866 за авторством COOLer. Скачать можно здесь. С помощью проги преобразуем файл в кодировку OEM(866) и правим его в Бреде. Затем сохраняем и перегоняем из OEM в Лев.Корп.

Хехе, иначе говоря, дабы поменять пару слов надобно: 
1. переводить в OEM(866); 
2. править; 
3. переводить в Fallout codepage.

Можно гораздо проще. Можете посчитать это рекламой, но в инете редактор фриварно скачать можно, RulNotes называется http://www.RulNote.udmlink.ru. Среди прочих его достоинств, свобода создания собственных кодировок: правите OEM(866), далее открываете редактируете и сохраняете непосредственно в родной фаллоутовской кодировке.

A: Хеадеры - это файлы с расширением *.h. Лежат там-же, где и исходники скриптов, поставляемые с маппером от BIS. Находятся в папке headers. Так вот, в файле itempid.h есть строчка:
#define PID_BOTTLE_CAPS (41)
Т.е в скрипте ты пишешь PID_BOTTLE_CAPS а при компиляции (точнее при препроцессинге) вместо этого получается 41. Подробнее см. вопрос про препроцессор.

Q: А не в исходниках эти headers где-нибудь лежат? То есть подправить их содержимое вообще никак или как-то можно? Взять party.h, там полно процедур - откуда идет их вызов? И, если их кто-то вызывает, то где хранится код?

(Отредактировал(а) Alan Killenger - 5:05 - 14 Авг., 2004)

Отправлено: 2:43 - 14 Авг., 2004
Kovarny
Пользователь

Откуда: Руссия, Новосибир ...
Регистрация: Июнь 2003

Всего: 114 сообщений

>Среди прочих его достоинств, свобода создания собственных кодировок: правите OEM(866), далее открываете редактируете и сохраняете непосредственно в родной фаллоутовской кодировке.

Насколько я понял, этот профиль кодировки надо ещё создать. Там даже прога лежит специальная. Пока его вроде нет.

>А не в исходниках эти headers где-нибудь лежат? То есть подправить их содержимое вообще никак или как-то можно? Взять party.h, там полно процедур - откуда идет их вызов? И, если их кто-то вызывает, то где хранится код?

Не понял, хеадеры лежат с исходниками в папке headers. Зачем они нужны где-то ещё? Вызов этих процедур идёт из скриптов. Код хранится тут-же в хеадере, например в том-же party.h есть такое:
#define If_Party_Has_Injured
После этого до следующего дефайна идёт код. Т.е. ты в скрипте подключаешь party.h, затем пишешь #define If_Party_Has_Injured а препроцессор вместо этого подставит тот самый код.


-----
Схватился за стебель я
Чтобы в пропасть мне не упасть
А это была крапива.

Отправлено: 17:10 - 14 Авг., 2004
Alan Killenger
Пользователь

Откуда: Россия, Ижевск
Регистрация: Июль 2004

Всего: 404 сообщения

>Среди прочих его достоинств, свобода создания собственных кодировок: правите OEM(866), далее открываете редактируете и сохраняете непосредственно в родной фаллоутовской кодировке.

>Насколько я понял, этот профиль кодировки надо ещё создать. Там даже прога лежит специальная. Пока его вроде нет.

- ??? Если ты о RulNote, то кодировки создаются и редактируются элементарно в самом RulNote'се. Или я не понял о чем ты?..

>А не в исходниках эти headers где-нибудь лежат? То есть подправить их содержимое вообще никак или как-то можно? Взять party.h, там полно процедур - откуда идет их вызов? И, если их кто-то вызывает, то где хранится код?

>Не понял, хеадеры лежат с исходниками в папке headers. Зачем они нужны где-то ещё? Вызов этих процедур идёт из скриптов. Код хранится тут-же в хеадере, например в том-же party.h есть такое:
#define If_Party_Has_Injured
После этого до следующего дефайна идёт код. Т.е. ты в скрипте подключаешь party.h, затем пишешь #define If_Party_Has_Injured а препроцессор вместо этого подставит тот самый код.

- То бишь можно спокойно создавать свои заголовки и править старые, а откомпилив скрипт удалять их? Пример: в пресловутом party.h ставим ограничение команды 10, рекомпилируем скрипты напарников, воаля - с нами ходит с десяток помошников?

Q: Много говорится о разных видах переменных, но вот вопрос: какого типа эти переменные, те же самые LVAR'ы или GVAR'ы или локальные внутрискриптовые переменные? Хотя бы какое количество байт?

Q: Как правильно задавать начальное значение LVAR'ов? В scripts.lst я пишу только количество, но не начальные значения. Проставляются ли начальные значения переменных по умолчанию?

Q: Всего этих GVAR'ов такое количество <не помню эту цифру>. Почему?


(Отредактировал(а) Alan Killenger - 10:42 - 15 Авг., 2004)

Отправлено: 0:29 - 15 Авг., 2004
Perceptron
Модератор

Откуда: Ivanovo
Регистрация: Май 2003

Всего: 502 сообщения

2 Alan Killenger:

Цитата:
- Дык, вроде в комплекте fallout исходники не поставляются, а скрипты работают - стало быть заголовки лежат в самих скриптах или нет?


А зачем заголовочные файлы к откомпилированным скриптам прикладывать? Ты сам подумай, весь код из хедеров уже вставлен в скрипты на этапе компиляции (даже до нее ;) ).

Ведь что делает препроцессор: просто тупо подставляет вместо макросов их код (из хедеров).
Т.е., есть у тебя такое чудо:
#define reg_anim_begin()    reg_anim_func(REG_ANIM_BEGIN, RB_UNRESERVED)
Если ты в своем скрипте вставишь где-нибудь reg_anim_begin(), препроцессор его заменит на reg_anim_func(REG_ANIM_BEGIN, RB_UNRESERVED). А компилятор затем это откомпилирует.

-----
Into The New Year - With A New Vision!
Документация по скриптам, туториал по скриптам, вопросы по скриптам, FAQ по моддингу, "Утилиты", fallmods-tutor.

Отправлено: 2:08 - 15 Авг., 2004
Kovarny
Пользователь

Откуда: Руссия, Новосибир ...
Регистрация: Июнь 2003

Всего: 114 сообщений

2Alan Killenger: А вот теперь объясни мне, зачем ты свой пост отредактировал уже после того, как на него ответили? Больше так не делай.

>- ??? Если ты о RulNote, то кодировки создаются и редактируются элементарно в самом RulNote'се. Или я не понял о чем ты?..

Ты всё понял. Для добавления новой кодировки необходимо создать файл .cp. Есть такой файл для кодировки Лев.Корп? Я его не нашёл. Значит применение данной проги в заданной области пока под вопросом.

>- То бишь можно спокойно создавать свои заголовки и править старые, а откомпилив скрипт удалять их? Пример: в пресловутом party.h ставим ограничение команды 10, рекомпилируем скрипты напарников, воаля - с нами ходит с десяток помошников?

В этом и есть одна из фишек БИСовского компиля.

Q: Как правильно задавать начальное значение LVAR'ов? В scripts.lst я пишу только количество, но не начальные значения. Проставляются ли начальные значения переменных по умолчанию?
Да, они приравниваются к нулю.

Какая структура у файлов map.msg и worldmap.msg?
1. В DATA\TEXT\ENGLISH\GAME\MAP.MSG

а) Первый блок с 100 по 164 - на данный момент неизвестно.
б) Блоки с 200 по 652 - нименования уровней карт - именно эти названия лезут при отображении уточняющего названия в сэйве и на локальной карте. Каждый блок состоит ровно из трех записей(строк) для каждого уровня в карте. Даже если карта имеет всего один уровень, все равно необходимо привести пустую запись с уникальным порядковым номером. Нумерация сквозная. Блоки упорядочены в порядке следования соответствующих карт в DATA\DATA\MAP.TXT. Пример для карты ARCAVES.MAP:

# 03: Arroyo Temple, ARCAVES.MAP
{209}{}{Xрам: Вход }
{210}{}{Xрам: Залы}
{211}{}{Xрам: Святилище}

 Если регистрируем новую карту с одним уровнем в DATA\DATA\MAP.TXT, то в В DATA\TEXT\ENGLISH\GAME\MAP.MSG в раздел блоков описания уровней карт добавляем:

# 151. MyQuest Map ; Некая моя самопальная карта
{653}{}{MyQuest Entrance}  ; Следующий за последним 652 номером/Название первого уровня
{654}{}{} ; Пустая запись для несуществующего второго уровня
{655}{}{} ; Пустая запись для несуществующего третьего уровня

в)  Раздел коротких имен локаций с 1500 по 1548 - то, что лезет в наименование сэйва и отображается на глобкарте около кружочка локации, после того, как ента локация исследована. Номер записи считается, как 1500 + CITY_ID. Например, для Дэна:

{1501}{}{Дэн}

 Для новой локации (нужен патч, снимающий ограничение на число локаций) нужно добавить в конец строку со следующим за последним порядковым номером:

{1549}{}{Новая локация}

 Если за основу берется пустая локация, например Abbey, то надо подправить соответствующую запись:

{1517}{}{MY QUEST CITY}

2. В DATA\TEXT\ENGLISH\GAME\WORLDMAP.MSG

 Содержит набор блоков, описывающих места посещений локаций, отсвечиваемые на картинках схем локаций, а также описывающих случайные встечи. Каждой локации соответствует блок, описывающий все те места, доступные для посещения в данной локации, которые указаны в регистрационной записи локации в DATA\DATA\CITY.TXT в ключах "entrance". Запись для Дэна:

[Area 01]                ; The Den
area_name=Den
world_pos=473,272 ;573,222
start_state=On
size=Large
townmap_art_idx=160
townmap_label_art_idx=372
entrance_0=On,124,293,Den Business 1,-1,-1,0
entrance_1=Off,256,334,Den Business 2,-1,-1,0
entrance_2=Off,-1,-1,Den Residential 1,-1,-1,0

Номера записей блока высчитываются, как 200 + CITY_ID * 10 + ENTRANCE_ID, где ENTRANCE_ID от 0 до N в соответствии регистрационной записи локации под номером CITY_ID в DATA\DATA\CITY.TXT. Например, для того же Дэна:

# Den
{210}{}{Западная Сторона}
{211}{}{Восточная Сторона}
{212}{}{Жилой Квартал}

(Отредактировал(а) Kovarny - 23:55 - 15 Авг., 2004)

-----
Схватился за стебель я
Чтобы в пропасть мне не упасть
А это была крапива.

Отправлено: 20:47 - 15 Авг., 2004
 

Переход по темам
<< Пред.
Страницы этой темы [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ] Все собщения


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