Сообщество Империал: [Modding] Охрана в локациях - Сообщество Империал

Стратегии, Игровые Миры, История, Total War


Imperial
ИмпериалИмпериал
Доктор Стрэндж

[Modding] Охрана в локациях

[Modding] Охрана в локациях
Тема создана: 08 Апрель 2019, 23:43 · Автор: Доктор Стрэндж
СОХРАНИТЬ ИНФОРМАЦИЮ
Сообщений: 5 · Просмотров: 326
 Доктор Стрэндж
  • Imperial
Imperial
Форумчанин
224
87
78
266
0

Дата: 08 Апрель 2019, 23:43

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

Открываем файл module_mission_templates
и добавляем в верхний блок строчку
from header_skills import *

Пролистываем файл вниз и создаем блок триггера с условиями.

Цитата

bodyguard_triggers = [
(ti_after_mission_start, 0, ti_once, [(neq, "$g_mt_mode", tcm_disguised)], #condition for not sneaking in; to exclude prison-breaks, etc change to (eq, "$g_mt_mode", tcm_default")
[
#Get number of bodyguards
(store_skill_level, ":leadership", skl_leadership, "trp_player"),
(troop_get_slot, ":renown", "trp_player", slot_troop_renown),
(val_div, ":leadership", 3),
(val_div, ":renown", 400),
(store_add, ":max_guards", ":renown", ":leadership"),
(val_min, ":max_guards", 4),

(ge, ":max_guards", 1),

#Get player info
(get_player_agent_no, ":player"),
(agent_get_team, ":playerteam", ":player"),
(agent_get_horse, ":use_horse", ":player"), #If the player spawns with a horse, the bodyguard will too.

#Prepare Scene/Mission Template
(assign, ":entry_point", 0),
(assign, ":mission_tpl", 0),
(try_begin),
(party_slot_eq, "$current_town", slot_party_type, spt_village),
(assign, ":entry_point", 11), #Village Elder's Entry
(assign, ":mission_tpl", "mt_village_center"),
(else_try),
(this_or_next|eq, "$talk_context", tc_prison_break),
(this_or_next|eq, "$talk_context", tc_escape),
(eq, "$talk_context", tc_town_talk),
(assign, ":entry_point", 24), #Prison Guard's Entry
(try_begin),
(party_slot_eq, "$current_town", slot_party_type, spt_castle),
(assign, ":mission_tpl", "mt_castle_visit"),
(else_try),
(assign, ":mission_tpl", "mt_town_center"),
(try_end),
(else_try),
(eq, "$talk_context", tc_tavern_talk),
(assign, ":entry_point", 17), #First NPC Tavern Entry
(try_end),
(try_begin),
(neq, "$talk_context", tc_tavern_talk),
(gt, ":use_horse", 0),
(mission_tpl_entry_set_override_flags, ":mission_tpl", ":entry_point", 0),
(try_end),
(store_current_scene, ":cur_scene"),
(modify_visitors_at_site, ":cur_scene"),

#Find and Spawn Bodyguards
(assign, ":bodyguard_count", 0),
(party_get_num_companion_stacks, ":num_of_stacks", "p_main_party"),
(try_for_range, ":i", 0, ":num_of_stacks"),
(party_stack_get_troop_id, ":troop_id", "p_main_party", ":i"),
(neq, ":troop_id", "trp_player"),
(troop_is_hero, ":troop_id"),
(neg|troop_is_wounded, ":troop_id"),
(val_add, ":bodyguard_count", 1),

(try_begin), #For prison-breaks
(this_or_next|eq, "$talk_context", tc_escape),
(eq, "$talk_context", tc_prison_break),
(troop_set_slot, ":troop_id", slot_troop_will_join_prison_break, 1),
(try_end),

(add_visitors_to_current_scene, ":entry_point", ":troop_id", 1),

(eq, ":bodyguard_count", ":max_guards"),
(assign, ":num_of_stacks", 0), #Break Loop
(try_end), #Stack Loop
(gt, ":bodyguard_count", 0), #If bodyguards spawned...
(set_show_messages, 0),
(team_give_order, ":playerteam", 8, mordr_follow), #Division 8 to avoid potential conflicts
(set_show_messages, 1),
]),

(ti_on_agent_spawn, 0, 0, [],
[
(store_trigger_param_1, ":agent"),
(agent_get_troop_id, ":troop", ":agent"),
(neq, ":troop", "trp_player"),
(troop_is_hero, ":troop"),
(main_party_has_troop, ":troop"),

(get_player_agent_no, ":player"),
(agent_get_team, ":playerteam", ":player"),
(agent_get_position,pos1,":player"),

(agent_set_team, ":agent", ":playerteam"),
(agent_set_division, ":agent", 8),
(agent_add_relation_with_agent, ":agent", ":player", 1),
(agent_set_is_alarmed, ":agent", 1),
(store_random_in_range, ":shift", 1, 3),
(val_mul, ":shift", 100),
(position_move_y, pos1, ":shift"),
(store_random_in_range, ":shift", 1, 3),
(store_random_in_range, ":shift_2", 0, 2),
(val_mul, ":shift_2", -1),
(try_begin),
(neq, ":shift_2", 0),
(val_mul, ":shift", ":shift_2"),
(try_end),
(position_move_x, pos1, ":shift"),
(agent_set_position, ":agent", pos1),
]),

(ti_on_agent_killed_or_wounded, 0, 0, [],
[
(store_trigger_param_1, ":dead_agent"),

(agent_get_troop_id, ":troop", ":dead_agent"),
(neq, ":troop", "trp_player"),
(troop_is_hero, ":troop"),
(main_party_has_troop, ":troop"),
(party_wound_members, "p_main_party", ":troop", 1),
]),
]


