Как создать новую фракцию, используя модульную систему.
Для примера я расскажу вам о создании фракции, например, Монголов, вы же в дальнейшем заменяйте их на нужное вам название (саксы, варвары, эльфы, корованы, и т.п.).
Откройте module_factions (в дальнейшем я не буду называть этого преффикса, просто "scripts", "mission_templates" и т.д.) и добавьте новые строчки под имеющимися уже аналогичными:
("culture_6", "culture_6", 0, 0.9, [], []),
("kingdom_6", "Mongols", 0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xFF4500),
Теперь добавим "подкерпления" - войска, которые лорды получают сверх обычных. Откройте party_templates и добавьте это:
("kingdom_6_reinforcements_a", "kingdom_6_reinforcements_a", 0, 0, fac_commoners, 0, [(trp_mongol_horseman,2,6),(trp_mongol_tribesman,4,7)]),
("kingdom_6_reinforcements_b", "kingdom_6_reinforcements_b", 0, 0, fac_commoners, 0, [(trp_mongol_trained_archer,2,6),(trp_mongol_archer,4,7)]),
("kingdom_6_reinforcements_c", "kingdom_6_reinforcements_c", 0, 0, fac_commoners, 0, [(trp_mongol_bogatur,3,6)]),
Теперь определим войска, которые даются лордам. Вставьте это в scripts:
(faction_set_slot, "fac_culture_6", slot_faction_tier_1_troop, "trp_mongol_tribesman"),
(faction_set_slot, "fac_culture_6", slot_faction_tier_2_troop, "trp_mongol_horseman"),
(faction_set_slot, "fac_culture_6", slot_faction_tier_3_troop, "trp_mongol_trained_horseman"),
(faction_set_slot, "fac_culture_6", slot_faction_tier_4_troop, "trp_mongol_veteran_horseman"),
(faction_set_slot, "fac_culture_6", slot_faction_tier_5_troop, "trp_mongol_bogatur"),
Добавим короля:
(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"),
Тюремщики-дезертиры-стражи:
(else_try),
(faction_slot_eq, ":faction_no", slot_faction_culture, "fac_culture_6"),
(faction_set_slot, ":faction_no", slot_faction_deserter_troop, "trp_mongol_deserter"),
(faction_set_slot, ":faction_no", slot_faction_guard_troop, "trp_mongol_veteran_horseman"),
(faction_set_slot, ":faction_no", slot_faction_messenger_troop, "trp_mongol_messenger"),
(faction_set_slot, ":faction_no", slot_faction_prison_guard_troop, "trp_mongol_prison_guard"),
(faction_set_slot, ":faction_no", slot_faction_castle_guard_troop, "trp_mongol_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"),
Теперь дадим город новой фракции. В качестве примера возьмем p_town_7 - Учхал:
(call_script, "script_give_center_to_lord", "p_town_7", "trp_kingdom_6_lord", 0), # 3/1
Теперь добавьте в troops войска и лордов для новой фракции, компилируйте и наслаждайтесь игрой.
и культуру тоже нужно создать,если кто нибуть знает подскажите)
Для этого найди:
("culture_6", "{!}culture_6", 0, 0.9, [], []),
И после нее вставь:
("culture_7", "{!}culture_7", 0, 0.9, [], []),
Далее делай все по туториалу, но там где используется culture_6, вместо нее вставляй culture_7.
Для того что бы добавить короля найди строчку:
["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],
И после нее вставь:
["kingdom_7_lord", "Cesar", "Cesar", tf_hero, 0,reserved, fac_kingdom_7,[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],
Н у и изменяй имя, инвентарь и т.д. как душа пожелает. :)
Найди это
(try_begin),
(is_between, ":cur_troop", "trp_knight_1_1", "trp_knight_2_1"),
(store_sub, ":npc_seed", ":cur_troop", "trp_knight_1_1"),
(assign, ":ancestor_seed", 1),
(else_try),
(is_between, ":cur_troop", "trp_knight_2_1", "trp_knight_3_1"),
(store_sub, ":npc_seed", ":cur_troop", "trp_knight_2_1"),
(assign, ":ancestor_seed", 7),
(else_try),
(is_between, ":cur_troop", "trp_knight_3_1", "trp_knight_4_1"),
(store_sub, ":npc_seed", ":cur_troop", "trp_knight_3_1"),
(assign, ":ancestor_seed", 13),
(else_try),
(is_between, ":cur_troop", "trp_knight_4_1", "trp_knight_5_1"),
(store_sub, ":npc_seed", ":cur_troop", "trp_knight_4_1"),
(assign, ":ancestor_seed", 19),
Добавил в игру собственную фракцию под названием Себир. Создал короля, лордов, несколько городов, замков и деревень. Затем загорелся желанием сделать возможность в самом начале игры (при выборе государства, куда бы отправиться) податься с караваном в столицу моей фракции. Прописал все, что нужно в troops'e, game_menus'e, scripts'е и в каких-то еще файлах (уже не помню; с этой проблемой мучаюсь несколько дней)... Все бы хорошо, но...
1. При компиляции выдает ошибку:
Initializing...
Compiling all global variables...
Exporting strings...
Exporting skills...
Exporting tracks...
Exporting animations...
Exporting meshes...
Exporting sounds...
Exporting skins...
Exporting map icons...
Creating new tag_uses.txt file...
Creating new quick_strings.txt file...
Exporting faction data...
Exporting item data...
Exporting scene data...
Exporting troops data
Exporting particle data...
Exporting scene props...
Exporting tableau materials data...
Exporting presentations...
Exporting party_template data...
Exporting parties
Exporting quest data...
Exporting info_page data...
Exporting scripts...
WARNING: Script can fail at operation #47. Use cf_ at the beginning of its name:
prepare_town_to_fight
Exporting mission_template data...
Exporting game menus data...
exporting simple triggers...
exporting triggers...
exporting dialogs...
Checking global variable usages...
Exporting postfx_params...
______________________________
Script processing has ended.
Press any key to exit. . .
2. В самом начале игры, когда я исследую незнакомый город, на меня нападает бандюга (нормальный бандюга, какой и должен быть), и после того, как я сношу ему голову, ко мне подбегает какой-то мужик в бежевом переднике {1}Local_merchant и провожает на разговор к себе домой. Затем я появляюсь в хате, где стоит нормальный торговец. Подхожу к нему, начинаю диалог, а он мне: "Сдавайтесь или умрите. Выбор за вами", из дома не выпускает (ей-богу, как маньяк).
Вот, собственно, и изменения, которые я внес в файлы модульки:
module_scripts
(store_faction_of_party, ":starting_town_faction", "$g_starting_town"),
(try_begin),
(eq, ":starting_town_faction", "fac_kingdom_1"),
(assign, ":troop_of_merchant", "trp_swadian_merchant"),
#(assign, ":troop_of_bandit", "trp_forest_bandit"),
(else_try),
(eq, ":starting_town_faction", "fac_kingdom_2"),
(assign, ":troop_of_merchant", "trp_vaegir_merchant"),
#(assign, ":troop_of_bandit", "trp_mountain_bandit"),
(else_try),
(eq, ":starting_town_faction", "fac_kingdom_3"),
(assign, ":troop_of_merchant", "trp_khergit_merchant"),
#(assign, ":troop_of_bandit", "trp_steppe_bandit"),
(else_try),
(eq, ":starting_town_faction", "fac_kingdom_4"),
(assign, ":troop_of_merchant", "trp_nord_merchant"),
#(assign, ":troop_of_bandit", "trp_sea_raider"),
(else_try),
(eq, ":starting_town_faction", "fac_kingdom_5"),
(assign, ":troop_of_merchant", "trp_rhodok_merchant"),
#(assign, ":troop_of_bandit", "trp_mountain_bandit"),
(else_try),
(eq, ":starting_town_faction", "fac_kingdom_6"),
(assign, ":troop_of_merchant", "trp_sarranid_merchant"),
#(assign, ":troop_of_bandit", "trp_desert_bandit"),
(try_end),
(else_try),
(eq, ":starting_town_faction", "fac_kingdom_7"),
(assign, ":troop_of_merchant", "trp_sebir_merchant"),
#(assign, ":troop_of_bandit", "trp_desert_bandit"),
(try_end),
module_troops
["swadian_merchant", "Merchant of Praven", "{!}Prominent", tf_hero|tf_randomize_face, 0, reserved, fac_kingdom_4, [itm_sword_two_handed_a, itm_courtly_outfit, itm_leather_boots], def_attrib|level(2),wp(20),knows_common, man_face_middle_1, mercenary_face_2],
["vaegir_merchant", "Merchant of Reyvadin", "{!}Prominent", tf_hero|tf_randomize_face, 0, reserved, fac_kingdom_5, [itm_sword_two_handed_a, itm_nobleman_outfit, itm_woolen_hose], def_attrib|level(2),wp(20),knows_common, man_face_middle_1, mercenary_face_2],
["khergit_merchant", "Merchant of Tulga", "{!}Prominent", tf_hero|tf_randomize_face, 0, reserved, fac_kingdom_1, [itm_sword_two_handed_a, itm_red_gambeson, itm_nomad_boots], def_attrib|level(2),wp(20),knows_common, man_face_middle_1, mercenary_face_2],
["nord_merchant", "Merchant of Sargoth", "{!}Prominent", tf_hero|tf_randomize_face, 0, reserved, fac_kingdom_2, [itm_sword_two_handed_a, itm_red_gambeson, itm_nomad_boots], def_attrib|level(2),wp(20),knows_common, man_face_middle_1, mercenary_face_2],
["rhodok_merchant", "Merchant of Jelkala", "{!}Prominent", tf_hero|tf_randomize_face, 0, reserved, fac_kingdom_3, [itm_sword_two_handed_a, itm_leather_jerkin, itm_blue_hose], def_attrib|level(2),wp(20),knows_common, man_face_middle_1, mercenary_face_2],
["sarranid_merchant", "Merchant of Shariz", "{!}Prominent", tf_hero|tf_randomize_face, 0, reserved, fac_kingdom_6, [itm_sword_two_handed_a, itm_sarranid_cloth_robe, itm_sarranid_boots_a], def_attrib|level(2),wp(20),knows_common, man_face_middle_1, mercenary_face_2],
["sebir_merchant", "Merchant of Vasilev", "{!}Prominent", tf_hero|tf_randomize_face, 0, reserved, fac_kingdom_7, [itm_sword_two_handed_a, itm_nobleman_outfit, itm_woolen_hose], def_attrib|level(2),wp(20),knows_common, man_face_middle_1, mercenary_face_2],
game_menus
("town_1",[(eq, "$current_startup_quest_phase", 0),],"join a caravan to Praven, in the Kingdom of Swadia.",
[
(assign, "$current_town", "p_town_6"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_praven"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
("town_2",[(eq, "$current_startup_quest_phase", 0),],"join a caravan to Reyvadin, in the Kingdom of the Vaegirs.",
[
(assign, "$current_town", "p_town_8"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_reyvadin"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
("town_3",[(eq, "$current_startup_quest_phase", 0),],"join a caravan to Tulga, in the Khergit Khanate.",
[
(assign, "$current_town", "p_town_10"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_tulga"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
("town_4",[(eq, "$current_startup_quest_phase", 0),],"take a ship to Sargoth, in the Kingdom of the Nords.",
[
(assign, "$current_town", "p_town_1"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_sargoth"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
("town_5",[(eq, "$current_startup_quest_phase", 0),],"take a ship to Jelkala, in the Kingdom of the Rhodoks.",
[
(assign, "$current_town", "p_town_5"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_jelkala"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
("town_6",[(eq, "$current_startup_quest_phase", 0),],"join a caravan to Shariz, in the Sarranid Sultanate.",
[
(assign, "$current_town", "p_town_19"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_shariz"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
("town_7",[(eq, "$current_startup_quest_phase", 0),],"join a caravan to Vasilev, in the Kingdom of Sebir.",
[
(assign, "$current_town", "p_town_23"),
(assign, "$g_starting_town", "$current_town"),
(assign, "$g_journey_string", "str_journey_to_shariz"),
(jump_to_menu, "mnu_start_phase_2_5"),
# (party_relocate_near_party, "p_main_party", "$g_starting_town", 2),
# (change_screen_return),
]),
На всякий случай выкладываю ссылочку на скачивание всех файликов (залиты на Народ):
http://narod.ru/disk/48440040001.60940b411bf0d5cf1f2dceb4cb6496d7/Module_system%201.143.rar.html. (http://narod.ru/disk/48440040001.60940b411bf0d5cf1f2dceb4cb6496d7/Module_system%201.143.rar.html.)
Повторюсь, что ковыряюсь с этим уже несколько дней, и все безрезультатно... =/