Так как официальный редактор игры Сталкер никак не позволяет редактировать значения одиночной игры, а также редактировать скриптовые файлы, путей передвижения NPC и остальные ресурсы, мы станем писать квесты в... обыкновенном «Блокноте». У предоставленного подхода имеется только лишь одна проблема, которая пугает большинство модмейкеров, — неимение комфортной оболочки, редактора для просмотра внутренностей файлов элементарно нет. Но несмотря на все вышесказанное плюсов куда более: возможность правки всех характеристик, открытые для редактирования начальные коды и многое иное.
С чего же начать? Главным делом потренируемся в разработке простых
стандартных заданий типа «уничтожить лагерь», «убить сталкера», «отыщи
дорогой артефакт». Откройте в «Блокнот» файл task_manager.ltx
который лежит в папке gamedata\config\misc с распакованной игрой
(ежели у вас имеется только недавно поставленная версия «Сталкера»,
распакуйте базы при помощи специализированной программы S.T.A.L.K.E.R.
Data Unpacker (ТЧ, ЧН и ЗП)
Файл task_manager.ltx содержит информацию о простых игровых поручениях. Конструкция его такая. В первой части — от оператора [list] до sar_monolith — оглашаются особые метки, ответственные за включение новых квестов. Пример одной из таковых систем — tm_kill_stalker_5, это заглавие стандартной миссии. Во 2-ой части файла — после основного слова sar_monolith — располагаются слова заданий: цели, задачи, гиперссылки на диалоги. Разберем структуру 1-го из квестов, начинающегося с особой отметки [tm_kill_stalker_3] (при объявлении задания в первой части квадратные скобки ставить не надо): [tm_kill_stalker_3]
type = kill_stalker
community = actor
text = tm_kill_stalker_3_text
description = tm_kill_stalker_3_descr
parent = trader
target = sim_stalker_novice
;reward_money = 1000
reward_reputation = -5
reward_rank = 2
reward_item = af_blood
time = 86400
prior = 2
Рассмотрим главные характеристики. Самый 1-ый — type — описывает тип миссии, в данном случае — убить сталкера (kill_stalker). В Stalker предусмотрено некоторое количество видов обычных заданий: ликвидирование/охрана лагеря (параметр eliminate_lager/defend_lager), убийство сталкера (kill_stalker), розыск артефакта/части монстра/предмета (artifact/monster_part/find_item).
Параметр community содержит информацию о группировке, в которой состоит главный герой. Сообразно умолчанию во всех миссиях в качестве смысла предоставленной свойства употребляется главное слово actor (персонаж).
text — запись в файле stable_task_manager.xml, содержащей контент миссии. Контент отражается в разговорах.
description — в файле stable_task_manager.xml. Тут собран контент задания, изображаемый на КПК Меченого.
Последующая настройка — parent — описывает имя заказчика, в предоставленном случае trader (Сидорович).
target — цель, в этом квесте — уничтожение NPC — novice (sim_stalker_novice).
reward_money — оплата, которую получит главный герой после исполнения поручения.
reward_reputation — количество очков репутации, прибавляемое игроку после выполнения квеста. Вы сможете понизить репутацию за выполнение поручения, выставив в качестве значения хоть какое единое отрицательное количество.
reward_rank — численность ранговых очков за исполнение задания.
reward_item — бонусные вещи, вручаемые игроку, за выполнение задания.
time — время (в секундах), отведенное на выполнение задания.
prior — приоритет предоставленного поручения перед остальными. Единица ставится в том случае, ежели задание очень принципиально, и дальше по нисходящей.
Самое время поупражняться и видоизменить какой-нибудь уникальный игровой квест. Найдете строчку [tm_kill_stalker_5] (комбинацией кнопок Ctrl+F) и модифицируйте характеристики предоставленной миссии. К примеру, вы сможете элементарно повысить/снизить сложность игры, увеличив либо уменьшив время, назначенное игроку на исполнение поручения (time), снять знак блокировки строчки (символ ;), reward_money (денежное вознаграждение) либо, к примеру, подбавить параметру reward_reputation значение нуль, чтоб Меченый не утрачивал репутацию в Зоне.
Текстовый беспредел
С редактированием начального кода заданий мы справились. Идем далее и приступаем к редактированию игровых текстов. В папке gamedata\config\text\rus stalkera, найдите stable_task_manager.xml и откройте его в Excel.
После пуска Excel вы увидите, что вся информация из XML-файла станет распределена по столбцам — A и B, коим подходят наименования id (идентификационный номер) и text (контент). Ежели опускаться плавно книзу по столбцу id, то несложно определить так называемую регулярность. Строчки 3, 6, 9 и дальше в арифметической прогрессии содержат заголовок стандартной миссии. Строчки 4, 7, 10, 13, 16 с завершением _descr — краткое описание (цель), выводимое на КПК. Ну а строчки 5, 8, 11, 14 и дальше, кончающаяся на _text, содержат контент, отображаемый во время разговора с персонажем, у которого вы возымели поручение.
Таким образом, для конфигурации слов того либо другого одноуровневого поручения, написанного в task_manager.ltx, вам необходимо сделать следующие манипуляции. Главным делом скопируйте в «Блокнот» заглавие конкретной миссии из task_manager.ltx (в отсутствии квадратных скобок), ее отображение для вывода на КПК (description) и контент разговора (text). Потом попеременно найдете выписанные главные слова в XML-файле stable_task_manager.xml и модифицируйте контент каждой из записей. Окончив правку задания, сохраните все и протестируйте квест.
Квестострой
Ныне, когда вы знаете основы редактирования игровых квестов, можно
испытать силы в создании собственного личного квеста — сотворить нужные
записи в task_manager.ltx, а еще обеспечить квест текстовой
информацией.
Откройте блокнотом файл task_manager.ltx из gamedata\config\misc. Найдете главное слово sar_monolith и с новой строчки добавьте:
; Ваш авторский комментарий
[mission_name]
Здесь [mission_name] — произвольное название миссии, к примеру, tm_kill_stalker_7.
Дальше скопируйте любое типовое поручение, к примеру, [tm_kill_stalker_2] в буфер и поместите в самый конец документа. Поменяете заглавие копированной миссии, в квадратных скобках, на название квеста, заявленного вами в перечне заданий. Отредактируйте характеристики уникальной миссии, при необходимости можно добавить доп команды. Самое основное — не пренебрегайте исправить значения характеристик text и description, которые подходят заглавиям текстовых записей в файлах gamedata\config\gameplay\storyline_info_taskmanager.xml и gamedata\config\text\rus\stable_task_manager.xml. Потом откройте в блокноте storyline_info_taskmanager.xml из gamedata\config\gameplay и добавьте в конец файла следующее: <article id="[descr]" name="kill_stalker" article_type="task">
<text>[descr] </text>
</article>
В предоставленном фрагменте кода [descr] — значение description в теле квеста, (у нас — tm_kill_stalker_7_descr).
Осталось сделать изменения в stable_task_manager.xml, хранящем диалоги заданий на русском языке. Перейдите в gamedata\config\text\rus и при помощи редактора Excel — откройте stable_task_manager.xml. Передвиньте ползунок в правой части програмки в нижнюю часть документа. В ячейке на пересечении 391 строчки и главного столбца введите главное слово, соответственное наименованию вашего квеста в task_manager.ltx. После этого в поле напротив (клетка B-391) напечатайте заглавие нового задания.
В поле A-392 (A — заглавие столбца, 392 — последовательный номер строчки) вбейте заглавие, написанное в качестве параметра description вашей миссии, а в области B-392 — контент сообщения, который станет подан на КПК игрока. В ячейке A-393 напишите значение свойства text вашего квеста и в поле напротив наберите текст поручения для отражения во время диалога меж Меченым и нанимателем. Сохраните конфигурации и закройте Excel.
Ссылка на эту страницу:
и ББкод для использования на форумах и в комментариях:
я понял как делать, но я допустим привязал задание "найти дезерт игл (улучшеный)" к арни (хозяину арены) но задание не работает. может я неправильно вписываю имя заказчика? в конфиге написано arena_manager.
Слушай сюда, вот как надо делать: 1)Сделаем дискрипт версии: Например: ([путь к игре]/gamedata/config/gameplay) Всавим мой квест с Волком (в самый конец)! <article id="desc_tm_bond007in_qest" name="find_item" article_type="task" > <text>desc_tm_bond007in_qest</text> </article> 2)Теперь зареганим в Task'е (gamedata/config/misc), а название файла - task_manager.ltx В нём ищем строки - ;tasks for zastava_commander zastava_commander_eliminate_lager ;tasks for wolf wolf_eliminate_lager_1 wolf_eliminate_lager_2 ;tasks for petrenko petrenko_kill_stalker ;tasks for hunter hunter_eliminate_lager ;tasks for lisiy lisiy_kill_stalker ;tasks for drunk dolg drunk_dolg_find_item ;tasks for shustriy shustriy_find_item ;tasks for Mercenary mercenary_kill_stalker И добавляем наши, тоесть у нас получится: ;tasks for zastava_commander zastava_commander_eliminate_lager ;tasks for wolf wolf_eliminate_lager_1 wolf_eliminate_lager_2 ;tasks for petrenko petrenko_kill_stalker ;tasks for hunter hunter_eliminate_lager ;tasks for lisiy lisiy_kill_stalker ;tasks for drunk dolg drunk_dolg_find_item ;tasks for shustriy shustriy_find_item ;tasks for Mercenary mercenary_kill_stalker tm_bond007in_qest И в самом конце файла пишешь: [tm_bond007in_qest] community = actor type = find_item parent = wolf target = wpn_ak74 prior = 0 reward_money = 10000 reward_rank = 100 reward_item = wpn_abakan text = text_tm_bond007in_qest description = desc_tm_bond007in_qest
№3 (финал) Наверное вы уже устали, но это финишная прямая! Пишем в (gamedata/config/text/rus) файл с названием: stable_dialog_manager.xml, пишем в самом конце - перед:</string_table> После: </string> Пишем следущее: <string id="tm_bond007in_qest"> <text>Найти АК74 - наш квест</text> </string> <string id="text_tm_bond007in_qest"> <text>Найди мне АК74, я в долгу не останусь!</text> </string> <string id="desc_tm_bond007in_qest"> <text>Найти для Волка АК74</text> </string> И всё, наш квест создан, у Волка будет новое задание (всё это было представлено для stalker тч)!
Администрация сайта не несет ответственности за возможные неполадки связанные с несовместимостью программного обеспечения! Копирование материалов сайта разрешено только с согласия администрации!