Этот триггер нам понадобится в шаблонах "bandits_at_night", "castle_visit", "village_center", "town_center", "town_default"
После названия каждого шаблона добавляем + bodyguard_triggers,
Пример:
] + bodyguard_triggers,
),
     Ingvarr
    • Imperial
    Imperial
    Форумчанин
    1 403
    19
    97
    3 120
    1

    Дата: 11 Апрель 2019, 02:48

    Sparcloud

    Открываем файл module_mission_templates

    Непонятненько ... :071: А где находится этот файл ?
    Вот у меня в папке Diplomacy\Modules\Mount & Blade Warband нет такого файла - а есть 2 отдельных : module и mission_templates. Так в который из них нужно вставлять этот триггер ? :038:
    А ещё вопрос :

    Цитата

    После названия каждого шаблона добавляем + bodyguard_triggers,
    Вот у меня название шаблона в такой форме :

    Цитата

    mst_town_default town_default 0 -1
    Default_town_visit
    - так куда именно там нужно вставлять это "+ bodyguard_triggers," ? :038:
    --------------------------------
    Камрад Sparcloud, если нетрудно, пропиши, пожалуйста, подробную инструкцию, куда и как что вставлять - а то у меня что-то ничего не получилось. :032:
       Доктор Стрэндж
      • Imperial
      Imperial
      Форумчанин
      224
      87
      78
      266
      0

      Дата: 11 Апрель 2019, 08:58

      Ingvarr (11 Апрель 2019, 02:48):

      Sparcloud

      Открываем файл module_mission_templates

      Непонятненько ... :071: А где находится этот файл ?
      Вот у меня в папке Diplomacy\Modules\Mount & Blade Warband нет такого файла - а есть 2 отдельных : module и mission_templates. Так в который из них нужно вставлять этот триггер ? :038:
      А ещё вопрос :

      Цитата

      После названия каждого шаблона добавляем + bodyguard_triggers,
      Вот у меня название шаблона в такой форме :

      Цитата

      mst_town_default town_default 0 -1
      Default_town_visit
      - так куда именно там нужно вставлять это "+ bodyguard_triggers," ? :038:
      --------------------------------
      Камрад Sparcloud, если нетрудно, пропиши, пожалуйста, подробную инструкцию, куда и как что вставлять - а то у меня что-то ничего не получилось. :032:


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

      Imperial

      Вот этот файл нужно и редактировать.

      Imperial

      вот так внутри всё и выглядит.
         Ingvarr
        • Imperial
        Imperial
        Форумчанин
        1 403
        19
        97
        3 120
        1

        Дата: 11 Апрель 2019, 09:01

        А, так это нужно использовать какую-то программку ?.. :038: и какую же ?
           Доктор Стрэндж
          • Imperial
          Imperial
          Форумчанин
          224
          87
          78
          266
          0

          Дата: 11 Апрель 2019, 09:02

          Ingvarr (11 Апрель 2019, 09:01):

          А, так это нужно использовать какую-то программку ?.. :038: и какую же ?

          Модульную систему, ссылку на которую я оставил в закрепленной теме форума
             Ingvarr
            • Imperial
            Imperial
            Форумчанин
            1 403
            19
            97
            3 120
            1

            Дата: 11 Апрель 2019, 09:05

            Скачал, а дальше что с ней делать ?.. :031: Напиши, пожалуйста, подробную инструкцию, а ? #*
              Fleur de Lis
              Дата: Вчера, 17:42
              Итальянские Войны 1493 - 1559
              Дата: 21 Май 2020, 01:11
              Middle-Earth: Dagor Dagorath
              Дата: 19 Апр 2020, 21:28
              Imjin War of Korea
              Дата: 18 Апр 2020, 18:38
              [Sab-Mod] Warcraft Total War: Wind of Change
              Дата: 16 Апр 2020, 20:00
              Witcher Total War King Of Skellige
              Дата: 15 Апр 2020, 20:21
              Warcraft: Total War
              Дата: 14 Апр 2020, 18:11
              [HoI4] The Road to 56
              Дата: 02 Апр 2020, 02:38
              Monsters from Men
              Дата: 01 Апр 2020, 14:45
              [HoI4] Economic Crisis 2013
              Дата: 31 Мар 2020, 22:14
              [HoI4] The Great War
              Дата: 31 Мар 2020, 21:49
              [HoI4] Player-Led Peace Conferences
              Дата: 31 Мар 2020, 21:04
              Ancient Empires Total Wars
              Дата: 28 Мар 2020, 13:12
              New Teuton
              Дата: 23 Мар 2020, 21:28
              Akthross Total War
              Дата: 18 Мар 2020, 18:23
              Dragon Dawn: Total War
              Дата: 18 Мар 2020, 18:17
              [MOD] Thera: Redux
              Дата: 18 Мар 2020, 18:10
              LME SonarEdition 1805 год
              Дата: 17 Мар 2020, 23:37
              Hyrule: Total War
              Дата: 17 Мар 2020, 10:21
              Русская локализация Total War: Warhammer
              Дата: 17 Мар 2020, 00:13
              Divide and Conquer
              Дата: 15 Мар 2020, 22:02
              Potop Total War
              Дата: 12 Мар 2020, 15:15
              Rise of the Eagles
              Дата: 12 Мар 2020, 15:06
              Invasio Barbarorvm II: Africa Vandalorvm
              Дата: 12 Мар 2020, 15:00
              Albion Total War
              Дата: 12 Мар 2020, 14:42
              La Guerre de Cent Ans - The Hundred Years War
              Дата: 12 Мар 2020, 14:35
              The Imperial Conflict 1405
              Дата: 12 Мар 2020, 14:17
              Mongolo-Tatar Invasion
              Дата: 12 Мар 2020, 14:07
              Regions & Provinces Mod
              Дата: 12 Мар 2020, 13:48
              Stainless Steel Historical Improvement Project
              Дата: 12 Мар 2020, 13:41
              Magyar Mod
              Дата: 12 Мар 2020, 13:32
              Anatolian Principalities
              Дата: 12 Мар 2020, 13:16
              De Bello Mundi
              Дата: 12 Мар 2020, 00:04
              Pirates Uber Alles
              Дата: 09 Мар 2020, 19:07
              Hundert Year War
              Дата: 06 Мар 2020, 12:09
              Judex - Rex
              Дата: 06 Мар 2020, 01:40
              Белая Гвардия: Total War
              Дата: 04 Мар 2020, 16:30
              Total War: 1942
              Дата: 02 Мар 2020, 21:21
              Ogniem i Mieczem: TW
              Дата: 02 Мар 2020, 21:21
              Natus ob Imperium
              Дата: 01 Мар 2020, 22:32
              The Great Conflicts 872-1071
              Дата: 01 Мар 2020, 20:17
              Tsardoms: Total War
              Дата: 01 Мар 2020, 20:06
              Ferrum Aeternum
              Дата: 01 Мар 2020, 19:56
              Real Experience Mod
              Дата: 28 Фев 2020, 00:32
              Mists of Calradia
              Дата: 25 Фев 2020, 11:26
              Rise of Three Kingdoms
              Дата: 24 Фев 2020, 17:22
              Исправленная локализация для Total War: Three Kingdoms
              Дата: 23 Фев 2020, 17:33
              Imperial Destroyer
              Дата: 22 Фев 2020, 23:31
              Darth Mod Empire
              Дата: 22 Фев 2020, 23:30
              Paeninsula Italica
              Дата: 21 Фев 2020, 08:52
              У тебя есть вопрос или предложение по этой теме? Или хочешь высказать свою точку зрения?
              Тогда просто нажми ниже на любую кнопку своей социальной сети и сделай это!

              [ Регистрация ]Для скрытия рекламы, зарегистрируйтесь на форуме[ Вход на форум
              © 2020 «Империал» · Условия использования · Ответственность · Визитка Сообщества · 29 Май 2020, 00:35 · Счётчики