[SoC] Создание Типовых квестов.
|
|
|
Южный
Вторник, 29.03.2011, 23:23 | Сообщение # 1
Take Earth Back
Статус: |
|
Опытный: |
|
Сообщений: |
1661 |
Награды: |
7 |
Регистрация: |
03.03.2011 |
|
Создание типовых квестов. На PDA Меченого поступило очередное задание — найти и уничтожить в глухой чащобе волка-отшельника. Темный-темный лес. Звенящая тишина. Отсутствие видимых признаков жизни. Внезапно Меченый видит на опушке домик, заходит внутрь и встречается с хозяином, который рассказывает главному герою обо всех ужасах, творящихся в здешних местах. Нет, это не сюжет продолжения «Сталкера», а всего лишь одна дополнительная миссия. Сегодня мы двинемся дальше — осветим тему написания несложных типовых квестов для игры. Быстрый старт Поскольку официальный редактор не позволяет править уровни одиночной игры, а как следствие — редактировать файлы скриптов, путей следования NPC и другие ресурсы, мы будем писать квесты в... обычном «Блокноте». У данного подхода есть всего лишь один минус, который отпугивает большинство модмейкеров, — отсутствие удобной оболочки, редактора для просмотра содержимого файлов просто нет. Зато плюсов куда больше: возможность правки любых параметров, открытые для редактирования исходные коды и многое другое. Игра стоит свеч. С чего же начать? Первым делом попрактикуемся в создании несложных типовых заданий типа «убить сталкера», «уничтожить лагерь», «найди ценный артефакт». Запустите «Блокнот» и подгрузите в него файл 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 с игрой и добавьте в конец файла следующий блок: [descr] В данном фрагменте кода [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 вашей миссии и в поле напротив наберите текст задания для отображения во время беседы между Меченым и работодателем. Сохраните изменения и закройте табличный редактор. Весь текст не мой, но я его немного дополнил и оформил...
Сообщение отредактировал Южный - Вторник, 29.03.2011, 23:25
|
|
Вторник, 29.03.2011, 23:23
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
03.03.2011 |
|
|
|
|
|
Renson
Вторник, 29.03.2011, 23:25 | Сообщение # 2
[Genesis mod]
Статус: |
|
Бывалый: |
|
Сообщений: |
1053 |
Награды: |
2 |
Регистрация: |
03.07.2010 |
|
Унылый копипаст с Игромании притом не в том разделе.
|
|
Вторник, 29.03.2011, 23:25
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
03.07.2010 |
|
|
|
|
|
SkyLoader
Среда, 30.03.2011, 12:06 | Сообщение # 3
Статус: |
|
Бывалый: |
|
Сообщений: |
1116 |
Награды: |
12 |
Регистрация: |
29.11.2010 |
|
Да, перенесите тему в нужный раздел.
|
|
Среда, 30.03.2011, 12:06
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
29.11.2010 |
|
|
|
|
|
Vladok_04
Среда, 30.03.2011, 15:55 | Сообщение # 4
Статус: |
|
Отмычка: |
|
Сообщений: |
78 |
Награды: |
0 |
Регистрация: |
09.03.2011 |
|
Полезная статья +1
Сообщение отредактировал Vladok_04 - Среда, 30.03.2011, 16:30
|
|
Среда, 30.03.2011, 15:55
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
09.03.2011 |
|
|
|
|
|
dimkaaa57
Среда, 30.03.2011, 17:13 | Сообщение # 5
Статус: |
|
Отмычка: |
|
Сообщений: |
152 |
Награды: |
2 |
Регистрация: |
10.10.2010 |
|
Извените может я не по теме...Но скажите пожалуйста как сделать бесконечный спринт(выносливость)? Я поставил сначала кофициэнты по 0.99,а потом: cant_walk_power_begin = 0.01 ;порог силы меньше которого актер не может двигаться cant_walk_power_end = 0.10 ;порог силы больше которого актер сможет двигаться cant_sprint_power_begin = 0.20 ;порог силы меньше которого актер не может бежать в спринте cant_sprint_power_end = 0.30 ;порог силы больше которого актер сможет бежать в спринте Буду очень благодарен!
|
|
Среда, 30.03.2011, 17:13
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
10.10.2010 |
|
|
|
|
|
Южный
Среда, 30.03.2011, 17:19 | Сообщение # 6
Take Earth Back
Статус: |
|
Опытный: |
|
Сообщений: |
1661 |
Награды: |
7 |
Регистрация: |
03.03.2011 |
|
dimkaaa57, Скинул способ в лс. Автора способа я тоже подписал...
Сообщение отредактировал Южный - Среда, 30.03.2011, 20:17
|
|
Среда, 30.03.2011, 17:19
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
03.03.2011 |
|
|
|
|
|
WeskiF
Воскресенье, 03.04.2011, 17:52 | Сообщение # 7
Статус: |
|
Новичок: |
|
Сообщений: |
294 |
Награды: |
11 |
Регистрация: |
06.03.2011 |
|
А как полностью вырезать сюжет а нетолько квесты
|
|
Воскресенье, 03.04.2011, 17:52
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
06.03.2011 |
|
|
|
|
|
alex48sic
Вторник, 05.04.2011, 14:07 | Сообщение # 8
Статус: |
|
Отмычка: |
|
Сообщений: |
92 |
Награды: |
2 |
Регистрация: |
26.02.2011 |
|
Может кто нибуть обяснить квестостроение для ЗП))заранее спс
|
|
Вторник, 05.04.2011, 14:07
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
26.02.2011 |
|
|
|
|
|
barbadul
Вторник, 10.05.2011, 13:25 | Сообщение # 9
Статус: |
|
Гость: |
|
Сообщений: |
67 |
Награды: |
0 |
Регистрация: |
05.05.2011 |
|
Народ погите плизз.Как вырезать полностью стандартный сюжет тч.Ну чтоб ты появился без заданий вообще.Очень надо.Хочу опробовать себя в квестостроении.зарание спс.И ещо.Можно ли удалив сидоровича из спавна,удалить сюжет???Добавлено (10.05.2011, 13:25) --------------------------------------------- Ну или хотябы с заданием убить стрелка.Главное чтоб сидорович задание на атп не давал)
|
|
Вторник, 10.05.2011, 13:25
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
05.05.2011 |
|
|
|
|
|
Rolan
Среда, 11.05.2011, 06:53 | Сообщение # 10
Статус: |
|
Отмычка: |
|
Сообщений: |
169 |
Награды: |
2 |
Регистрация: |
31.05.2010 |
|
barbadul, Зачем копипастить топик в разные темы, смотри, я тебе в вопроснице ответил.
|
|
Среда, 11.05.2011, 06:53
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
31.05.2010 |
|
|
|
|
|
barbadul
Среда, 11.05.2011, 12:52 | Сообщение # 11
Статус: |
|
Гость: |
|
Сообщений: |
67 |
Награды: |
0 |
Регистрация: |
05.05.2011 |
|
Quote (Rolan) barbadul, Зачем копипастить топик в разные темы, смотри, я тебе в вопроснице ответил. Спс)Просто я сначало искал тему по квестам и задал вопрос в ней.Потом увидел тему вопросница,а она самая активная.Ну и решил что в квестостроение заходит мало народу и написал там)
|
|
Среда, 11.05.2011, 12:52
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
05.05.2011 |
|
|
|
|
|
Kotor
Суббота, 14.05.2011, 20:30 | Сообщение # 12
Статус: |
|
Отмычка: |
|
Сообщений: |
93 |
Награды: |
1 |
Регистрация: |
07.01.2011 |
|
это же для тч? а как на чн? там сильно отличаются???
|
|
Суббота, 14.05.2011, 20:30
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
07.01.2011 |
|
|
|
|
|
Статус: |
|
Бывалый: |
|
Сообщений: |
876 |
Награды: |
11 |
Регистрация: |
16.12.2010 |
|
Quote (Kotor) а как на чн? В ЧН система несюжетных квестов кастрирована по шею. Даже уникальную иконку к заданию прописать нельзя. Рулят типовые задания воруй/убивай. Но с другой стороны их сможет создать любой школьник после десяти минут консультаций.
Сообщение отредактировал butcher_512 - Воскресенье, 15.05.2011, 15:38
|
|
Воскресенье, 15.05.2011, 15:37
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
16.12.2010 |
|
|
|
|
|
Kotor
Воскресенье, 15.05.2011, 20:08 | Сообщение # 14
Статус: |
|
Отмычка: |
|
Сообщений: |
93 |
Награды: |
1 |
Регистрация: |
07.01.2011 |
|
butcher_512, ну и как хоть типовой делать, как на тч, так же? или как?
|
|
Воскресенье, 15.05.2011, 20:08
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
07.01.2011 |
|
|
|
|
|
Статус: |
|
Бывалый: |
|
Сообщений: |
876 |
Награды: |
11 |
Регистрация: |
16.12.2010 |
|
Kotor, типовые можно делать, просто добавив задание по шаблону в один из файлов tm_*локация*.ltx . Если всё правильно, они будут доступны у командиров отрядов указанной группировки в ветке диалога "Чем могу помочь?". Если речь об уникальных заданиях у квестовых персонажей, то тут не обойдётся без скриптов и новых веток диалога. Пример простейшего квеста: http://pix.playground.ru/downloa....092.jpg
Сообщение отредактировал butcher_512 - Понедельник, 16.05.2011, 16:01
|
|
Понедельник, 16.05.2011, 15:53
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
16.12.2010 |
|
|
|
|