SCUM
Not enough ratings
Создание своих квестов
By Silent Bob
Тут я кратко расскажу о своем опыте создания квестов на русском языке для своего сервера.
   
Award
Favorite
Favorited
Unfavorite
О чём?
Сразу на берегу скажу, что полная и исчерпывающая информация об этом процессе есть в официальном дискорде разработчиков[discord.gg], в руководстве[docs.google.com] от них же, а так же наглядно показывается в видео на канале Proto1G. Процесс довольно простой и без знания языка, каких то подводных камней не наблюдал. Я лишь изложу все это на русском по просьбе товарищей, кому я помогал создавать кооп-серваки.

С релизом игры у нас появилась возможность создавать не только свой личный сервер без прыжков с бубном и платными хостами, но писать туда свои квестики. Я немного углубился в эту тему и был воодушевлен возможностями, которые нам предоставили.
О том, как создать свой сервер без бубнов, я рассказал в предыдущем руководстве тут[boosty.to] или тут.

На мой взгляд, SCUM не всегда справляется с попыткой быть и пвп-дейзом, и пве выживачом. В угоду пве в игре появляются различные механики, которые вроде и интересно сделаны, но пвпшникам и даром не дались. В угоду пвп разработчики пытаются удержаться в рамках 64 тел на сервер и ради оптимизации убивают погружение в игру - заколачивают дома, убивают интересный спавн врагов (как было до орды). Однако, это самое погружение вполне неплохо могут помочь квесты.
Алгоритм
Свои квесты можно сделать как для соло режима, так и для сервера. Кроме того, рекомендую сначала потестить сделанное в соло с годмодом, прежде чем кидать на сервер. Создаем все в песочнице, а потом спокойно можно кидать в папочку сервера.

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

Одиночная игра:
Заходим в песочницу или на сервер, вызываем чат и пишем туда #ExportQuests
Теперь по адресу C:\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\AppData\Local\SCUM\Saved\Config\WindowsNoEditor появится нужная нам папка Quests (для сервера это будет папка Steam\steamapps\common\SCUM Server\SCUM\Saved\Config\WindowsServer). Внутри будут находиться три папки:
  • Blocked - внутри файлик, где мы можем заблокировать не нужные нам в игре квесты, в том числе отключить все ванильные
  • Override - внутри будут находится создаваемые нами задания. В том числе в нем уже будут автоматически сгенерированы три квеста чисто для примера.
  • QuestList - внутри лежит файлик, где написано, какие квесты игры подгрузила в последний раз - отдельно для ванильных заданий и отдельно для кастомных. Когда вы напишете свой квест, вы можете снова прописать в игре команду #ExportQuests и проверить, подгрузило ли вообще вашу работу.

Собственно, все. В руководстве[docs.google.com] разработчики на английском описали синтаксис, но мы пойдем более простым путем. Добрый человек написал специальную программу с интерфейсом для нашего удобства. Скачать ее можно в дискорде разработчиков игры или с моего диска диска[drive.google.com], если лень.
Работа с Quest editor
Качаем, распаковываем куда нам хочется и запускаем.


Если программа запустилась на русском - меняйте язык на английский по кнопочке в правом верхнем углу, иначе ничего работать нормально не будет(по крайней мере у меня была ерунда). Разве что почитать что за что отвечает можно, но перевод кривоватый.
Тут сразу же нам открылся интерфейс создания квеста. Перед нами четыре вкладки:
  • Basic info - тут мы выбираем торговца, у которого будет доступен квест, уровень его сложности, название, описание и время на выполнение задания.
  • Rewards - вкладка отвечает за награды за выполнение задания
  • Conditions - вкладка отвечает за условия выполнения задания
  • JSON Preview - тут мы можем посмотреть на то, что у нас получается в виде "кода"


С первой и последней вкладкой вопросов наверняка не будет. Кратко расскажу про награды и условия.

Тут мы можем вписать, сколько за квест дадут денег, золота и славы. А так же можно дать в виде награды опыт в какой то навык (Add skill reward). Кроме того, можно в виде награды дать доступ к обмену у торговца на какой то товар(Add trade deal), который появится в специальной вкладке трейдера, даже если сам предмет вообще запрещен к обмену на вашем сервере.


