Каталог статей, Гайды и статьи, Stalker

Создание типовых квестов


Автор:
  Дата публикации: 16.04.2021, 16:55 · 1 287 · 0
  1. Описание
На портативный компьютер Меченого пришло очередное задание — найти и уничтожить в глухом лесу волка-отшельника.

Темный лес, звенящая тишина, отсутствие признаков жизни. Вдруг Меченый замечает на опушке домик, заходит внутрь и встречает хозяина, который рассказывает ему об ужасах, происходящих в этих местах.

Это не сюжет продолжения «Сталкера», а лишь одна дополнительная миссия, созданная в нашей игровой лаборатории. В предыдущих статьях мы изучали интерфейс редактора карт из официального SDK и учились создавать простые уровни для игры на основе стандартных объектов и новых сцен, созданных в 3DS Max. 

Сегодня мы хотим рассказать о том, как писать несложные типовые квесты для игры.

Быстрый старт

Поскольку официальный редактор не позволяет редактировать уровни одиночной игры и файлы скриптов, мы будем писать квесты в обычном «Блокноте». Единственный минус этого подхода — отсутствие удобной оболочки и редактора для просмотра содержимого файлов. Зато плюсов гораздо больше: возможность правки любых параметров, открытые для редактирования исходные коды и многое другое. Игра стоит свеч.

С чего начать? Давайте сначала попрактикуемся в создании простых заданий типа «убить сталкера», «уничтожить лагерь», «найди ценный артефакт».

Запустите «Блокнот» и подгрузите в него файл task_manager.ltx из директории gamedata\config\misc с распакованной игрой (если у вас есть лишь недавно установленная версия «Сталкера», разархивируйте базы данных игры при помощи утилиты S.T.A.L.K.E.R. Data Unpacker).

