|
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
|
|
|
|