Существует ограничение в максимом 5 наград за квест. Считается это следующим образом:
1) Золото, деньги и слава в любой комбинации все вместе считаются за одну награду
2) Опыт в каждый новый навык будет считаться как одна награда
3) Первый по счету обмен у торговца будет считаться за две награды, а каждый последующий обмен как одна дополнительная.
Условия выполнения задания
Тут самое интересное - это и позволит нам оживить мир игры, сделать тупление за лутом более увлекательным.

Глобально у нас существует три условия - убийство, поиск предметов и взаимодействие с чем либо в мире. Можно совмещать эти условия и в одном задании можно послать игрока одновременно за яблоками с состоянием не менее, чем 50%, убийством конкретно военного зомбака из самодельного лука в определенной точке карты и заставить полежать на кровати(по факту - тыкнуть F на кроватку).
Отправлять игрока убивать (Add Elemination) можно как за группой зомби, так и за конкретными их типами. А так же можно указать роботов (старый или новый), рейзора и введенных с релизом болванчиков НПС. Все это настраивается в кнопочке "Elemenation Properties". Тут же можно настроить каким оружием следует выполнить квест - если ничего не указано, то разрешено любое.
Можно даже заставить искать это яблоко в какой то конкретной точке карты, если указать координаты во вкладке "map locations". Чтобы получить координаты, можно воспользоваться этой функцией на интерактивной карте в браузере, или же в игре прилететь в нужную точку и ввести команду #location.

Если вы создаете несколько условий для выполнения квеста, то можно указать очередность их выполнения через параметр Sequence Indexes в условии, начиная с 0. К примеру поставим индекс на поиск яблок 0, а остальным условиям индекс 1. Тогда лежание на кроватке и убийство зомбака засчитается только после сбора необходимого количества яблок. Если мы на этом условии не поставим галочку "can be auto completed", то придется еще эти яблоки и к трейдеру сначала притащить. Можно поставить галочку "player keeps items" и тогда при выполнении квеста жадный Сидорович яблочки не заберет.

Как только все настроили, жмем file и далее save quest. Выпрыгнет окошко с выбором директории для файла квеста. Выбираем папку Override. Этот файл можно потестить в песочнице, а потом закинуть в такую же папку Override для сервера. каждый новый квест - отдельный файлик. После захода в игру у торговца должны появиться ваши кастомные квесты. Для надежности в папке Blocked мы можем временно в файле BlockedQuests.json исправить параметр "BlockAllDefaultQuests" на "true".

Разумеется, после добавления новых квестов нужно перезапускать сервер или перезаходить в песочницу(достаточно из главного меню). Сам файлик квеста вы спокойно можете редактировать как вручную, так и загружая через программку.
Небольшой пример и итоги
Вроде бы условий дали немного, но их комбинация может быть очень интересной. Почему бы не дать награды за убийство роботов? Или вообще не создать что то типа тарковской системы, где задания высокого лвл сложности будут открывать обмены на хорошие патроны/пушки, запретив обычный обмен. И ведь для пвп это тоже будет неплохо - условно за тыкание ящиков, убийство зомбов и убийство нпс на территории большого города откроем хорошие патроны или взрывчатку за славу на 5-10 покупок(или прокачку взлома) и по итогу на той точке будут крутиться как выполняющие квесты, так и охотники на них.
Все это уж очень сильно напомнило мне Тарков, где квестики - основа прогресса. Прямо таки захотелось перенести какие то из этих заданий в игру. Собственно, вот пример одного из первых квестов для моего сервака - для оружейника нужно побить зомбиков в определенном городке, а в ответ прокачка стойкости.


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




Надеюсь, наведу кого то на создание интересных заданий и у кого SCUM заиграет иначе.
Но для полноценного изменения игрового опыта нужно напилить много заданий, а в одно лицо это будет сложно. С парочкой друзей мы решили поделать что то в духе таркова, буду выкладывать тут[boosty.to] , пока не надоест. Можете так же присылать свои задания туда же в диалог, будем собирать квестпак для веселого коопа (пока конечно "квестпакеров" три тела всего).
Пишите вопросы, буду дополнять статейку. Если было полезно - оцените руководство, дабы продвинуть его для масс.
1 Comments
Пафнутий 26 Oct @ 11:41am 
а где квесты выложили