[WB]Modül Sistem Platformu [Krallık ekleme dersi yenilendi!]

Users who are viewing this thread

KelNaru

Sergeant
Nr2006 said:
Selamınaleyküm bir otağ modelledim onu oyunun içine nasıl atabilirim
Önce bir brf içine almalısın, Sonra module_scene_propsa girip ] den önce şu kodu yazmalısın:

("edit_modda_görülmesini_istediğin_isim", 0,"modelin_brf_içindeki_adı","bo_modelin_brf_içindeki_adı", []),

bo_ ' yu  ise brf içindeki modele sağ tıklayıp Make a collision object e tıklarsan yapabilirsin
 

Tronuen

Recruit
Anasayfaya yeni bir kategori açayım ozaman :grin:

Evet. Bu gün, modül sisteme giriş yapıyoruz. :smile:
Bu derslerde, farklı kaynaklardan da yararlanacağım. Örneğin vikipedi vb.

- Modül sistem nedir ?
+ Modül sistem, mount&Blade'in, kaynak kodlarının yani oyunu oluşturan, şekillendiren kodların bulunduğu bir sistemdir. Bununla istediğinizi yapabilirsiniz. Troller eklemek mi dersiniz, uçan kuşlar mı dersiniz, Co-op yapmaya çalışan bile oldu :grin:

- Neye yarar ?
+ üzerinde yapılan değişiklikler sayesinde, oyuna yeni yeni özellikler eklersiniz.

-Nasıl kurulur ?
+Bunu, bu dersimizde anlatacağım. Kurulumu kimisi için bir kabus, kimisi için de bebek oyuncağıdır. Yani, biraz araştırma isteği, azim ve sabrınız var ise, siz bu işi yapabilirsiniz.

- Dili nedir ?
+ Dili, Python dilidir. Nesne yönelimli, yorumlanabilen, birimsel (modüler) ve etkileşimli bir programlama dilidir.
Vikipedi den;
Girintilere dayalı basit sözdizimi, dilin öğrenilmesini ve akılda kalmasını kolaylaştırır. Bu da ona söz diziminin ayrıntıları ile vakit yitirmeden programlama yapılmaya başlanabilen bir dil olma özelliği kazandırır.

Modüler yapısı, sınıf dizgesini (sistem) ve her türlü veri alanı girişini destekler. Hemen hemen her türlü platformda çalışabilir. (Unix , Linux, Mac, Windows, Amiga, Symbian). Python ile sistem programlama, kullanıcı arabirimi programlama, ağ programlama, uygulama ve veritabanı yazılımı programlama gibi birçok alanda yazılım geliştirebilirsiniz. Büyük yazılımların hızlı bir şekilde prototiplerinin üretilmesi ve denenmesi gerektiği durumlarda da C ya da C++ gibi dillere tercih edilir.

Evet. İlk önce, Python'un sitesinden, şunu indirin;
32 bit olanlar için;

64 bit olanlar için;

İndirdikten sonra, Setup'u açın. Karşınıza şunun gelmesi gerek;
aPYpd2.png

Next diyoruz;
REDN8G.png

Devam ediyoruz;
72DdZv.png

Ve...;
kZ6pRm.png

Finish..;
zQML1D.png



Şimdi, ortam değişkenlerini ayarlamaya geldi sıra.
Bilgisayarım'a sağ tıklayın, özellikler değin. Daha sonra..;
pvnkaL.png

küçük bir pencere açılacak. Ortam değişkenlerine tıklayın;
PvDNVN.png

Burası biraz karışık gelebilir. İlk önce, az aşağı inip, Path ı arayın;
jz6pMn.png

Düzenle dedikten sonra;
pvnkJ0.png

Sonuç olarak şöyle gözükmeli ortam değişkenleri;
aPYpbz.png



Şimdi ise, Modül sistemi indirmemiz ve kendimize yeni bir modül yapmamız gerek.
Oyununuzun dosyasına gelin;
mqopQZ.png

Modules'e girdikten sonra, Orada Native'yi göreceksiniz. Native'nin kopyasını alın, aynı yere yapıştırın. Adını mesela Project yapın. Asla Türkçe harf kullanmayın. İleride sorun çıkartacak.;
AZzPQz.png

Şimdi. burayla işimiz bitti. Daha çok var :grin: ;

Şimdi, Taleworlds'un Web sitesinden 1.166 Modül sistemini indiriyoruz
UYARI!!!
Modül sistem versionu ile Sizin oyununuzun versionu aynı olmak zorunda! Lakin 1.166 modül sistemi ile 1.168'de değişiklik yapabilirsiniz.

İndirdikten sonra, bir rar da iki dosya olacak. Onları bir klasöre çıkartın.
Klasöre çıkarttıktan sonra;
rY1pla.png

