*** se defineste o factiune noua

Users who are viewing this thread

Dawiduh

Squire
Pagina originala in limba engleza aici. Tutorialul a fost scris de Nord Champion.
Toate comentariile translatorului (adica Excelenta Mea) sunt scrise cu maro si italice.



Ok, deci, nu exista un raspuns direct la *** sa creezi o factiune asa ca cel mai bine e sa scriu un tutorial.

Multumiri lui: Egbert, CryptoCactus si Ziller pentru ajutorul acordat.

Mai intai trebuie sa definesti factiunea.
Mergi in module_factions.
Pune asta:
Code:
("culture_7","{!}culture_7", 0, 0.9, [], []),

Sub asta:
Code:
("culture_6","{!}culture_6", 0, 0.9, [], []),

de asemenea

Pune asta:
Code:
("kingdom_7",[b]"YourFactionName"[/b],0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0x254117),
Tineti minte: 0x254117 este culoarea factiunii.

Sub asta:
Code:
("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),

Acum mergi in module_scripts.
Pune asta:
Code:
(faction_set_slot, "fac_culture_7", slot_faction_town_walker_male_troop, "trp_town_walker_1"),
(faction_set_slot, "fac_culture_7", slot_faction_town_walker_female_troop, "trp_town_walker_2"),
(faction_set_slot, "fac_culture_7", slot_faction_village_walker_male_troop, "trp_village_walker_1"),
(faction_set_slot, "fac_culture_7", slot_faction_village_walker_female_troop, "trp_village_walker_2"),
(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"),
Atentie: codul de mai sus este o simpla copie a civililor din Swadia.

Sub asta:
Code:
(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"),

de asemenea

Pune asta:
Code:
(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),

Sub asta:
Code:
(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),

Ai nevoie de un rege si de un cavaler.
Mergi in module_troops.
Pune asta:
Code:
  ["kingdom_7_lord",”King [b]numele_regelui_tau[/b]”,”[b]numele_regelui_tau[/b]”,  tf_hero, 0,reserved,  fac_kingdom_7,[itm_charger,   itm_rich_outfit,        itm_blue_hose,                  itm_plate_boots,               itm_plate_armor, itm_gauntlets,    itm_bastard_sword_b,      itm_tab_shield_heater_cav_b,       itm_great_helmet],          knight_attrib_5,wp(220),knight_skills_5|knows_trainer_5, 0x0000000f45041105241acd2b5a66a86900000000001e98310000000000000000,swadian_face_older_2],
Atentie: codul de mai sus este copia codului pentru regele Swadiei. Iar 0x0000000f45041105241acd2b5a66a86900000000001e98310000000000000000 reprezinta codul pentru fata.

Sub asta:
Code:
  ["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_3,wp(220),knight_skills_4|knows_trainer_5, 0x0000000a4b103354189c71d6d386e8ac00000000001e24eb0000000000000000, rhodok_face_old_2],

Acuma ai un rege!

Acuma pune asta:
Code:
  ["knight_7_1","Lord [b]numele_cavalerului_tau[/b]",”[b]numele_cavalerului_tau[/b]”, tf_hero, 0, reserved,  fac_kingdom_7, [itm_warhorse,          itm_nobleman_outfit,     itm_coat_of_plates,                 itm_leather_boots,          itm_splinted_leather_greaves,        itm_flat_topped_helmet, itm_gauntlets, itm_bastard_sword_b,   itm_tab_shield_heater_d],  knight_attrib_5,wp(260),knight_skills_5|knows_trainer_3, 0x000000002900200436db6d86db6db6db00000000001db6db0000000000000000, swadian_face_young_2 ],
Atentie: 0x000000002900200436db6d86db6db6db00000000001db6db0000000000000000 este codul MEU de fata. :grin:

Sub asta:
Code:
  ["knight_6_20", "Emir Biliya", "Biliya", tf_hero, 0, reserved,  fac_kingdom_6, [itm_warhorse_sarranid,     itm_sarranid_cavalry_robe,       itm_sarranid_boots_c,  itm_sarranid_boots_c,       itm_sarranid_veiled_helmet,   itm_lance,      itm_sarranid_cavalry_sword,   itm_tab_shield_small_round_c],  knight_attrib_5,wp(240),knight_skills_5|knows_trainer_6, 0x00000001bd0040c0281a899ac956b94b00000000001ec8910000000000000000, rhodok_face_older_2],

Acum ai si un cavaler! Apropo, prefixul “itm” inseamna obiect (engl. “item”). Asa ca lista cu “itm” reprezinta lista de obiecte pe care o sa le aiba personajele tale in joc. Skill-urile sunt pe ultima linie.

Bun, ai o factiune … acum ai nevoie de trupe!
Mergi in module_troops
Aici poti face ce vrei. In cazul asta am copiat un Recrut Swadian.

Puneti codul pentru noul soldat:
Code:
  ["swadian_recruit","Swadian Recruit","Swadian Recruits",tf_guarantee_armor,0,0,fac_kingdom_1,
   [itm_scythe,itm_hatchet,itm_pickaxe,itm_club,itm_stones,itm_tab_shield_heater_a,itm_leather_cap,itm_felt_hat,itm_felt_hat,
    itm_shirt,itm_coarse_tunic,itm_leather_apron,itm_nomad_boots,itm_wrapping_boots],
   def_attrib|level(4),wp(60),knows_common,swadian_face_younger_1, swadian_face_middle_2],

Sub asta:
Code:
  ["relative_of_merchants_end","relative_of_merchants_end","relative_of_merchants_end",tf_hero, 0,0, fac_commoners,[],def_attrib|level(2),wp(20),knows_inventory_management_10,0],   
Atentie: Aveti grija sa zica fac_kingdom_7 la sfarsit!

Personal am pus noile trupe imediat sub cele ale factiunii Sarranid si totul a mers foarte bine.

Acum puteti modifica soldatul. Mai jos aveti modificarile facute de mine:
Code:
["nord_champion","Nord Champion","Nord Champion",tf_guarantee_armor,0,0,fac_kingdom_7,
   [itm_scythe,itm_hatchet,itm_pickaxe,itm_club,itm_stones,itm_tab_shield_heater_a,itm_leather_cap,itm_felt_hat,itm_felt_hat,
    itm_shirt,itm_coarse_tunic,itm_leather_apron,itm_nomad_boots,itm_wrapping_boots],
   def_attrib|level(4),wp(60),knows_common,swadian_face_younger_1, swadian_face_middle_2],
Atentie: daca vreti ca soldatul vostru sa poata creste in rang, mai intai aveti grija sa aveti minim doua tipuri de soldati. Pe urma la sfarsitul fisierului module_troops adaugati:
Code:
upgrade(troops,”trp_nord_champion”,”trp_nord_is_awesome”),

Astfel soldatul nord_champion va putea fi upgradat in ]nord_is_awesome. De asemenea, daca aveti definite trei tipuri de soldati atunci puteti upgrada soldatul de baza in unul din celelalte doua tipuri.

De exemplu:
Code:
upgrade(troops,"trp_nord_champion","trp_nord_is_awesome",”trp_nord_cool”),

Astfel, in momentul in care Nord Champion va putea fi upgradat, puteti alege dintre Nord Is Awesome si Nord Cool, in acelasi fel in care puteti upgrada militia/taranii in arcasi si luptatori corp-la-corp.


DE ASEMENEA!

Aveti nevoie de mesageri, dezertori si paznici...

Asa ca puteti copia un cod deja scris, eu am luat Swadieni:
Code:
  ["swadian_messenger","Swadian Messenger","Swadian Messengers",tf_mounted|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_gloves|tf_guarantee_horse|tf_guarantee_ranged,0,0,fac_kingdom_1,
   [itm_sword_medieval_a,itm_leather_jerkin,itm_leather_boots,itm_courser,itm_leather_gloves,itm_light_crossbow,itm_bolts],
   str_7 | agi_21 | int_4 | cha_4|level(25),wp(130),knows_common|knows_riding_7|knows_horse_archery_5,swadian_face_young_1, swadian_face_old_2],
  ["swadian_deserter","Swadian Deserter","Swadian Deserters",tf_guarantee_ranged|tf_guarantee_boots|tf_guarantee_armor,0,0,fac_deserters,
   [itm_bolts,itm_light_crossbow,itm_hunting_crossbow,itm_dagger,itm_club,itm_voulge,itm_wooden_shield,itm_leather_jerkin,itm_padded_cloth,itm_hide_boots,itm_padded_coif,itm_nasal_helmet,itm_footman_helmet],
   def_attrib|level(14),wp(80),knows_common|knows_riding_2|knows_ironflesh_1,swadian_face_young_1, swadian_face_old_2],
  ["swadian_prison_guard","Prison Guard","Prison Guards",tf_guarantee_shield|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet,0,0,fac_kingdom_1,
   [itm_awlpike,itm_pike,itm_great_sword,itm_morningstar,itm_sword_medieval_b,itm_tab_shield_heater_c,itm_coat_of_plates,itm_plate_armor,itm_plate_boots,itm_guard_helmet,itm_helmet_with_neckguard,itm_bascinet,itm_guard_helmet,itm_leather_gloves],
   def_attrib|level(25),wp(130),knows_common|knows_shield_3|knows_ironflesh_3|knows_power_strike_3,swadian_face_young_1, swadian_face_old_2],
  ["swadian_castle_guard","Castle Guard","Castle Guards",tf_guarantee_shield|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet,0,0,fac_kingdom_1,
   [itm_awlpike,itm_pike,itm_great_sword,itm_morningstar,itm_sword_medieval_b,itm_tab_shield_heater_c,itm_tab_shield_heater_d,itm_coat_of_plates,itm_plate_armor,itm_plate_boots,itm_guard_helmet,itm_helmet_with_neckguard,itm_bascinet,itm_guard_helmet,itm_leather_gloves],
   def_attrib|level(25),wp(130),knows_common|knows_shield_3|knows_ironflesh_3|knows_power_strike_3,swadian_face_young_1, swadian_face_old_2],

si ii redenumiti functie de factiunea voastra.


Acum trebuie sa dati factiunii voastre niste intariri.
Mergeti in module_party_templates.
Puneti asta:
Code:
  ("kingdom_7_reinforcements_a", "{!}kingdom_7_reinforcements_a", 0, 0, fac_commoners, 0, [(trp_nord_champion,6,12),
Atentie! Numerele 6 si 12 de la sfarsitul codului reprezinta cati Nord Champions vor primi cand vin intaririle. In cazul asta vor primi minim 6 si maxim 12.

Sub asta:
Code:
  ("kingdom_6_reinforcements_c", "{!}kingdom_6_reinforcements_c", 0, 0, fac_commoners, 0, [(trp_sarranid_horseman,3,5)]),

Acum trebuie sa setam cultura.
Mergi in module_scripts.
Pune asta:
Code:
  (faction_set_slot, "fac_culture_7", slot_faction_tier_1_troop, "trp_nord_champion"),
Atentie! Eu am folosit soldatul facut de mine, trp_nord_champion, voi trebuie sa inlocuiti cu numele soldatului vostru.

Sub asta:
Code:
       (faction_set_slot, "fac_culture_6", slot_faction_tier_5_troop, "trp_sarranid_mamluke"),

In cazul in care aveti un sistem de upgrade trebuie sa definiti toate celalalte ranguri. In cazul exemplului de mai sus cu trp_nord_is_awesome si trp_nord_cool acestia ar trebui definiti ca rang 2 (engl. Tier 2):
Code:
       (faction_set_slot, "fac_culture_7", slot_faction_tier_2_troop, "trp_nord_is_awesome"), 
       (faction_set_slot, "fac_culture_7", slot_faction_tier_2_troop, "trp_nord_cool"),
In cazul asta ambele trupe au acelasi rand pentru ca mai sus am setat ca nord champion sa poata si upgradat in oricare din ele. Daca vrem ca nord chmapion sa fie rang 1, nord is awesome rang 2 si nord cool rang  3 atunci codul pentru nord cool va fi
Code:
       (faction_set_slot, "fac_culture_7", slot_faction_tier_3_troop, "trp_nord_cool"),


Acum trebuie activati!
Mergi in module_scripts
Pune asta:
Code:
        (else_try),
          (faction_slot_eq, ":faction_no", slot_faction_culture, "fac_culture_7"),
      
          (faction_set_slot, ":faction_no", slot_faction_deserter_troop, "trp_yourfaction_deserter"),
          (faction_set_slot, ":faction_no", slot_faction_guard_troop, "trp_yourfaction_guard"),
          (faction_set_slot, ":faction_no", slot_faction_messenger_troop, "trp_yourfaction_messenger"),
          (faction_set_slot, ":faction_no", slot_faction_prison_guard_troop, "trp_yourfaction_prison_guard"),
          (faction_set_slot, ":faction_no", slot_faction_castle_guard_troop, "trp_yourfaction_castle_guard"),
          (faction_set_slot, ":faction_no",  slot_faction_reinforcements_a, "pt_kingdom_7_reinforcements_a"),
          (faction_set_slot, ":faction_no",  slot_faction_reinforcements_b, "pt_kingdom_7_reinforcements_b"),
          (faction_set_slot, ":faction_no",  slot_faction_reinforcements_c, "pt_kingdom_7_reinforcements_c"),

Sub asta:
Code:
        (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"),

Acum cred ca ai nevoie de un oras.
Meri in module_parties.ATENTIE: DACA NU CREEZI SI SATE PENTRU ORAS, ATUNCI ACESTA VA LUA CELE MAI APROPIATE 3 SATE PENTRU EL!
Atentie: aceasta este o copie a orasului Praven.

Pune asta:
Code:
("town_23","Stronghold",   icon_town|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(176, -47),[],260),
Atentie: (176, -47) reprezinta coordonatele unde va fi amplasat orasul iar 260 reprezinta rotatia icon-ului orasului pe world map.

Sub asta:
Code:
  ("town_22","Bariyye", icon_town_desert|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(165, -106.7),[], 225),



Puneti asta:
Code:
  ("town_23_castle",sf_indoors, "interior_castle_z", "bo_interior_castle_z", (-100,-100),(100,100),-100,"0",
    ["exit"],["town_6_seneschal"]),

Sub asta:
Code:
  ("town_22_castle",sf_indoors, "arabian_interior_keep_a", "bo_arabian_interior_keep_a", (-100,-100),(100,100),-100,"0x00000007300005000002308c00004a840000624700004fda",
    ["exit"],["town_22_seneschal"]),


Puneti asta:
Code:
  ("town_23_tavern",sf_indoors, "interior_tavern_g", "bo_interior_tavern_g", (-100,-100),(100,100),-100,"0",
    ["exit"],[]),

Sub asta:
Code:
  ("town_22_tavern",sf_indoors, "interior_town_house_steppe_c", "bo_interior_town_house_steppe_c", (-100,-100),(100,100),-100,"0",
    ["exit"],[]),


Puneti asta:
Code:
   ("town_23_store",sf_indoors, "interior_town_house_j", "bo_interior_town_house_j", (-100,-100),(100,100),-100,"0",
    ["exit"],[]),

Sub asta:
Code:
  ("town_22_store",sf_indoors, "interior_town_house_steppe_d", "bo_interior_town_house_steppe_d", (-100,-100),(100,100),-100,"0",
    ["exit"],[]),


Puneti asta:
Code:
  ("town_23_arena",sf_generate,"none", "none", (0,0),(100,100),-100,"0xa0001d9300031ccb0000156f000048ba0000361c",
    [],[],"outer_terrain_plain"),

Sub asta:
Code:
  ("town_22_arena",sf_generate,"none", "none", (0,0),(100,100),-100,"0x00000002200005000005f57b00005885000046bd00006d9c",
    [],[],"outer_terrain_desert"),


Puneti asta:
Code:
  ("town_23_prison",sf_indoors,"interior_prison_e", "bo_interior_prison_e", (-100,-100),(100,100),-100,"0",
    ["exit"],[]),

Sub asta:
Code:
  ("town_22_prison",sf_indoors,"interior_prison_o", "bo_interior_prison_o", (-100,-100),(100,100),-100,"0",
    ["exit"],[]),


Puneti asta:
Code:
  ("town_23_walls",sf_generate,"none", "none", (0,0),(100,100),-100,"0x00000002300015e300063d8800002757000055df00001b08",
    [],[],"sea_outer_terrain_1"), [/code

Sub asta:
[code]("town_22_walls",sf_generate,"none", "none", (0,0),(100,100),-100,"0x000000025a00723200046d1b00003e020000147600004387",
    [],[],"outer_terrain_desert"),


Puneti asta:
Code:
  ("town_23_alley",sf_generate,"none", "none", (0,0),(100,100),-100,"0x300bc5430001e0780000448a0000049f00007932",
    [],[],"outer_terrain_plain"),

Sub asta:
Code:
  ("town_22_alley",sf_generate,"none", "none", (0,0),(100,100),-100,"0x000000025a00723200046d1b00003e0200001476000052ae",
    [],[],"outer_terrain_desert"),

Codurile de mai sus definesc ce interior sa foloseasca jocul pentru fiecare loc din oras: bar, arena, ziduri, palat, etc.

Dupa asta va trebui sa cautati putin prin fisiere. Mergi la C:\Program Files (x86)\Moun&Blade Warband\Modules\Modul Tau\SceneObj. Pe scurt mergi in folderul Modu-ului tau si intra in SceneObj.
Ok, acolo trebuie sa:
Copiaza folderul orasului pe care l-ai copiat mai devreme (pasul cel mai lung din tutorial). Eu am copiat Ptaven care este p_town_6, deci trebui sa copiez si
Code:
scn_town_6_alley.sco
scn_town_6_arena.sco
scn_town_6_castle.sco
scn_town_6_center.sco
scn_town_6_prison.sco
scn_town_6_room.sco
scn_town_6_store.sco
scn_town_6_tavern.sco
scn_town_6_walls.sco

si sa le redenumesc:
Code:
scn_town_23_alley.sco
scn_town_23_arena.sco
scn_town_23_castle.sco
scn_town_23_center.sco
scn_town_23_prison.sco
scn_town_23_room.sco
scn_town_23_store.sco
scn_town_23_tavern.sco
scn_town_23_walls.sco

Va trebui sa faci acelasi lucru pentru celelalte orase si castele pe care le ai.

Acum trebuie sa ii dai regelui tau noul oras.
Mergi in module_scripts
Pune asta:
Code:
      (call_script, "script_give_center_to_lord", "p_town_23", "trp_kingdom_7_lord", 0),

Sub asta:
Code:
      (call_script, "script_give_center_to_lord", "p_town_22", "trp_knight_6_3", 0),
 
Uita-te dupa numele fisierelor scris cu bold. In fiecare fisier trebuie sa pui codul respectiv. Daca faci un fisier nou nu o sa il compileze. Si apropo, e vorba de Module System, nu de fisierele txt.

Spor!
 
Dawiduh said:
Uita-te dupa numele fisierelor scris cu bold. In fiecare fisier trebuie sa pui codul respectiv. Daca faci un fisier nou nu o sa il compileze. Si apropo, e vorba de Module System, nu de fisierele txt.

Spor!
Aha ,deci nu pot face acest lucru pe un mod , Dipolmacy de exemplu...sau trebuie sa pun folderul cu Module System in folderul cu Data din modul respectiv?
 
Trebuie sa poti face asta in orice mod. Nu ar trebui sa fie o problema, doar sa fii atent *** au facut ei in fisierele lor si sa faci la fel. In mare ar trebui sa fie la fel ca aici. Cel mai simplu e sa iei la mana fiecare fisier module_NUME si sa cauti in el toate referintele la factiuni. De exemplu sa cauti kingdom1 in toate fisierele si oriunde aare, la finalul listei cu toate regatele sa il adaugi si pe al tau.

Ca sa fii sigur ca nu neneorocesti vreun mod ok, copiaza intreg folderul modului tot in folderul Modules si redenumeste-l. Dupa care iti setezi compilatorul Python si toate link-urile din Module System catre el. Unde pui Module System chiar nu conteaza atata timp cat e setat corect compilatorul.

Uite aici am tradus *** sa iti setezi Module System.
 
Back
Top Bottom