Форум

Уведомления
Очистить все

[MS] Как сделать новую фракцию в одиночной игре

 
Джеки Чан
Известный участник Модератор Гильдия переводчиков
 
Здравствуйте,посмотрел урок по созданию фракции от Mark`a.И если честно ннииичего не понял,пришлось делать все самому.Я делаю на Warband версии 1.158.
Итак начнем,
Открываем module_factions.py.
И видим примерно такой код:
default_kingdom_relations = [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.05),("mountain_bandits", -0.02),("forest_bandits", -0.02)]
factions = [
  ("no_faction","No Faction",0, 0.9, [], []),
  ("commoners","Commoners",0, 0.1,[("player_faction",0.1)], []),
  ("outlaws","Outlaws", max_player_rating(-30), 0.5,[("commoners",-0.6),("player_faction",-0.15)], [], 0x888888),
# Factions before this point are hardwired into the game end their order should not be changed.

  ("neutral","Neutral",0, 0.1,[("player_faction",0.0)], [],0xFFFFFF),
  ("innocents","Innocents", ff_always_hide_label, 0.5,[("outlaws",-0.05)], []),
  ("merchants","Merchants", ff_always_hide_label, 0.5,[("outlaws",-0.5),], []),

  ("dark_knights","{!}Dark Knights", 0, 0.5,[("innocents",-0.9),("player_faction",-0.4)], []),

  ("culture_1",  "{!}culture_1", 0, 0.9, [], []),
  ("culture_2",  "{!}culture_2", 0, 0.9, [], []),
  ("culture_3",  "{!}culture_3", 0, 0.9, [], []),
  ("culture_4",  "{!}culture_4", 0, 0.9, [], []),
  ("culture_5",  "{!}culture_5", 0, 0.9, [], []),
  ("culture_6",  "{!}culture_6", 0, 0.9, [], []),

Нам нужно создать фракцию,для этого пишем новую культуру.
Под

("culture_6",  "{!}culture_6", 0, 0.9, [], []),

Пишем

("culture_7",  "{!}culture_7", 0, 0.9, [], []),

Получается

("culture_1",  "{!}culture_1", 0, 0.9, [], []),
 ("culture_2",  "{!}culture_2", 0, 0.9, [], []),
 ("culture_3",  "{!}culture_3", 0, 0.9, [], []),
 ("culture_4",  "{!}culture_4", 0, 0.9, [], []),
 ("culture_5",  "{!}culture_5", 0, 0.9, [], []),
 ("culture_6",  "{!}culture_6", 0, 0.9, [], []),
 ("culture_7",  "{!}culture_7", 0, 0.9, [], []),

Итак с культурой покончили...Далее находим вот такой код:

("kingdom_6",  "Sarranid Sultanate",  0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1
("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xDDDD33), 

Это фракция "Саранидский Султан"
После него вставим:

("kingdom_7",  "Dark Russia",  0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xFF00B3),

И теперь по подрбнее
kingdom_7 - индификатор фракции
Dark Russia - Название фракции
[("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], - соотношение с бандитами(в данном случае, лорды будут на них нападать)
и 0xFF00B3 - это цвет фракции, я поставил Розовый,цвета можно посмотреть на сайте

http://html-color-codes.info/Cvetovye-kody-HTML

в разделе "Селектор цвета HTML"

Я создам фракцию "Древняя Русь"

Далее заходим в module_scripts.py
И ищем:

(faction_set_slot, "fac_culture_6", slot_faction_tier_1_troop, "trp_sarranid_recruit"),
(faction_set_slot, "fac_culture_6", slot_faction_tier_2_troop, "trp_sarranid_footman"),
(faction_set_slot, "fac_culture_6", slot_faction_tier_3_troop, "trp_sarranid_archer"),
(faction_set_slot, "fac_culture_6", slot_faction_tier_4_troop, "trp_sarranid_horseman"),
(faction_set_slot, "fac_culture_6", slot_faction_tier_5_troop, "trp_sarranid_mamluke"),

Поподробнее:
В деревнях в фракции 6 тоесть "Саранидский Султан" мы будем нанимать Саранидких рекуртов,если вы хотите чтобы в деревнях был другой тип войск вам надо поменять строчку

(faction_set_slot, "fac_culture_6", slot_faction_tier_1_troop, "trp_sarranid_recruit"),

trp_sarranid_recruit - на нужного нам воина

Я толком не буду изменять воинов, и поэтому буду юзать Саранидов
После вставляем:

(faction_set_slot, "fac_culture_7", slot_faction_tier_1_troop, "trp_sarranid_recruit"),
(faction_set_slot, "fac_culture_7", slot_faction_tier_2_troop, "trp_sarranid_footman"),
(faction_set_slot, "fac_culture_7", slot_faction_tier_3_troop, "trp_sarranid_archer"),
(faction_set_slot, "fac_culture_7", slot_faction_tier_4_troop, "trp_sarranid_horseman"),
(faction_set_slot, "fac_culture_7", slot_faction_tier_5_troop, "trp_sarranid_mamluke"),

Далее чуть ниже видим такой же код:

(faction_set_slot, "fac_culture_6", slot_faction_town_walker_male_troop, "trp_sarranid_townsman"),
(faction_set_slot, "fac_culture_6", slot_faction_town_walker_female_troop, "trp_sarranid_townswoman"),
(faction_set_slot, "fac_culture_6", slot_faction_village_walker_male_troop, "trp_sarranid_townsman"),
(faction_set_slot, "fac_culture_6", slot_faction_village_walker_female_troop, "trp_sarranid_townswoman"),
(faction_set_slot, "fac_culture_6", slot_faction_town_spy_male_troop, "trp_spy_walker_1"),
(faction_set_slot, "fac_culture_6", slot_faction_town_spy_female_troop, "trp_spy_walker_2"),

Это солдаты будут жить в самом городе
Далее вставляем:

(faction_set_slot, "fac_culture_7", slot_faction_town_walker_male_troop, "trp_sarranid_townsman"),
(faction_set_slot, "fac_culture_7", slot_faction_town_walker_female_troop, "trp_sarranid_townswoman"),
(faction_set_slot, "fac_culture_7", slot_faction_village_walker_male_troop, "trp_sarranid_townsman"),
(faction_set_slot, "fac_culture_7", slot_faction_village_walker_female_troop, "trp_sarranid_townswoman"),
(faction_set_slot, "fac_culture_7", slot_faction_town_spy_male_troop, "trp_spy_walker_1"),
(faction_set_slot, "fac_culture_7", slot_faction_town_spy_female_troop, "trp_spy_walker_2"),

Добавим Лорда ищем:

(faction_set_slot, "fac_kingdom_6",  slot_faction_culture, "fac_culture_6"),
(faction_set_slot, "fac_kingdom_6",  slot_faction_leader, "trp_kingdom_6_lord"),
(troop_set_slot, "trp_kingdom_6_lord", slot_troop_renown, 1200),

Поясняю:
fac_kingdom_6 - это королевство к которуму дадим лорда
fac_culture_6 - это культура королевства
trp_kingdom_6_lord - сам лорд в файле module_troops
trp_kingdom_6_lord - лорд королевства с индификатором 6
1200 - Слава Короля

Дальше вставляем:

(faction_set_slot, "fac_kingdom_7",  slot_faction_culture, "fac_culture_7"),
(faction_set_slot, "fac_kingdom_7",  slot_faction_leader, "trp_kingdom_7_lord"),
(troop_set_slot, "trp_kingdom_7_lord", slot_troop_renown, 1200),

Таак,половину закончили,теперь осталость дать город нашему царству(для теста я выбрал город Саргот(Королевство Нордов))
Ищем:

(call_script, "script_give_center_to_faction_aux", "p_castle_5", "fac_kingdom_4"),

И меняем на:

(call_script, "script_give_center_to_faction_aux", "p_castle_5", "fac_kingdom_7"),

Это центер Государства
Дальше ищем :

(call_script, "script_give_center_to_lord", "p_town_1",  "trp_kingdom_4_lord", 0),

И меняем на:

(call_script, "script_give_center_to_lord", "p_town_1",  "trp_kingdom_7_lord", 0),

Это мы дали город нашему королю
Но все!Можно билдить и тестировать


Дополнительно:

1)Как изменить баннер государства:
В module_scrits:
Ищем

(faction_set_slot, "fac_kingdom_6", slot_faction_banner, "mesh_banner_kingdom_e"),

Внизу Вставляем:

(faction_set_slot, "fac_kingdom_7", slot_faction_banner, "mesh_banner_kingdom_e"),

mesh_banner_kingdom_e - меняйте на ваш баннер
2)Как добавить вассала государству?
Сначало пропишите его в module_troops, потом выберите город который хотите на него поменять
3)Как сделать претендента на трон?
Ищем:

 (troop_set_slot, "trp_kingdom_6_pretender",  slot_troop_original_faction, "fac_kingdom_6"),

И добавляем:

(troop_set_slot, "trp_kingdom_7_pretender",  slot_troop_original_faction, "fac_kingdom_7"),

4)Как добавить описание фракции?
Ищем:

(faction_set_slot, "fac_kingdom_6", slot_faction_adjective, "str_kingdom_6_adjective"),

И вставляем по своему
5)Как добавить merchant?
Ищем:

(else_try),  
       (eq, ":starting_town_faction", "fac_kingdom_6"),
       (assign, ":troop_of_merchant", "trp_sarranid_merchant"),
       #(assign, ":troop_of_bandit", "trp_desert_bandit"),

И вставляем по своему
6)Как добавить тюремщиков и войска для лордов?
Ищем:

(else_try),  
          (faction_slot_eq, ":faction_no", slot_faction_culture, "fac_culture_6"),
      
          (faction_set_slot, ":faction_no", slot_faction_deserter_troop, "trp_sarranid_deserter"),
          (faction_set_slot, ":faction_no", slot_faction_guard_troop, "trp_sarranid_castle_guard"),
          (faction_set_slot, ":faction_no", slot_faction_messenger_troop, "trp_sarranid_messenger"),
          (faction_set_slot, ":faction_no", slot_faction_prison_guard_troop, "trp_sarranid_prison_guard"),
          (faction_set_slot, ":faction_no", slot_faction_castle_guard_troop, "trp_sarranid_castle_guard"),
          (faction_set_slot, ":faction_no",  slot_faction_reinforcements_a, "pt_kingdom_6_reinforcements_a"),
          (faction_set_slot, ":faction_no",  slot_faction_reinforcements_b, "pt_kingdom_6_reinforcements_b"),
          (faction_set_slot, ":faction_no",  slot_faction_reinforcements_c, "pt_kingdom_6_reinforcements_c"),

И потом добавляем под вашу фракцию

Также добавляем troops:
1)Король
Ищем:

["kingdom_6_lord",  "Sultan Hakim",  "Hakim",  tf_hero, 0,reserved,  fac_kingdom_6,[itm_warhorse_sarranid,     itm_mamluke_mail,          itm_sarranid_boots_c,       itm_sarranid_mail_coif,  itm_mail_mittens,      itm_sarranid_cavalry_sword,    itm_tab_shield_small_round_c],         knight_attrib_4,wp(220),knight_skills_5|knows_trainer_5, 0x0000000a4b103354189c71d6d386e8ac00000000001e24eb0000000000000000, rhodok_face_old_2],

И также ставим только нового!
2)Претендент
Готовый Вариант:

["kingdom_7_pretender",  "Vusheslav",               "Vusheslav",  tf_hero|tf_unmoveable_in_party_window, 0,reserved,  fac_kingdom_7,[itm_courser,   itm_nomad_robe,             itm_leather_boots,              itm_splinted_greaves,           itm_khergit_guard_armor,         itm_sword_khergit_2,              itm_tab_shield_small_round_c,       itm_segmented_helmet],      lord_attrib,wp(220),knight_skills_5, 0x000000065504310b30d556b51238f66100000000001c256d0000000000000000, khergit_face_middle_2],
ОтветитьЦитата
Автор темы Размещено : 26.01.2022 11:14

Оставьте ответ

Имя автора

Электронная почта автора

Заголовок *

Мы используем cookie-файлы для наилучшего представления нашего сайта. Продолжая использовать этот сайт, вы соглашаетесь с использованием cookie-файлов.
Принять
Политика конфиденциальности