Автор : Tim Stellamch (LGS)
Вольный Перевод : Jerk (Балан Сергей) djJerk@mail.ru
CONVICT:
Создание целей миссий для Thief
ЗАМЕЧАНИЕ: Рекомендуется для начала ознакомиться с инструкцией для DromEd. Ниже изложенные текст рассчитан на более-менее продвинутых читателей.
Пользователи определяют каждое условие победы переменной, указывающей общий тип цели (например, захватить объект, ограбить) и один или более дополнительных переменных, указывающих определенную цель условия. Так же, дополнительные переменные могут быть установлены, чтобы изменить логический смысл цели (наиболее важный пример - когда нужно не убить, а сохранить жизнь некого создания в игре).
Типы Целей
ConVict поддерживает множество целей, нескольких типов. Каждой цели нужно дать свой, индивидуальный номер (ID number) от 0 до 31 (включительно). Текст целей (который мы видим в игре в окне Цели (Objectives) может быть найден в файле goals.str который находится в папке с текущей миссией в ресурсе intrface.crf, индифицированный своим ID номером. Общая структура:
intrface.crf \ missXX \ english \ goals.str
ID номера должны следовать по порядку, начиная с любого числа. Никакие ID номера не могут быть пропущены.
0 1 2 3 4 5 6 7 - правильно
5 6 7 8 9 - правильно
6 7 10 11 13 - неправильно
Как только ID номер для цели выбран, цель создается переменной goal_type_n, где n - порядковый ID номер цели. Значение переменной условия указывает на тип цели, выбранный из следующего списка:
[Замечание: Если вы хотите использовать цель 4 - "Прийти в указанное место" - вы должны сначала создать кисти комнаты (room brush) (если не знаете, как создавать кисти - см. статью Обучение DromEd). Далее, выберите эту кисть, и нажмите кнопку Create (Создать) внизу посредине. Откроется окно “Room Hierarchy” (Иерархия комнат). Далее нажмите на кнопку “Add” (Добавить) и дайте комнате имя, например “EndPoint”. Нажмите кнопку “OK”. Вы увидите, что в иерархии комнат появился новый раздел - “EndPoint”. Но вы создали только раздел. Теперь нужно нашу комнату прописать в этот раздел. Для этого опять выбираем (подсвечиваем) нашу комнатную кисть, нажимаем в диалоговом окне “Room Hierarchy” кнопку "Create" (В диалоговом окне, а не в основном меню DromEd!). Теперь смотрим вниз посредине и видим надпись "EndPoint (X)", где X - искомый номер, который и будем использовать в качестве переменной к типу цели - 4]
Каждая из этих целей требует, чтобы были установлены другие переменные для полного определения цели задания. Если эти переменные не будут созданы, то цель не сможет быть выполнена. Для целей типа 1, 2 или 4, устанавливается переменная goal_target_n (где n - порядковый ID номер цели). В значением этой переменной является порядковый ID номер предмета, который нужно украсть; существо, которое нужно убить или область, куда нужно прийти. Таким образом, цель "Убить всех слуг" будет goal_type_n=1, goal_target_n=–52, так как номер ID слуг в Объектной Иерархии "-52"
Цель типа 3 (украсть деньги) требует векторную переменную, так как задание может быть задано и как "украсть всего денег" так и "в том числе ХХХ золота (драгоценностей, товаров). Можно устанавливать несколько переменных для того, чтобы уточнить задание. Эти переменные следующие:
goal_loot_n: Эта переменная устанавливает, сколько всего денег должно быть украдено.
goal_gold_n: Эта переменная указывает, сколько золота должно быть в том числе.
goal_gems_n: Эта переменная указывает, сколько драгоценностей должно быть в том числе.
goal_goods_n: Эта переменная указывает, сколько товаров должно быть в том числе.
goal_special_n: Эта переменная указывает, какая величина должна быть в специальном сумматоре
-----
Пояснения к goal_gold_n, goal_gems_n, goal_goods_n:
Вспомните миссию Затерянный Город. Одно из заданий - украсть 2000, в том числе 500. Это достигнулось следующим порядком команд:
quest_create_mis goal_state_0, 0 ---> Состояние цели - невыполнена
quest_create_mis goal_visible_0, 1 ---> Видимость цели - видима
quest_create_mis goal_type_0, 3 ---> Тип цели - украсть деньги
quest_create_mis goal_loot_0, 2000 ---> Награбить 2000
quest_create_mis goal_gems_0, 500 ---> В том числе 500 драгоценными камнями.
Как видите, ничего сложного!
-----
Пояснения к goal_special_n:
Допустим, ставится задание в миссии про Рамиреза украсть не только 2000, но и украсть его кошелек. Также, мы хотим, чтобы это было не в виде двух заданий (2000 и кошелек), а в виде одного (2000, в том числе и кошелек). Создаем следующую последовательность команд:
quest_create_mis goal_state_0, 0 ---> Состояние цели - невыполнена
quest_create_mis goal_visible_0, 1 ---> Видимость цели - видима
quest_create_mis goal_type_0, 3 ---> Тип цели - украсть деньги
quest_create_mis goal_loot_0, 2000 ---> Награбить 2000
quest_create_mis goal_special_0, 5 ---> В том числе объект типа 5.
Теперь выбираем кошелек Рамиреза в DromEd. Нажимаем на Properties. Далее - Dark GameSys \ Loot. Желающие могут изменить весомость кошелька в плане содержания в нем золота/драгоценных_камней/товаров, но мы обратимся к самому нижнему пункту под названием Special: В списке выбираем Special 5.
Теперь, если в игре мы насобираем хоть 1'000'000, а кошелька не будет - цель выполненной считаться не будет.
Можно догадаться, что типов объектов - 8 (Special 1 - Special 8).
Дерзайте!..
-----
Модифицирование целей
Несколько дополнительных параметров могут быть созданы, чтобы изменить логическую интерпретацию цели скриптом ConVict. Каждый из них изменяет специфическую цель, обозначенную порядковым ID номером, т.е. другие цели этого типа, но связанные с другими предметами, не изменятся
ВЫВОД: Ну вот, прочитав эту статью, у вас должны были появиться безумные идеи по воплощении новых Thief-миссий. Подкидываю идиотскую идею - Не грабить больше чем ххх денег и по миссии раскидать гигантское количество денег. Вот весело будет ;-). А в Thief 2 можно воплотить идею "Убить всех крыс". =)))) Сумасшедшие идеи.
Перейти: На главную / В подраздел "Полезные советы" / В начало