Выполнение заданий от Папы Римского, гильдий, Совета.
Автор: Ergistal
Дата: 11 окт 2013, 02:36 · Просмотров: 2 946
Дата: 11 окт 2013, 02:36 · Просмотров: 2 946
Ещё давно пытался писать тутор по миссиям в МТВ2. Давно и благополучно это дело забросил, но обнаружил на флешке интересную информацию. Там частично переведено, частично мои наработки по миссиям в игре. Если разобраться, мододелу даёт интересную возможность сделать свою игру интереснее.
Для задания миссий используются файлы:
descr_missions.txt (скрипты миссий)
\data\text\missions.txt (текстовые описания миссий)
Кроме того, должны быть графические файлы (кртинки), но я их если честно не нашёл.
mission_issued (Старт миссии)
mission_expired
mission_success
mission_failed
У кому эта информация пригодилась, жду отзывов. Если есть вопросы, давайте вместе попробуем разобрать.
Папа Римский даёт задание на убийство кардинала.
Спойлер (раскрыть)
; descr_missions.txt
;;;;;;;;;;;;;;;;;;;;;
; В этом файле включены все данные необходимые для миссий Папы Римского, гильдий или
; Совета.
; В первом разделе указывается список наград/наказаний за успех или провал.
; Индивидуальная награда или наказание даётся за успех/провал условий миссии.
; Можно использовать следующие типы наград:
; - money [int] (указывет сколько денег будет получено/потеряно при успехе/провале миссии)
; - income [float] (доход)
; - buildable_unit [uint] (любые из нанимаемых фракцией юнитов)
; - best_buildable_unit [uint] (лучшие из нанимаемых юнитов)
; - minor_exotic_unit [uint] (слабые экзотические отряды)
; - major_exotic_unit [uint] (Сильные экзотические отряды)
; - guild_money [int] [guild] (деньги от гильдии?)
; - assassinate [float] (смерть или убийство)
; - null_payback [string] (никакой награды)
;
; Другой тип наград не даёт материальной выгоды, но улучшает отношения и выдаёт
; текстовое сообщение. (Если хотите чтобы вместо награды было только сообщение, то
; не забудьте указать null_payback )
; - papal standing (Отношения с Папской церковью)
; - guild points (Очки отношения к гильдиям)
; - relics (Реликвии???)
; - traits (черты характера персонажей)
; - ancillaries (свита персонажа)
;
; Вторая часть файла включает данные, об условиях необходимых для старта миссии.
; Каждое задание должно принадлежать к одному из поддерживаемых типов!
;
; В случайных миссиях может быть задан дополнительный id для несколькх миссий сходного типа, но с различными ; параметрами.
; (An additional optional mission id can be specified for multiple
; missions of the same type with different parameters)
;
; например:
; - mission guild_recruit_agent recruit_assassin
; - mission guild_recruit_agent recruit_merchant
;
;
; возможные типы миссий:
;
; Pope Missions: (Задания папы Римского)
; - join crusade (присоединится к крестовому походу)
; - return home city (вернутся в свой город)
; - cease_hostilities (прекратить войну)
; - assassinate_cardinal (убить кардинала)
; - assassinate_witch (убить ведьму)
; - papal_blockade_port (блокировать порт врага)
; - break_alliance (разорвать союз)
; - papal_build_church (построить церковь)
; - convert (преобразовать тип поселения)
; - gift_from_pope (подарок от папской церки)
; - give_cash (получить деньги)
; - give_ancillary (получить в свиту)
; - recruit_priest (нанять священника)
; Council Missions: (Задания Совета)
; - assassinate_general (Убить генерала врага)
; - council_blockade_port (Блокировать вражеский порт)
; - council_take_rebel_settlement (Захватить мятежное поселение)
; - council_take_settlement (Взять штурмом поселение)
; - gift_from_council (Дар от совета)
; - council_marry_princess (Женить принцессу)
; - annex_settlement (Завоевать поселение)
; Guild Missions: (Задания от гильдий)
; - guild_take_settlement (Захватить поселение для гильдии)
; - guild_recruit_agent (нанять агента)
; - guild_acquisition (Приобрести/построить гильдию ?)
; - guild_trade_agreement (заключить торговый договор)
;
; Базовые параметры миссий:
; - [MISSION_SOURCE] Указывает на того, кто выдаёт миссию
; EXPLORERS_GUILD_MISSION (Задание от гильдии исследователей),
; POPE_MISSION Задание от папы римского,
; COUNCIL_MISSION Задание от Совета.
; - image_path_issued [image_name] название картинки для данного события (по умолчанию = mission_issued)
; - image_path_expired [image_name] название картинки для миссии срок которой истёк (по умолчанию = mission_expired)
; - image_path_success [image_name] Картинка события для успешно выполненной миссии (по умолчанию = mission_success)
; - image_path_failed [image_name] Картинка события для проваленного задания (по умолчанию = mission_failed)
; - duration [uint] продолжительность времени, по истечении которой миссия автоматически считается проваленной.
; - exclude_duration [uint] Число ходов, после которого начнут уменьшатся "баллы" за принятую миссию ( Балл = ; число ходов от начала задания до хода с которого начнут уменьшатся (по умолчанию = 0 )
; - score_modifier [float] Модификатор (на сколько изменяются) баллов за миссию (шанс на появление миссии, чем ; больше тем чаще (по умолчанию равно = 1.0) (chance mission is chosen, higher = more frequent)
; - difficulty_threshold [float] Порог сложности, используется для used for mission rejection. т.е сложность миссии меньше или равна порогу сложности. ( mission difficulty levels <= difficulty threshold are not selected for first 50 turns or if player on easy difficulty setting (default = 0.0)
; - turn_start [uint] С какого номера хода может появится это задание? (по умолчанию = со 2 хода)
; - paybacks structure indicating the conditions required to get a certain payback list
; The list is iterated until all conditions for that payback list are met, in which case it is chosen
;
; - papal_standing [float] Максимальное значение отношений с папским государством,
; - difficulty [float] Максимальная сложность миссии от 0.0 (невозможная) до 1.0 (чрезвычайно лёгкая)
; - cash [float] Максимальная казна(max treasury),
; - random [float] Максимальное случайное значение (может быть общим с предыдущими случайными условиями) the max random value (may be cumulative with previous random conditions)
;
; Для каждого задания можно назначить дополнительные параметры.
;;;;;;;;;;;;;;;;;;;;;
; В этом файле включены все данные необходимые для миссий Папы Римского, гильдий или
; Совета.
; В первом разделе указывается список наград/наказаний за успех или провал.
; Индивидуальная награда или наказание даётся за успех/провал условий миссии.
; Можно использовать следующие типы наград:
; - money [int] (указывет сколько денег будет получено/потеряно при успехе/провале миссии)
; - income [float] (доход)
; - buildable_unit [uint] (любые из нанимаемых фракцией юнитов)
; - best_buildable_unit [uint] (лучшие из нанимаемых юнитов)
; - minor_exotic_unit [uint] (слабые экзотические отряды)
; - major_exotic_unit [uint] (Сильные экзотические отряды)
; - guild_money [int] [guild] (деньги от гильдии?)
; - assassinate [float] (смерть или убийство)
; - null_payback [string] (никакой награды)
;
; Другой тип наград не даёт материальной выгоды, но улучшает отношения и выдаёт
; текстовое сообщение. (Если хотите чтобы вместо награды было только сообщение, то
; не забудьте указать null_payback )
; - papal standing (Отношения с Папской церковью)
; - guild points (Очки отношения к гильдиям)
; - relics (Реликвии???)
; - traits (черты характера персонажей)
; - ancillaries (свита персонажа)
;
; Вторая часть файла включает данные, об условиях необходимых для старта миссии.
; Каждое задание должно принадлежать к одному из поддерживаемых типов!
;
; В случайных миссиях может быть задан дополнительный id для несколькх миссий сходного типа, но с различными ; параметрами.
; (An additional optional mission id can be specified for multiple
; missions of the same type with different parameters)
;
; например:
; - mission guild_recruit_agent recruit_assassin
; - mission guild_recruit_agent recruit_merchant
;
;
; возможные типы миссий:
;
; Pope Missions: (Задания папы Римского)
; - join crusade (присоединится к крестовому походу)
; - return home city (вернутся в свой город)
; - cease_hostilities (прекратить войну)
; - assassinate_cardinal (убить кардинала)
; - assassinate_witch (убить ведьму)
; - papal_blockade_port (блокировать порт врага)
; - break_alliance (разорвать союз)
; - papal_build_church (построить церковь)
; - convert (преобразовать тип поселения)
; - gift_from_pope (подарок от папской церки)
; - give_cash (получить деньги)
; - give_ancillary (получить в свиту)
; - recruit_priest (нанять священника)
; Council Missions: (Задания Совета)
; - assassinate_general (Убить генерала врага)
; - council_blockade_port (Блокировать вражеский порт)
; - council_take_rebel_settlement (Захватить мятежное поселение)
; - council_take_settlement (Взять штурмом поселение)
; - gift_from_council (Дар от совета)
; - council_marry_princess (Женить принцессу)
; - annex_settlement (Завоевать поселение)
; Guild Missions: (Задания от гильдий)
; - guild_take_settlement (Захватить поселение для гильдии)
; - guild_recruit_agent (нанять агента)
; - guild_acquisition (Приобрести/построить гильдию ?)
; - guild_trade_agreement (заключить торговый договор)
;
; Базовые параметры миссий:
; - [MISSION_SOURCE] Указывает на того, кто выдаёт миссию
; EXPLORERS_GUILD_MISSION (Задание от гильдии исследователей),
; POPE_MISSION Задание от папы римского,
; COUNCIL_MISSION Задание от Совета.
; - image_path_issued [image_name] название картинки для данного события (по умолчанию = mission_issued)
; - image_path_expired [image_name] название картинки для миссии срок которой истёк (по умолчанию = mission_expired)
; - image_path_success [image_name] Картинка события для успешно выполненной миссии (по умолчанию = mission_success)
; - image_path_failed [image_name] Картинка события для проваленного задания (по умолчанию = mission_failed)
; - duration [uint] продолжительность времени, по истечении которой миссия автоматически считается проваленной.
; - exclude_duration [uint] Число ходов, после которого начнут уменьшатся "баллы" за принятую миссию ( Балл = ; число ходов от начала задания до хода с которого начнут уменьшатся (по умолчанию = 0 )
; - score_modifier [float] Модификатор (на сколько изменяются) баллов за миссию (шанс на появление миссии, чем ; больше тем чаще (по умолчанию равно = 1.0) (chance mission is chosen, higher = more frequent)
; - difficulty_threshold [float] Порог сложности, используется для used for mission rejection. т.е сложность миссии меньше или равна порогу сложности. ( mission difficulty levels <= difficulty threshold are not selected for first 50 turns or if player on easy difficulty setting (default = 0.0)
; - turn_start [uint] С какого номера хода может появится это задание? (по умолчанию = со 2 хода)
; - paybacks structure indicating the conditions required to get a certain payback list
; The list is iterated until all conditions for that payback list are met, in which case it is chosen
;
; - papal_standing [float] Максимальное значение отношений с папским государством,
; - difficulty [float] Максимальная сложность миссии от 0.0 (невозможная) до 1.0 (чрезвычайно лёгкая)
; - cash [float] Максимальная казна(max treasury),
; - random [float] Максимальное случайное значение (может быть общим с предыдущими случайными условиями) the max random value (may be cumulative with previous random conditions)
;
; Для каждого задания можно назначить дополнительные параметры.
Для задания миссий используются файлы:
descr_missions.txt (скрипты миссий)
\data\text\missions.txt (текстовые описания миссий)
Кроме того, должны быть графические файлы (кртинки), но я их если честно не нашёл.
mission_issued (Старт миссии)
mission_expired
mission_success
mission_failed
У кому эта информация пригодилась, жду отзывов. Если есть вопросы, давайте вместе попробуем разобрать.
- - - - - - Сообщение автоматически склеено - - - - - -
Примеры миссий:Папа Римский даёт задание на убийство кардинала.
Спойлер (раскрыть)
mission assassinate_cardinal
{
POPE_MISSION
image_path_issued pope_mission
image_path_expired pope_disapproval
image_path_success pope_approval
image_path_failed pope_disapproval
duration 10
exclude_duration 25
score_modifier 1.2
difficulty_threshold 0.4 ; Задание на убийство будет отмеено, как очень сложное, если шанс на успешное покушение <= 40%
turn_start 3
paybacks
{
papal_standing -0.7 payback_id pope_cardinal_mod_penalty_only
papal_standing -0.4 difficulty 0.6 payback_id pope_cardinal_mod_penalty_min_reward
papal_standing 0.0 payback_id pope_cardinal_mod_penalty_only
papal_standing 0.1 difficulty 0.6 payback_id pope_cardinal_min_penalty_min_reward
papal_standing 0.1 payback_id pope_cardinal_min_penalty_only
papal_standing 0.4 difficulty 0.6 payback_id pope_cardinal_min_penalty_mod_reward
papal_standing 0.4 payback_id pope_cardinal_min_penalty_min_reward
papal_standing 0.7 difficulty 0.6 payback_id pope_cardinal_mod_reward_only
papal_standing 0.8 payback_id pope_cardinal_min_penalty_mod_reward
difficulty 0.6 payback_id pope_cardinal_major_reward_only
payback_id pope_cardinal_min_penalty_major_reward
}
papal_standing_boundary -0.1 ; используется, чтобы исключить заказ на убийство кардинала с высоким авторитетом, и для рассчёта очков. }
{
POPE_MISSION
image_path_issued pope_mission
image_path_expired pope_disapproval
image_path_success pope_approval
image_path_failed pope_disapproval
duration 10
exclude_duration 25
score_modifier 1.2
difficulty_threshold 0.4 ; Задание на убийство будет отмеено, как очень сложное, если шанс на успешное покушение <= 40%
turn_start 3
paybacks
{
papal_standing -0.7 payback_id pope_cardinal_mod_penalty_only
papal_standing -0.4 difficulty 0.6 payback_id pope_cardinal_mod_penalty_min_reward
papal_standing 0.0 payback_id pope_cardinal_mod_penalty_only
papal_standing 0.1 difficulty 0.6 payback_id pope_cardinal_min_penalty_min_reward
papal_standing 0.1 payback_id pope_cardinal_min_penalty_only
papal_standing 0.4 difficulty 0.6 payback_id pope_cardinal_min_penalty_mod_reward
papal_standing 0.4 payback_id pope_cardinal_min_penalty_min_reward
papal_standing 0.7 difficulty 0.6 payback_id pope_cardinal_mod_reward_only
papal_standing 0.8 payback_id pope_cardinal_min_penalty_mod_reward
difficulty 0.6 payback_id pope_cardinal_major_reward_only
payback_id pope_cardinal_min_penalty_major_reward
}
papal_standing_boundary -0.1 ; используется, чтобы исключить заказ на убийство кардинала с высоким авторитетом, и для рассчёта очков. }
- - - - - - Сообщение автоматически склеено - - - - - -
Задание Папы на апгрейд здания до Кафедрального Собора.
Спойлер (раскрыть)
mission papal_build_church city_huge_cathedral
{
POPE_MISSION
image_path_issued pope_mission
image_path_expired pope_disapproval
image_path_success pope_approval
image_path_failed pope_disapproval
duration 10
exclude_duration 30
score_modifier 1.0
turn_start 3
paybacks
{
papal_standing -0.1 payback_id pope_min_penalty_mod_reward
payback_id pope_major_reward_only
}
min_treasury 12000 ; Минимальное число денег в казне, для выдачи такой миссии.
buildings { huge_cathedral } ; целевой уровень здания для выполнения мисии.
}
{
POPE_MISSION
image_path_issued pope_mission
image_path_expired pope_disapproval
image_path_success pope_approval
image_path_failed pope_disapproval
duration 10
exclude_duration 30
score_modifier 1.0
turn_start 3
paybacks
{
papal_standing -0.1 payback_id pope_min_penalty_mod_reward
payback_id pope_major_reward_only
}
min_treasury 12000 ; Минимальное число денег в казне, для выдачи такой миссии.
buildings { huge_cathedral } ; целевой уровень здания для выполнения мисии.
}