Karşınıza koccaman kodlarla dolu dosyalar gelecek. Siz, Module_info'yu aratın;
M9D4l7.png

Bulunca, Ona sağ tıklayıp edit with idle değin;
72DZom.png

Sona yaklaştık;
REDRYG.png

Sondan bir önce ki adım;
d4BEGD.png

Bu üsttekini yaptıktan sonra, Kaydedip çıkıyoruz. Ardından, Een yukarıda build_module var. Onu açın. Karşınıza şöyle ekran gelmesi gerekiyor eğer dediklerim hatasız bir şekilde yapıldıysa;
JdDBQ5.png

Eğer böyle ise, Tebrikler!!! Hem modül sistemi hemde Pythonu kurdunuz! Bir daha ki dersimizde, o modül sistemin için de ki dosyaların ne işe yaradığını öğreneceğiz. İyi günler :smile:

Çok sağol eline sağlık. Yalnız ben 1.174 module sistemi bulamadım. İndirmek için aradığım sayfalar hep errorlu. Bana yardım edebilir misiniz?
 

nustycash

Recruit
Merhaba Şehir ekleme kısmını başarıyla yaptım
Modül system hiç hata vermedi
Morghtstan şehrin eklendigini de gösterdi
Ama oyuna girdigimde RGL ERROR unable to find face mesh : male_head diye bir hata alıyorum
Not Modum Floris yardımcı olursanız sevinirim :S
 
Merhaba Şehir ekleme kısmını başarıyla yaptım
Modül system hiç hata vermedi
Morghtstan şehrin eklendigini de gösterdi
Ama oyuna girdigimde RGL ERROR unable to find face mesh : male_head diye bir hata alıyorum
Not Modum Floris yardımcı olursanız sevinirim :S
Kardeşim kelle almayı eklemişsin sanırım
Yada yeni yüz eklemeye çalışmışsın ancak Module.ini dosyasına kaydettirmemişsin
 
Arkadaşlar ben map editöre giriyorum şehir taşımaya basıyorum ama şehre bastığımda kırmızı şey tulga ve halmar şehri arasında tekrar ediyor çözümü bilen varmı
 

King|Verdia

Recruit
Ya reyis dediklerini yaptım module_bat'ı çalıştırdım error falan vermedi herşey tamam ama map managere girdiğimde gene aynıydı kaplamar falan değişmemişti ?
neden
 

TheWitcher0

Recruit
Reisim ben diplomasi 4. litdum üzerinde module sistem kullandım herşeyi hallettim ama oyundaki diplomasi ayarları kayboldu ayrıyeten at zırh benzeri eşyaların meshleri bulunamıyor hatası veriyor herhangi bir bilgin var mı hyperchange veya bilgisi olan var mı nasıl düzeltebileceğimle ilgili şimdiden teşekkürler
 

OkcuEkrem

Recruit
Krallık ekleme;
Öncelikle, Module_factions'u açın.

orada,

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

Üsttekini göreceksiniz.

Onun altına şunu yapıştırın;

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

Daha sonra;

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),
az alta inin, yukarıdakini göreceksiniz. Onun hemen altınada,

Code:
("kingdom_7",  "Ilkhanate",  0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xDDDD33),

Ben ilhanlı devleti diye varsayıyorum. Siz istediğiniz adı koyun ama sakınha türkçe harf kullanmayın.

Ayrıca en sondaki 0xDDDD33, krallığın rengidir, hex color code diye aratırsanız bulursunuz googledan.

eğer ikisinide yaptıysak culture gözüken kısım şöyle olmalı;

Code:
("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, [], []),

Krallıklar ise şöyle gözükmeli;

Code:
("kingdom_1",  "Byzantion Empire", 0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xEE7744),
  ("kingdom_2",  "Holy Rome Empire",    0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xCCBB99),
  ("kingdom_3",  "Ilkhanate", 0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xCC99FF),
  ("kingdom_4",  "Bulgaria",    0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0x33DDDD),
  ("kingdom_5",  "The Rome",  0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0x33DD33),
  ("kingdom_6",  "Mamluke 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",  "Karamanoglu Beyligi",  0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xDDDD33),

Ben kendi moduma göre Karamanoğlu beyliği yaptım sizde ise adını yazdığınız krallık olacaktır.

Şimdi Module scripts'e geçelim.;

Burada kültürleri ayarlıyacağız.

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

yukarıdakini bulun. Module scripts'in hemen başlarında dır.

Onun altına;

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

Yapıştırın.

Sonra alttakini bulun.;

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"),

Bulduktan sonra, Altına şunu ekleyin.

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"),


Krallığın kralını ayarlamaya geldik.
Module_scripts'i açın ve
Alttakini bulun;
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),

Onun altına;

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),


Şimdi krallığa şehir vereceğiz.;
Module_scripts'ten devam;
alttakini aratın;

