Na dobry początek
Aby zacząć naszą przygodę z moddingiem, musimy najpierw uzbroić się w kilka niezbędnych aplikacji, które umożliwią nam modyfikację poszczególnych plików. Poniżej znajdziecie ich listę.
- Module System
- Python 2.6 i wxPython do niego
- Notepad++
- OpenBRF-do otwierania plików z teksturami, materiałami, obiektami
- Mount&Blade Map Editor
- Objtomap
- DDS Converter 2
- Wings3D, Blender, 3DSMAX - w zależności od preferencji
- Gimp, Paint.NET - lub inny program do grafiki 2D
Instalacja - konfiguracja MS
Pobieramy Python, najlepiej w wersji 2.6. Nowsze edycje istnieją, aczkolwiek nie są do końca kompatybilne z Module System, stąd najlepiej zaopatrzyć się w tę wspomnianą powyżej. Teraz przyszła kolej na ściągnięcie Module. Pierwszą aplikację instalujemy najlepiej bezpośrednio do ;C:/Python26, ułatwi to dalszą część konfiguracji. Drugi program wypakowujemy do dowolnego folderu.
Aby wszystko działało poprawnie, należy zaznaczyć Mój Komputer, kliknąć PPM, otworzyć Właściwości -> Zaawansowane -> Zmienne środowiskowe. Powinno wyglądać to tak, jak na screenie poniżej.
Odnajdujemy wpis o nazwie Path i edytujemy go. Usuwamy ścieżkę, która się tam znajduje i wpisujemy lokalizację do zainstalowanego przed chwilą Pythona, np. ;C:Python26 (koniecznie ze średnikiem).
Teraz zajmijmy się Module System. Otwieramy folder, gdzie powinien znajdować się plik module_info.py. Otwieramy go za pomocą Notepad++ lub klikając PPM -> Edit with IDLE. Naszym oczom ukaże się następujący wers:
export_dir = "C:/Program Files/Mount&Blade/Modules/Native/"
Po znaku równości należy wpisać ścieżkę do katalogu moda Mount&Blade. Domyślnie jest to C:/Program Files/Mount&Blade/Modules/Native/. Zapisz plik. Po tym uruchamiamy build_module.bat i sprawdzamy, czy wszystko działa jak należy.
Teraz możemy przejść do rzeczy związanych z tworzeniem nowych lokacji, itemów, jednostek i wszystkiego, co w podstawowej wersji gry wydawało nam się niedopracowane. Na pierwszy ogień weźmy tworzenie miast.
Tworzenie miast
1) Otwieramy module_parties. Tam wyszukujemy:
# ("town_18","Narra", icon_town_steppe|pf_town, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-22.6, -82),[], 135),
Kopiujemy podaną wyżej frazę i wklejamy ją poniżej, zmieniając town_18 na town_19. Można też zmienić ikonkę i nazwę, by wprowadzić odrobinę zamieszania.
2) Wyszukujemy module_scenes, otwieramy i kopiujemy poniższe sceny
- town_18_center
- town_18_castle
- town_18_tavern
- town_18_store
- town_18_walls
- town_18_arena
- town_18_prison
- town_18_alley
Wklejamy je pod nimi, zamieniając liczbę 18 na 19.
3) Otwieramy module_troops. Wyszukujemy i kopiujemy następujące osoby:
- town_18_seneschal
- town_18_arena_master
- town_18_armorer
- town_18_weaponsmith
- town_18_tavernkeeper
- town_18_merchant
- town_18_horse_merchant
- town_18_mayor
Także i tym razem wklejamy je, zamieniając liczbę 18 na 19. Jednocześnie, należy pamiętać, aby zmodyfikować frazy:
["town_18_mayor", "Guild_Master", "Guild_Master", tf_hero|tf_randomize_face, 0,reserved, fac_neutral,[ itm_blue_gambeson, itm_blue_hose], def_attrib|level(2),wp(20),knows_common, man_face_middle_1, mercenary_face_2],
4) Otwieramy module_scripts. Tam szukamy:
(call_script, "script_give_center_to_lord", "p_town_18", "trp_knight_3_3", 0),
Kopiujemy i wklejamy pod spód w taki sam sposób, zmieniając 18 na 19 i właściciela.
5) Otwieramy plik naszego moda, a w nim folder "SceneObj", wyszukujemy i kopiujemy zmieniając numer następujących rzeczy:
- town_18_center
- town_18_castle
- town_18_tavern
- town_18_store
- town_18_arena
- town_18_walls
- town_18_prison
- town_18_alley
W zasadzie to już koniec. Właśnie stworzyliśmy nowe miasto. Teraz możemy zająć się dodatkową kwestią w module_scripts:
Trasy handlowe
Wyszukaj i skopiuj frazę:
(call_script, "script_set_trade_route_between_centers", "p_town_17", "p_town_18"),
Wklej ją poniżej tyle razy, ile uznasz za stosowne, zmieniając "p_town_17" na "p_town_19", a id drugiego miasta ustawiamy według własnych potrzeb.
Broń
W tym dziale bliżej przyjrzymy się temu, z czego składa się skrypt przedmiotu. Pod lupę weźmiemy miecz nordycki.
["sword_viking_1", "Nordic Sword", [("sword_viking_c",0),("sword_viking_c_scabbard ", ixmesh_carry)], itp_type_one_handed_wpn|itp_primary, itc_longsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn,
147 , weight(1.5)|difficulty(0)|spd_rtng(99) | weapon_length(94)|swing_damage(28 , cut) | thrust_damage(20 , pierce),imodbits_sword_high ] ,
Nazwa używana w innych plikach MS
Nazwa przedmiotu w grze
Nazwa modelu
Nazwa modelu (tym razem chodzi o miecz w pochwie, o czym świadczy ixmesh_carry)
Cechy przedmiotu
Zestaw animacji, z jakich korzysta przedmiot
Rodzaj ukrycia broni, w tym przypadku broń jednoręczna w pochwie
Cena
Szybkość broni
Długość ostrza broni, do sprawdzenia w OpenBRF za pomocą "Ruler"
Rodzaje i ilość obrażeń: swing to sieczne, a thrust to kłute
Od tego zależy, jakie zmienne obrażeń może mieć item, np. "zabójczej ostrości"
Cechy przedmiotów
Cechy przedmiotów są różne, nie sposób wypisać ich tu wszystkich, poniżej znajdziecie więc kilkanaście najbardziej popularnych. Oddzielamy je od siebie "|"
Najważniejszy jest typ przedmiotu. Ich nazwy są intuicyjne, więc opis sobie podarujemy.
* itp_type_horse
* itp_type_one_handed_wpn
* itp_type_two_handed_wpn
* itp_type_polearm
* itp_type_arrows
* itp_type_bolts
* itp_type_shield
* itp_type_bow
* itp_type_crossbow
* itp_type_thrown
* itp_type_goods (dobra np. jedwab)
* itp_type_head_armor
* itp_type_body_armor
* itp_type_foot_armor
* itp_type_hand_armor
* itp_type_pistol
* itp_type_musket
* itp_type_bullets
* itp_type_animal
* itp_type_book
Tutaj znajdziecie inne flagi, które z pewnością się wam przydadzą:
* itp_unique
* itp_always_loot
* itp_no_parry
* itp_spear
* itp_merchandise (WAŻNE, bez tej flagi nie da się kupić przedmiotu w sklepie)
* itp_wooden_attack (dźwięk przy ataku)
* itp_wooden_parry (dźwięk przy bloku)
* itp_food
* itp_cant_reload_on_horseback
* itp_two_handed
* itp_primary (aby przedmiot mógł być używany w jednym z 4 okienek broni)
* itp_secondary (można wziąć od poległej osoby w trakcie walki)
* itp_covers_legs (dla pancerzy - jeżeli pancerz nie ma spodni, nie należy dawać tej flagi)
* itp_doesnt_cover_hair (dla hełmów - bez tej flagi nie wyświetla włosów)
* itp_consumable (do jedzenia)
* itp_bonus_against_shield
* itp_penalty_with_shield
* itp_cant_use_on_horseback
* itp_civilian (dla strojów, nie pancerzy)
* itp_fit_to_head
* itp_covers_head (do hełmów, przez które nie widać głowy)
Dzięki informacjom podanym w tym dziale z łatwością możecie edytować istniejące oraz tworzyć zupełnie nowe itemy. Do dzieła!
W kolejnych częściach poradnika dowiecie się, w jaki sposób tworzyć nowych NPC oraz drzewka rozwoju, nowe frakcje, a także jak zarządzać zasobami gry. Poznamy też możliwości Iron Launchera.
Współautorem tego poradnika jest Rybopiotr.