Файл содержит информацию о простейших игровых заданиях. Структура его следующая. В первой части файла — от оператора
до кейворда sar_monolith — объявляются специальные метки, ответственные за подключение новых квестов к игре. Пример одной из таких конструкций — буквосочетание tm_kill_stalker_5, это название типовой миссии. Во второй части файла — после ключевого слова sar_monolith — размещаются тексты заданий: цели, задачи, ссылки на диалоги. Разберем структуру одного из квестов, начинающегося со специальной метки [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

Рассмотрим основные параметры. Самый первый — type — отвечает за тип задания, в данном случае — уничтожить сталкера (kill_stalker). В игре предусмотрено несколько видов стандартных заданий: уничтожение/защита лагеря (параметр eliminate_lager/defend_lager), убийство сталкера (kill_stalker), поиск артефакта/конечности монстра/предмета (artifact/monster_part/find_item).
Поскольку специальных редакторов и утилит для изменения «Сталкера» нет, приходится править скрипты в «Блокноте», а игровые тексты — в табличном редакторе Excel. Не очень удобно, но альтернативы просто нет.

Параметр community определяет группировку, к которой принадлежит главный герой. По умолчанию во всех миссиях в качестве значения данной характеристики используется ключевое слово actor (персонаж).

text — название записи в файле stable_task_manager.xml, содержащей текст задания. Текст отображается в диалогах.

description — запись в файле stable_task_manager.xml. Здесь собран текст миссии, выводимый на PDA Меченого.

Следующая настройка — атрибут parent — определяет имя заказчика, в данном случае trader (торговец Сидорович).

target — цель миссии, в текущем квесте — убийство одного из сталкеров — novice (sim_stalker_novice).

reward_money — награда, которую получит игрок после выполнения задания.

reward_reputation — число очков репутации, добавляемое игроку после прохождения квеста. Вы можете понизить Меченому репутацию за выполнение задания, выставив в качестве значения атрибута любое целое отрицательное число.

reward_rank — количество ранговых очков за выполнение миссии.

reward_item — бонусные предметы, вручаемые главному герою, за прохождение квеста.

time — время (в секундах), в течение которого игрок должен пройти миссию.

prior — приоритет данного задания перед остальными. Цифра 1 ставится в том случае, если задание крайне важно, и далее по нисходящей.

Самое время попрактиковаться и модифицировать какой-нибудь оригинальный игровой квест. Отыщите строку [tm_kill_stalker_5] (для вызова меню поиска в «Блокноте» воспользуйтесь комбинацией горячих клавиш Ctrl+F) и модифицируйте параметры данной миссии. Например, вы можете просто повысить/понизить сложность игры, увеличив или уменьшив время, отведенное игроку на выполнение задания (параметр time), снять значок блокировки строки (символ ;), reward_money (денежное вознаграждение) или, скажем, придать параметру reward_reputation значение ноль, чтобы Меченый не терял репутацию в Зоне.
Текстовый беспредел

С правкой исходного кода миссии мы разобрались. Движемся дальше и приступаем к модификации игровых текстов. Загляните в каталог gamedata\config\text\rus установленной игры, отыщите в директории файл stable_task_manager.xml и откройте его при помощи табличного редактора Microsoft Excel.

После запуска программы вы увидите, что вся информация из XML-файла будет распределена по двум столбцам — A и B, которым соответствуют названия id (идентификационный номер) и text (текст). Если спускаться плавно вниз по столбцу id, то нетрудно установить так называемую закономерность. Строки 3, 6, 9 и далее в арифметической прогрессии содержат заголовок типовой миссии. Строки 4, 7, 10, 13, 16 с окончанием _descr — краткое описание (цель задания), выводимое на PDA главного героя. Ну а строки 5, 8, 11, 14 и далее, заканчивающаяся на _text, содержат текст, отображаемый во время диалога с персонажем, у которого вы получили задание.

Таким образом, для изменения текстов того или иного одноуровневого задания, прописанного в файле task_manager.ltx, вам нужно проделать следующие нехитрые манипуляции. Первым делом скопируйте в «Блокнот» название определенной миссии из task_manager.ltx (без квадратных скобок), ее описание для вывода на PDA (параметр description) и текст диалога (text). Затем поочередно отыщите выписанные ключевые слова в XML-файле stable_task_manager.xml и модифицируйте текст каждой из записей. Закончив правку задания, сохраните все изменения и протестируйте квест в игре.Тонкости квестостроения

Чтобы оставить свой собственный авторский след в файле task_manager.ltx, да и вообще в любом конфигурационном файле «Сталкера», нужно всего-то лишь поставить в нужном месте (после кода или с новой строки) символ точки с запятой и после него вживить комментарий, например: tm_eliminate_camp_4 ; игроманский комментарий, не удалять.
Далеко не все квесты, написанные разработчиками, вошли в оригинальную игру. Что, никогда о таком не слышали? Тогда имейте в виду, что, например, в файле task_manager.ltx содержится ряд закомментированных, но вполне рабочих заданий, цель которых сводится к убийству сталкеров и поиску полезных вещиц. После тщательного прочесывания документа на наличие такого рода заданий мы обнаружили следующие заблокированные квесты:

;--[barmen_eliminate_camp_3]

;--[barmen_find_item_1]

;--[barmen_find_item_2]

;--[barmen_find_item_3]
Для преобразования геймплея S.T.A.L.K.E.R. достаточно поправить всего лишь несколько параметров каждой типовой миссии в файле task_manager.ltx. Как вариант, вы можете значительно сократить время, отведенное на выполнение каждого квеста, занизить очки репутации за прохождение той или иной миссии, но в то же время в несколько раз увеличить число бонусов и денежных средств.

Квестострой

Теперь, когда вы изучили основы редактирования однотипных игровых заданий, можно попробовать силы в написании своего собственного квеста — создать необходимые записи в менеджере заданий (файл 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. Затем откройте «Блокнотом» 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 — текст сообщения, который будет подан на PDA главного героя. В ячейке A-393 пропишите значение характеристики text вашей миссии и в поле напротив наберите текст задания для отображения во время беседы между Меченым и работодателем. Сохраните изменения и закройте табличный редактор.
* * *

Мы изучили азы создания несложных квестов для S.T.A.L.K.E.R. и попутно разобрали структуру скриптовых файлов. Если тема создания новых миссий для «Сталкера» вам интересна, обязательно загляните в раздел «Игрострой» на нашем DVD. Там вас поджидает подробное руководство по разработке сложных миссий и написанию нелинейных диалогов для S.T.A.L.K.E.R.. Заранее предупреждаем — материал рассчитан на модмейкеров со стажем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

BelarusianChinese (Traditional)CzechDanishDutchEnglishFrenchGermanIndonesianItalianJapaneseKoreanLatvianPolishPortugueseRussianSpanishThaiTurkishUkrainian

Категории

Чат доступен только для зарегистрированных пользователей. Войдите в аккаунт для общения в чате.

Лента комментариев

Замечен конфликт Spent_Cum_Kiss с PEP. Если PEP загружается до Spent_Cum_Kiss, то последний просто не работает, так как они оба переписывают "ванильный поцелуй". Можно попробовать например тогда переименовать папку с модом PEP так, чтобы она по алфавиту была ниже, чем этот мод, должно заработать, думаю PEP работать не перестанет от того, что в нем станет на 1 оверрайд меньше.
Сегодня, 03:42
У кого есть перевод на версию мода 1.57? Дайте, пожалуйста
Сегодня, 02:27
Для тех, кому всё ещё интересен этот мод на версии Симс 4 1.116, версия с сайта, требующая инжектор, при трансформации в сервобота (когда выбираешь человеческую форму серво), игра одевает его в очень странный костюм (то есть из выбранного вами только голова сима-человека). Чтобы этого избежать, скачайте с сайта-источника версию этого мода, которая инжектора не требует, и ещё с того же сайта у этого же автора найдите мод серво-читы и трансформируйте ваших симов в андроидов с его помощью. Тогда симы будут выглядеть как люди (то есть человекоподобные), но являться андроидами. Всем удачи! 
Сегодня, 00:27
Ааа. Я еще до 115 полностью не успел обновится. Уже 116 вышла Lol 
Вот бы была программа, которая автоматически все пиратские моды обновляет до нужной версии. Цены бы ей не было.
PS: интересная бизнес идея, с платной подпиской, админам на заметку Cool
Сегодня, 00:15
не ждите 
Согласно официальному летнему плану, крупный патч для игры выйдет 1 июля, а релиз дополнения — 10 июля.
Я буду очень занят в течение первых нескольких недель июля и не смогу получить доступ к своему основному компьютеру; я не буду вносить никаких изменений в свои моды в ответ на патч или расширение, пока меня не будет, и у меня не будет много времени, чтобы принимать какие-либо отчеты или заниматься устранением неполадок. Вам не следует ожидать, что какие-либо из моих модов будут обновлены до 15 июля в лучшем случае.
Как и в случае с любым патчем для расширения, я ожидаю, что многие моды, включая мои собственные, сломаются. В частности, Home Regions и Career Overhaul, скорее всего, будут иметь проблемы, а другие, такие как Townie Demographics и мои черты, потребуют обновлений для интеграции с новым контентом. Если вы относитесь к тем игрокам, которые полагаются на мои моды для гармоничной работы своей игры, сейчас самое время подумать о переводе вашего приложения EA в автономный режим и отложить патч.

Вчера, 23:59
У меня некоторые последние версии модов на S4-112 работать не хотели. Но после обновления до 115 все нормально заработало. Хотя уже конечно 116 последняя на данный момент.
Вчера, 22:48
Уже давно вышла версия 2.2. Обновите, пожалуйста! И ссылку на источник тоже.

Вчера, 22:16
старую версию можно найти на бусти - она бесплатная
Вчера, 21:21
Сломаны все моды от Kuttoe, ждём...
Вчера, 20:15
да, постоянно выскакивает
Вчера, 20:02
А до завтра подождать никак?
Вчера, 19:57
У меня ещё страннее: две беременные симки, тесты сделаны, у одной пункт на телефоне есть, у другой нет.

Вчера, 19:46
с последними обновлениями работает мод?
Вчера, 19:24
ЗАМЕТИЛА ВАЖНУЮ ШТУКУ:
ели прям совсем ничего не помогает, в инструкции анадиуса так же написано, что можно попробовать открыть эти ссылки через режим инкогнито. Я все делала по инструкции, ничего не получилось. Но именно этот совет мне помог! (но конечно, все таки, до этого надо все делать по инструкции)
Вчера, 18:55
такая же история ( 
у вас получилось разобраться? 
Вчера, 17:13
Здравствуйте. У моей симки подвисла "неприличная татуировка" на лбу из тренинга ДоС. Может кто знает, где и как можно поискать где она прицепилась и как её убрать?

Теперь подробно о проблеме:
Играю я в формате "месяц регулярно - несколько месяцев перерыв". Осенью после перерыва обновила игру, но не обновила ui моды, поломался интерфейс в нескольких сохраненках. Проблема решилась только последовательным отсеиванием сохранений по сроку давности до "чистого". В итоге по прогрессу семьи откат произошел на некоторое время - вот именно в это время эту опцию тренинга я и проводила. Однако, тогда к игре я в итоге не вернулась, но вернулась неделю назад (обновив уже все, что было можно). Но внезапно у симки при загрузке сохраненки вылезла эта "татушка". По прогрессу игры, в этой сохраненке я её даже не делала. Однако приклеилась она к ней "намертво". Что я уже пробовала делать:
1. Ждать. По моду, на сколько я помню, это временная функция, кажется, на два дня, но два дня прошли, а оно так и висит.
2. Копалась в касе. Не нашла её нигде, однако, если использовать функцию "очистить все" на разделе с татуировками, она пропадает (если убирать тату по одной - нет). Но пропадает она ровно до первого переодевания симки в режиме жизни, потом появляется снова.
3. Убирала ДоС совсем. Татушка ушла, в процессе игры не появлялась, все ок. Однако, даже на сохраненке, где я какое-то время провела в режиме жизни и только потом вернула ДоС, после возвращения его в моды мне нужно было все выстраивать заново (навыки, сертификат, контракт и т.д.), но татушка появилась сама собой сразу же после загрузки.

Мои идеи закончились. Удалять ДоС совсем не очень бы хотелось - хотела выстроить на нем целую линию истории. Но и в таком виде оставаться вообще не хочется. Если у кого-то была такая проблема или есть идеи, что ещё попробовать - буду благодарна. 

Скрин с проблемой прикрепляю ссылкой, по-другому не получается: https://disk.yandex.ru/i/sgo5o91QE7eEkQ
Вчера, 13:49
Ребят, тут есть традиция в виде подачи налоговой декларации, а без мода на эту самую налоговую, ничего сделать не получится. Здесь, кстати, этот мод есть)
Вчера, 12:54
а бесплатного перевода нет?
Вчера, 12:17
В самой игре требует обновить мод, новая версия 2.2.9d вышла получается
Вчера, 12:10
WickedWhims Inappropriate Unlock нужен.
Вчера, 11:56
И?
Вчера, 11:19
Тоже не понятен пункт "Любой мод, убирающий смерть от эмоций (чтобы симы не умирали от одного вида обнажёнки) ". 
без него не работает? 
мод скачала, но никаких изменений не вижу...

Вчера, 10:35
Добавить волосы на яйца и измерить член можно, остального пока не видел.

Вчера, 03:38
В общем игра этот мод действительно не видит. Может дело в том что Инжектор обновился, теперь вообще никаких взаимодействий при высокой шкале романтики не появляется( У меня тоже не работает теперь. Удалил.
Вчера, 08:40
Подскажите, пожалуйста, почему может не работать данный мод. Скачала всё правильно, загрузила и перевод, и рецепты. В итоге и перевода нет, и не открывается ни одна вкладка с рецептами. Просто висит белое окно.
Вчера, 01:24
Для игры еще нету моддинг инструментов чтобы писать скрипты для таких модов, пока только шмотки и прочее.
А появятся они судя по roadmap только к концу года..
Вчера, 00:55
все равно не помогает...
когда заходишь в игру там пишет список установленных модов и он среди них есть,но просто нету всех этих действий потом в игре
6 июля 2025 21:43
Вышла версия 4.4. Версия 4.3 ломает последнюю версию игры.
6 июля 2025 21:38
Я создала отдельную папку, назвала "extreme violence" и из архива всё туда выгрузила как есть. Работает нормально. Отдельная папка удобнее тем, что потом ничего не потеряется, когда мод нужно будет обновлять) 
6 июля 2025 21:15
Angel Ждём-с
6 июля 2025 18:54
сим превратился в келпи. подскажите, пожалуйста, как убрать это состояние, оставить только русалку
6 июля 2025 18:33
Будет альтернатива - обязательно добавим.
6 июля 2025 18:12
То ли лыжи не едут, то ли я опять слегка того... Из-за мода перестала работать игруха. Вот такая шляпа вылезает
6 июля 2025 18:07

Команда сайта


Администратор

Редактор, переводчик

Переводчик