Code:
(call_script, "script_give_center_to_faction_aux", "p_town_1", "fac_kingdom_4"),

O yukarıdaki bulduğunuz satırın tamamını

Alttaki ile değiştirin;

Code:
(call_script, "script_give_center_to_faction_aux", "p_town_1", "fac_kingdom_7"),

Şimdi bu yaptığımız şey, Sargoth şehrini yeni yaptığımız krallığa vermek oldu. Hadi onu krallığın kralına verelim!



Krala şehir verme;

alttakini aratın

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

yine o yukarıdaki satırın tamamını alttaki ile değiştirin

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

Ve şehri lorda verdik. Peki sizce kaç eksiğimiz var ? bence daha var.



şimdi kralı ekleyeceğiz.

Module_troops'u açın;
alttakini aratın;
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_4,wp(220),knight_skills_5|knows_trainer_5, 0x0000000a4b103354189c71d6d386e8ac00000000001e24eb0000000000000000, rhodok_face_old_2],

onun altına;

Code:
["kingdom_7_lord",  "Emperor Gregory",  "Gregory",  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],

bunu yapıştırın. (Buradaki hatayı düzelttiği için KhergitKhan'a teşekkürler...)

Şimdi lord ekleyeceğiz.

Yine module_troops'dan

Code:
["knight_6_20", "Emir Biliya", "Biliya", tf_hero, 0, reserved,

bulun. o bulduğunuz paragrafı kopyalayın, daha sonra altına bir iki boşluk bırakarak,;



yukarıdaki gibi olması lazım. kingdom_7 nin 1.ci lordudur. 1 lord size yeter şimdilik :grin:


Krallığa bayrak ekleme;

Module_scripts'i açın orada;

Code:
(faction_set_slot, "fac_kingdom_6", slot_faction_banner,
aratın. o satırın altına;

Code:
(faction_set_slot, "fac_kingdom_7", slot_faction_banner, "mesh_banner_kingdom_h"),


Şimdi module_meshes'i açın;

alttakini aratın;

Code:
("banner_kingdom_f", 0, "banner_kingdom_f", 0, 0, 0, -90, 0, 0, 1, 1, 1),

Altına şunu yapıştırın;

Code:
("banner_kingdom_h", 0, "banner_kingdom_h", 0, 0, 0, -90, 0, 0, 1, 1, 1),

Aynını module_map_icons ve module_scene_propsta da yapın.


Şimdi şehirdeki savunacak askerleri belirleyelim. Açın module_scripts'i;

Şunu bulun. Bana göre 6048'inci satırda. Ben notepad++ kullanıyorum.;

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"),

Altına ekleyiverin;
Code:
(else_try),
          (faction_slot_eq, ":faction_no", slot_faction_culture, "fac_culture_7"),
     
          (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_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"),

İşlem sonucu şöyle birşey olması gerekiyor;
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"),
         (else_try),
          (faction_slot_eq, ":faction_no", slot_faction_culture, "fac_culture_7"),
     
          (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_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"),
        (try_end),
      (try_end),
    ]),

Daha bitmedi. Module_party_templates'e girin;

orada alttakini bulun;

Code:
("kingdom_6_reinforcements_a", "{!}kingdom_6_reinforcements_a", 0, 0, fac_commoners, 0, [(trp_sarranid_recruit,5,10),(trp_sarranid_footman,2,4)]),
  ("kingdom_6_reinforcements_b", "{!}kingdom_6_reinforcements_b", 0, 0, fac_commoners, 0, [(trp_sarranid_skirmisher,2,4),(trp_sarranid_veteran_footman,2,3),(trp_sarranid_footman,1,3)]),
  ("kingdom_6_reinforcements_c", "{!}kingdom_6_reinforcements_c", 0, 0, fac_commoners, 0, [(trp_sarranid_horseman,3,5)]),

Altına bi satır boşluk bırakarak şunu yapıştırın;

Code:
("kingdom_7_reinforcements_a", "{!}kingdom_7_reinforcements_a", 0, 0, fac_commoners, 0, [(trp_sarranid_recruit,5,10),(trp_sarranid_footman,2,4)]),
  ("kingdom_7_reinforcements_b", "{!}kingdom_7_reinforcements_b", 0, 0, fac_commoners, 0, [(trp_sarranid_skirmisher,2,4),(trp_sarranid_veteran_footman,2,3),(trp_sarranid_footman,1,3)]),
  ("kingdom_7_reinforcements_c", "{!}kingdom_7_reinforcements_c", 0, 0, fac_commoners, 0, [(trp_sarranid_horseman,3,5)]),

İşlem sonucu şöyle bişey olması gerekiyor;

Code:
("kingdom_6_reinforcements_a", "{!}kingdom_6_reinforcements_a", 0, 0, fac_commoners, 0, [(trp_sarranid_recruit,5,10),(trp_sarranid_footman,2,4)]),
  ("kingdom_6_reinforcements_b", "{!}kingdom_6_reinforcements_b", 0, 0, fac_commoners, 0, [(trp_sarranid_skirmisher,2,4),(trp_sarranid_veteran_footman,2,3),(trp_sarranid_footman,1,3)]),
  ("kingdom_6_reinforcements_c", "{!}kingdom_6_reinforcements_c", 0, 0, fac_commoners, 0, [(trp_sarranid_horseman,3,5)]),
 
  ("kingdom_7_reinforcements_a", "{!}kingdom_7_reinforcements_a", 0, 0, fac_commoners, 0, [(trp_sarranid_recruit,5,10),(trp_sarranid_footman,2,4)]),
  ("kingdom_7_reinforcements_b", "{!}kingdom_7_reinforcements_b", 0, 0, fac_commoners, 0, [(trp_sarranid_skirmisher,2,4),(trp_sarranid_veteran_footman,2,3),(trp_sarranid_footman,1,3)]),
  ("kingdom_7_reinforcements_c", "{!}kingdom_7_reinforcements_c", 0, 0, fac_commoners, 0, [(trp_sarranid_horseman,3,5)]),

Leydileri ayarlama;

module_troops'a girin ve şunu bulun;

Code:
["kingdom_6_lady_20","Lady Sur","Sur",tf_hero|tf_female|tf_unmoveable_in_party_window,0,reserved,fac_kingdom_6, [itm_sarranid_lady_dress,      itm_leather_boots],     def_attrib|level(2),wp(50),knows_common|knows_riding_2, swadian_woman_face_2],

2 altına şunu ekleyin;

Code:
["kingdom_7_lady_1","Halime Hanim","Halime",tf_hero|tf_female|tf_unmoveable_in_party_window,0,reserved,fac_kingdom_7, [itm_sarranid_lady_dress,      itm_leather_boots],     def_attrib|level(2),wp(50),knows_common|knows_riding_2, swadian_woman_face_2],

daha sonra, module_scripts'i açıp şunu bulun;

Code:
("add_lady_items",
                [
                  (store_script_param, ":lady_no", 1),
                  (troop_equip_items, ":lady_no"),
                 
                  (store_faction_of_troop, ":faction_no", ":lady_no"),
                 
                  (store_random_in_range, ":random", 0, 6),
                 
                  (try_begin), #assign clothes
                    (this_or_next|troop_slot_eq, ":lady_no", slot_lord_reputation_type, lrep_adventurous),
                    (troop_slot_eq, ":lady_no", slot_lord_reputation_type, lrep_ambitious),
                   
                    (this_or_next|troop_slot_eq, ":lady_no", slot_lord_reputation_type, lrep_adventurous),
                    (lt, ":random", 2),
                   
                    (neg|troop_slot_ge, ":lady_no", slot_troop_age, 40),
                    (try_begin),
                      (eq, ":faction_no", "fac_kingdom_2"),
                      (lt, ":random", 4),
                      (troop_add_item, ":lady_no", "itm_fur_coat", 0),
                    (else_try),
                      (eq, ":faction_no", "fac_kingdom_3"),
                      (lt, ":random", 3),
                      (troop_add_item, ":lady_no", "itm_nomad_robe", 0),
                    (else_try),
                      (troop_add_item, ":lady_no", "itm_nomad_vest", 0),
                    (try_end),
                  (else_try),
                    (eq, ":faction_no", "fac_kingdom_1"),
                    (try_begin),
                      (lt, ":random", 2),
                      (troop_add_item, ":lady_no", "itm_lady_dress_ruby", 0),
                    (else_try),
                      (lt, ":random", 4),
                      (troop_add_item, ":lady_no", "itm_lady_dress_green", 0),
                    (else_try),
                      (troop_add_item, ":lady_no", "itm_lady_dress_blue", 0),
                    (try_end),
                  (else_try),
                    (eq, ":faction_no", "fac_kingdom_2"),
                    (try_begin),
                      (eq, ":random", 0),
                      (troop_add_item, ":lady_no", "itm_blue_dress", 0),
                    (else_try),
                      (eq, ":random", 1),
                      (troop_add_item, ":lady_no", "itm_lady_dress_green", 0),
                    (else_try),
                      (eq, ":random", 2),
                      (troop_add_item, ":lady_no", "itm_lady_dress_blue", 0),
                    (else_try),
                      (lt, ":random", 5),
                      (neg|troop_slot_eq, ":lady_no", slot_lord_reputation_type, lrep_conventional),
                      (neg|troop_slot_eq, ":lady_no", slot_lord_reputation_type, lrep_ambitious),
                      (troop_add_item, ":lady_no", "itm_peasant_dress", 0),
                    (else_try),
                      (lt, ":random", 5),
                      (troop_add_item, ":lady_no", "itm_lady_dress_ruby", 0),
                    (else_try),
                      (troop_add_item, ":lady_no", "itm_court_dress", 0),
                    (try_end),
                   
                  (else_try),
                    (eq, ":faction_no", "fac_kingdom_3"),
                    (troop_add_item, ":lady_no", "itm_khergit_lady_dress", 0),
                   
                  (else_try),
                    (eq, ":faction_no", "fac_kingdom_4"),
                   
                  (else_try),
                    (eq, ":faction_no", "fac_kingdom_5"),
                   
                   
                  (try_end),
                  (troop_equip_items, ":lady_no"),
                 
                  #also available:
                  #itm_blue_dress
                  #itm_court_dress
                 
                  #to add for khergits -- salwar/shalvar?
                  #western tang costume (p105, china's golden age)
                  #kipchak woman from russia book
                 
                  (try_begin), #assign headguear matched to item
                    (this_or_next|troop_has_item_equipped, ":lady_no", "itm_nomad_vest"),
                    (this_or_next|troop_has_item_equipped, ":lady_no", "itm_fur_coat"),
                    (troop_has_item_equipped, ":lady_no", "itm_nomad_robe"),
                   
                    #assign no headgear
                  (else_try),
                    (this_or_next|troop_slot_eq, ":lady_no", slot_lord_reputation_type, lrep_moralist),
                    (this_or_next|troop_slot_eq, ":lady_no", slot_lord_reputation_type, lrep_conventional),
                    (lt, ":random", 2),
                   
                   
                    (try_begin),
                      (troop_has_item_equipped, ":lady_no", "itm_khergit_lady_dress"),
                      (troop_add_item, ":lady_no", "itm_khergit_lady_hat", 0),
                     
                    (else_try),
                      (troop_has_item_equipped, ":lady_no", "itm_lady_dress_ruby"),
                      (troop_add_item, ":lady_no", "itm_turret_hat_ruby", 0),
                     
                      (str_store_troop_name, s4, ":lady_no"),
                      #            (display_message, "@Giving ruby turret hat to {s4}"),
                    (else_try),
                      (troop_has_item_equipped, ":lady_no", "itm_lady_dress_blue"),
                      (troop_add_item, ":lady_no", "itm_turret_hat_blue", 0),
                     
                      (str_store_troop_name, s4, ":lady_no"),
                      #            (display_message, "@Giving blue turret hat to {s4}"),
                    (else_try),
                      (troop_has_item_equipped, ":lady_no", "itm_lady_dress_green"),
                      (troop_add_item, ":lady_no", "itm_turret_hat_green", 0),
                     
                      (str_store_troop_name, s4, ":lady_no"),
                      #            (display_message, "@Giving green turret hat to {s4}"),
                    (else_try),
                      (troop_has_item_equipped, ":lady_no", "itm_green_dress"),
                      (troop_add_item, ":lady_no", "itm_wimple_with_veil", 0),
                     
                      (str_store_troop_name, s4, ":lady_no"),
                      #            (display_message, "@Giving green-lined wimple to {s4}"),
                    (else_try),
                      (neq, ":faction_no", "fac_kingdom_3"),
                      (neq, ":faction_no", "fac_kingdom_6"),
                      (troop_add_item, ":lady_no", "itm_wimple_a", 0),
                     
                      (str_store_troop_name, s4, ":lady_no"),
                      #            (display_message, "@Giving red-lined wimple to {s4}"),
                    (else_try),
                      (eq, ":faction_no", "fac_kingdom_6"),
                      (try_begin),
                        (troop_has_item_equipped, ":lady_no", "itm_sarranid_lady_dress"),
                        (troop_add_item, ":lady_no", "itm_sarranid_head_cloth", 0),
                      (else_try),
                        (troop_add_item, ":lady_no", "itm_sarranid_head_cloth_b", 0),
                      (try_end),
                    (try_end),
                  (try_end),
                  (troop_equip_items, ":lady_no"),
                ]
              ),

Bu script leydilerin giysilerinin ülkeye göre değişimini sağlıyo lazım olanı, sondaki parçaya bakıyoruz;

Code:
 (else_try),
                      (eq, ":faction_no", "fac_kingdom_6"),
                      (try_begin),
                        (troop_has_item_equipped, ":lady_no", "itm_sarranid_lady_dress"),
                        (troop_add_item, ":lady_no", "itm_sarranid_head_cloth", 0),
                      (else_try),
                        (troop_add_item, ":lady_no", "itm_sarranid_head_cloth_b", 0),
                      (try_end),

Bunu scriptte bulabilirsiniz, bunun altına şunu ekleyin;

Code:
 (else_try),
                      (eq, ":faction_no", "fac_kingdom_7"),
                      (try_begin),
                        (troop_has_item_equipped, ":lady_no", "itm_sarranid_lady_dress"),
                        (troop_add_item, ":lady_no", "itm_sarranid_head_cloth", 0),
                      (else_try),
                        (troop_add_item, ":lady_no", "itm_sarranid_head_cloth_b", 0),
                      (try_end),


Geldik aile ilişkilerine. En çok sorun yaratan kısım burası.

module_scripts'te initialize_aristocracy scriptine gidin, bu script aile ilişkilerini düzenliyor oyun başından.

Orda şunu bulun, ve burdaki kingdom_1_pretender yazısını knight_7_1;

Code:
(else_try),
         (is_between, ":cur_troop", "trp_knight_6_1", "trp_kingdom_1_pretender"),
         (store_sub, ":npc_seed", ":cur_troop", "trp_knight_6_1"),
         (assign, ":ancestor_seed", 31),

daha sonra ordaki try_end den hemen öncesine şunu ekleyin;

Code:
(else_try),
          (is_between, ":cur_troop", "trp_knight_7_1", "trp_kingdom_1_pretender"),
          (store_sub, ":npc_seed", ":cur_troop", "trp_knight_7_1"),
          (assign, ":ancestor_seed", 37), # her krallik eklediginizde buraya 6 ekleyin


Geldik bayraklara ( kullanacağınız şeyler; banners.brf, textures.brf, materials.brf, module.ini, module_constants.py, module_scripts.py, module_meshes.py, module_scene_props.py, module_map_icons.py)

Taleworlds'ün warband için yarattığı en kötü sistemlerden biri bayrak eklemek. Kendileri bile zorlanmıştır bence.

Başlamadan önce, lordlarınız kadar bayrak ekleyin, 20 taneyse 20 tane yapın. Yaptığınızı varsayarak devam ediyorum;

CommonRes'deki banners.brf'yi bulun, ordaki bayraklardan bir tanesinin texturesini alın ve kendini bayrağınızı yapın, yanlış koordinatta olmamalarına özen gösterin.

Bayrağınızı yaptıktan sonra DDS olarak kaydedin, DXT1 formatında. Sonra onu texturese atın modunuzdaki. Daha sonra banners.brf, texture.brf ve materials.brf'yi kopyalayın CommonRes'den, kendi resource'nize ekleyin, module_ini den de ayarlayın;

şunları bulun module.ini de;

load_resource = textures
load_resource = materials
load_resource = banners

Alttakilerle değiştirin;

load_mod_resource = textures
load_mod_resource = materials
load_mod_resource = banners

Daha sonra yeni kopyaladığınız textures.brf'ye girin, banners_g'yi kopyalayın aynı yere yapıştırıp adını banners_h yapın. aynısını materials.brf de de yapın lakin materials.brf deki yeni kopyanın DiffuseA bölgesine o banners_h'ı girmeyi unutmayın.

Şimdi de banners.brf'ye girin ve banner_f01'den banner_f21'e kadar olan tüm bayrakları veyahut llord sayınız kadar bayrağı alın, aynı yere kopyalıyıp f leri h yapın, materyallerini banners_h yapın. Altlardaki arms_ uzantılı modellere de aynını yapın.

Yorulmadınız mı hala ? bir brf yapın ve adını map_flags_mod veya ona benzer bir şey koyun, module.ini'ye tanıtın. Daha sonra CommonRes'deki map_flags_c'yi açın ve içinde map_flag_e ile başlayan her şeyi o yeni brf'nize aktarın, materyali değiştirin, map_flag_e yerine map_flag_h yazın, karışmasınlar diğerleriyle.

Şimdi module_map_iconsa girin, en alttaki bayraklarda sarranidlerdeki bayrakları yine lord sayınız kadar kopyalayın, altına ekleyin.

sonra module_constantsa gidin ve şunları bulun;

sarranid_banners_begin_offset = 105
sarranid_banners_end_offset = 125

altına şunları ekleyin;

kingdom_7_banners_begin_offset = 126
kingdom_7_banners_end_offset = 146

Burada ben 20 lord eklediğinizi varsayarak 7. krallığın bayrak sayısını 126-146 arasındaki fark olan 20'yi aldım.

daha sonra hemen orda şunu bulun;

banners_end_offset = 136

bu sayıya eklediğiniz bayrak kadar sayı ekleyin.

Şimdi şunları bulun aynı dosyada;

banner_map_icons_begin = "icon_banner_01"
banner_map_icons_end_minus_one = "icon_banner_136"

banner_136'yı en son eklediğiniz bayrakla değiştirin.

Şimdi tekrar module_meshes'e dönün ve linkteki işlemi uygulayın, aynını arms_ uzantılı meshler için de yapın;


Az kaldı bitmek üzere bu bayrak şeyisi, şimdi module_scripts'te 400. satırlara doğru gidin ve şunu bulun;

Code:
(assign, ":num_sarranid_lords_assigned", 0),

altına bunu ekleyin;

Code:
(assign, ":num_kingdom_7_lords_assigned", 0),

şunu bulun yine module_scriptste;

Code:
(else_try),
          (eq, ":kingdom_hero_faction", "fac_kingdom_6"), #Sarranid Sultanate
          (store_add, ":kingdom_6_banners_begin", banner_scene_props_begin, sarranid_banners_begin_offset),
          (store_add, ":banner_id", ":kingdom_6_banners_begin", ":num_sarranid_lords_assigned"),
          (troop_set_slot, ":kingdom_hero", slot_troop_banner_scene_prop, ":banner_id"),
          (val_add, ":num_sarranid_lords_assigned", 1),

altına şunu ekleyin;

Code:
(else_try),
          (eq, ":kingdom_hero_faction", "fac_kingdom_7"),
          (store_add, ":kingdom_7_banners_begin", banner_scene_props_begin, kingdom_7_banners_begin_offset),
          (store_add, ":banner_id", ":kingdom_7_banners_begin", ":num_kingdom_7_lords_assigned"),
          (troop_set_slot, ":kingdom_hero", slot_troop_banner_scene_prop, ":banner_id"),
          (val_add, ":num_sarranid_lords_assigned", 1),

Şimdi de şunu bulun yine module_scripts'te;

Code:
(try_begin),
            (gt, ":hero_offset", sarranid_banners_begin_offset),#Do not add sarranid banners to other lords
            (val_add, ":hero_offset", sarranid_banners_end_offset),
            (val_sub, ":hero_offset", sarranid_banners_begin_offset),
          (try_end),

hemen altına şunu ekleyin;

Code:
(try_begin),
            (gt, ":hero_offset", kingdom_7_banners_begin_offset),
            (val_add, ":hero_offset", kingdom_7_banners_end_offset),
            (val_sub, ":hero_offset", kingdom_7_banners_begin_offset),
          (try_end),

Ve bu kadar, Warband'in en karmaşık olaylarından birinin içinden kafanız allak bullak olmuş olsa da çıktınız.



Şimdi ticaret yollarını ayarlamamız lazım yoksa yeni krallığımız ticaret kervanlarını gönderemez ve alamaz.

module_scripts'te initialize_trade_routes scriptini bulun, biraz bakınırsanız olayı çözersiniz.

sonra initialize_town_arena_info scriptini de bulun ve kopyalayıp yeni eklediğiniz barriye şehrinin ("p_town_22") değerlerini alıp hemen onun altına yapıştırın ve eklediğiniz şehre göre isimlendirin şehir isimlerini.


Şimdi yine module_scriptste initialize_economic_information scriptini arayın. Bu script hangi şehrin ne ürettiğini belirliyor. Örneğin;
Code:
#Tihr (salt, smoked fish, linen)
    (party_set_slot, "p_town_2", slot_center_salt_pans, 3),
    (party_set_slot, "p_town_2", slot_center_fishing_fleet, 25),    
    (party_set_slot, "p_town_2", slot_center_linen_looms, 15),

yine copy-paste yapabilirsiniz şehrin ismini de değiştirip. Başka ürünler başka etkiler getirir şehrin ekonomisine, refahı vesaire arttırabilir.

Az daha aşağı inin şunu bulacaksınız;

Code:
(try_for_range, ":village_no", villages_begin, villages_end),
        (try_begin),
          (this_or_next|eq, ":village_no", "p_village_93"), #mazigh
          (this_or_next|eq, ":village_no", "p_village_94"), #sekhtem
          (this_or_next|eq, ":village_no", "p_village_95"), #qalyut
          (this_or_next|eq, ":village_no", "p_village_96"), #tilimsal
          (this_or_next|eq, ":village_no", "p_village_97"), #shibal zumr
          (this_or_next|eq, ":village_no", "p_village_102"), #tamnuh
          (this_or_next|eq, ":village_no", "p_village_109"), #habba
          (this_or_next|eq, ":village_no", "p_village_98"), #mawiti
          (this_or_next|eq, ":village_no", "p_village_103"), #mijayet
          (this_or_next|eq, ":village_no", "p_village_105"), #aab
          (this_or_next|eq, ":village_no", "p_village_99"), #fishara
          (this_or_next|eq, ":village_no", "p_village_100"), #iqbayl
          (this_or_next|eq, ":village_no", "p_village_107"), #unriya
          (this_or_next|eq, ":village_no", "p_village_101"), #uzgha
          (this_or_next|eq, ":village_no", "p_village_104"), #tazjunat
          (this_or_next|eq, ":village_no", "p_village_110"), #rushdigh
          (this_or_next|eq, ":village_no", "p_village_108"), #mit nun
          (eq, ":village_no", "p_village_92"), #dhibbain

Buraya krallığınız bir çölde olacaksa yeni köyleri ekleyin.

Sonra şunu bulun;

Code:
#Tihr (village productions : Kulum, Haen and Aldelen)
        (else_try),
          (party_slot_eq, ":village_no", slot_village_market_town, "p_town_2"),
          (party_set_slot, ":village_no", slot_center_acres_vineyard, 8000),
          (party_set_slot, ":village_no", slot_center_household_gardens, 10),

Bu köylerdeki görünmez araziyi belirliyor ve sanırım köylerdeki stokları da.

Sonra şunu bulun;
Burada köyümüz eğer kıyıya yakınsa bu işlemi uygulayacağız. Aslında pek gerek yok lakin kıyıya yakın köylerde balıkların satılma nedeni bu, gerçekçiliği arttırıyor.

(party_set_slot, "p_village_1", slot_center_fishing_fleet, 15), #Yaragar

Eğer kıyıya yakınsa köyümüz, bunun hemen altına şunu ekliyoruz;

(party_set_slot, "p_village_111", slot_center_fishing_fleet, 15), #yeni-koy

Bu kısım da bu kadar, çoğu gereksiz lakin 100 tane şehir eklediğinizde ekonomiyi taşıyacak bir balık pazarı olmazsa buglar baş gösterebiliyor.



Şimdi geldik önemli olan ama dikkat edilmeyen detaylara;

Doğru müziği eklemek (module_scripts.py);

get_culture_with_faction_for_music scriptini bulun. Burada bir müzik kültürü adı altında listelenmiş bir döngü göreceksiniz. Lakin uyanıklık yapacaksanız uyarayım, mtf_culture_1 gibi yeni flaglar ekleyemezsiniz çünkü hardcode. Onun yerine şöyle yapabilirsiniz;



Krallığınız hangi kültürde müzik çalsın istiyorsanız ona göre böyle bir uydurma yapabilirsiniz.

Eklediğiniz ülkenin askerlerini hızlı savaşa eklemek (module_scripts.py, module_presentations.py);

module_scripts'e girin ve game_quick_start scriptini bulun.

Ordan şurayı kopyalayın ve sarranidinkilerin altına ekleyip krallığınıza göre düzenleyin;

Code:
(faction_set_slot, "fac_kingdom_1", slot_faction_quick_battle_tier_1_infantry, "trp_swadian_footman"),
      (faction_set_slot, "fac_kingdom_1", slot_faction_quick_battle_tier_2_infantry, "trp_swadian_infantry"),
      (faction_set_slot, "fac_kingdom_1", slot_faction_quick_battle_tier_1_archer, "trp_swadian_skirmisher"),
      (faction_set_slot, "fac_kingdom_1", slot_faction_quick_battle_tier_2_archer, "trp_swadian_crossbowman"),
      (faction_set_slot, "fac_kingdom_1", slot_faction_quick_battle_tier_1_cavalry, "trp_swadian_man_at_arms"),
      (faction_set_slot, "fac_kingdom_1", slot_faction_quick_battle_tier_2_cavalry, "trp_swadian_knight"),

daha sonra module_presentations'a girin ve şunu bulun;

Code:
(eq, "$g_quick_battle_team_2_faction", "fac_kingdom_1"),

Orda şöyle bir şey göreceksiniz;
Code:
(eq, "$g_quick_battle_team_2_faction", "fac_kingdom_6"),
        (assign, ":cur_troop", "trp_sarranid_mamluke"),
      (else_try),

bunun altına şunu ekleyin, daha sonra ordaki sarranid_mamluke askerinin yerine eklediğiniz krallığın en iyi askerinin adını yazın;
Code:
(eq, "$g_quick_battle_team_2_faction", "fac_kingdom_7"),
        (assign, ":cur_troop", "trp_sarranid_mamluke"),
      (else_try),

Krallık sıfatlarını atama (module_strings.py, module_scripts.py)

lonca başkanı scriptlerinden bir tanesi her krallık için bir "sıfat" istiyor. Bu yüzden ki bug çıkmaması adına bunu da eklemek gerekir.

module_strings'te şunu bulun;

("kingdom_1_adjective", "Swadian"),

Sonra sarranidin altına kendinizinkini ekleyin değiştirerek.

Sonra module_scriptste şunu bulun;

(faction_set_slot, "fac_kingdom_1", slot_faction_adjective, "str_kingdom_1_adjective"),

module_stringste yaptığınızın aynısını yapın.


Sonunda bitti. Yeni krallığınız hayırlı ve uğurlu olsun :razz:

Alttaki resim, Krallık eklediğimizin kanıtıdır;

s5799.bmp
bende factionsda en sonda krallık renk kodu gözükmüyor ama onun yerine mb warband editorden rengini değiştirdim olurmu?
 
Top Bottom