Derse başlamadan önce Map Editör dersinde olduğu gibi biraz kodlardan bahsetmek gerekiyor. Eğer bunu yapmazsam anlamayanlar çoğunlukta olacak eminim, cüknü bunları anlamadan ben de doğru düzgün yapamadım
Öncelikle Asker rütbeleri derken "Troop tree"lerden bahsettiğimi anladık sanırım. Türkçe konuşalım, sahip çıkalım
Bildiğimiz gibi oyunda 5 ana ırk ve "kanun dışılar" olarak haydutlar veya deniz yağmacıları gibi gruplar var. Tecrübe puanı aldıkça, belirli bir düzene göre gelişiyorlar her biri. Bu düzene rütbeler diyebiliriz sanırım. Dersimizde bunları değiştirmeyi öğreneceğiz.
Gerekenler:
1.010 Modül sistemi
Mount&Blade
Beyin
El, ayak ve parmaklar
Eğer kendi modunuzu yapmak istiyorsanız (http://forums.taleworlds.com/index.php/topic,11905.0.html) bunu okumadan anlayacağınızı düşünmeyin.
Eğer Native üzerinde deneme yapacaksanız doğru yerdesiniz okumaya devam
Adım adım rütbe kodlamalarının mantığını öğrenelim (Uygulamalı olarak değiştirmeyeceğim sadece mantığını anlatacağım). Native modundaki Svadya rütbeleri:
Başlıyoruz, sıkı tutunun!
Pyhton'u yüklediniz, modül sistemi masaüstünde duruyor. Güzel, girin modül sistemine ve ordan "module_troops" dosyasına sağ tıklayıp "Edit with IDLE" diyin. [İngilizce bilenlerimiz en üstteki kırmızı yazıları okuyup daha derin bilgi sahibi olabilirler]
CTRL + F basın boşluğa "recruit" yazın ve entere tıklayın. Pyhton'un sizi getirdiği satırlar Svadya ırkının bütün askerlerinin özelliklerini gösteren satırlar.
Yukarıdaki resime bakın en başta Recruit yazan asker birimi en basit olanı. Onun özelliklerini açıklayalım:
["swadian_recruit","Swadian Recruit","Swadian Recruits",tf_guarantee_armor,0,0,fac_neutral,
[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],
Kırmızı renkli gösterilen kod, diğer kodlamalar sırasında bu birliği temsil edecek kod.
Sarı renkli gösterilen kod, bu birliğin oyundaki tekil ismi.
Yeşil renkli gösterilen kod, bu birliğin oyundaki çoğul ismi.
Mavi renkli gösterilen kod, bu birliğin sahip olduğu envanteri belirler. Orada itm ile başlayan her kod, oyundaki bir itemin temsil kodu. Kırmızı renkli kodun item için olanını düşünün. => modül sistemden ID_items.py dosyasına girip göz atabilirsiniz.
Açık yeşil ile gösterilen kod, module_troops'un en üstlerinde belirlenen standart yetenekleri simgeler.
Son kısım yüzlerini belirler. (bunların ayrıntısına girersem çok uzun sürer kısa kesiyorum sorusu olan PM atar)
Baştaki renksiz kısım birliğin erkek olmasını, birliğin kullanılmamasını, veya kale kapısı gibi spawn noktalarında bulunmasını sağlar.
Bunları istediğiniz gibi düzenleyebilirsiniz...
İçinizden birileri dedi ki şimdi:
"Bunları biliyoruz kardeşim biz yeni troop tree hazırlamak veya var olan bu rütbe sistemini büyük ölçüde değiştirmek istiyoruz. Örneğin "sergeant" rütbesi de iki tane geliştirme alabilsin bunu anlatsana"
Sizi kırmıyorum ona da geçiyorum
Bu noktada kafanıza şu soru takıldı, birinci olarak terfiler burdaki kodların sıralamasına göre mi belirleniyor? Cevap hayır. Şimdi sizinle Sergeant rütbesinden 2 geliştirme çıkaralım, 1.sinin ismi "cikita" 2.sinin ismi "muz" olsun.
Dosyanın en üstüne çıkın ve tekrar CTRL + F basıp bu sefer "sergeant" yazıp enter a basın. Geldiğiniz satır :
Code:
["swadian_sergeant","Swadian Sergeant","Swadian Sergeants",tf_mounted|tf_guarantee_shield|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet,0,0,fac_neutral,
[itm_awlpike,itm_bastard_sword_b,itm_morningstar,itm_sword_medieval_c,itm_tab_shield_heater_d, itm_coat_of_plates,itm_mail_with_surcoat,itm_mail_chausses,itm_iron_greaves,itm_guard_helmet,itm_helmet_with_neckguard,itm_bascinet,itm_guard_helmet,itm_leather_gloves], def_attrib|level(25),wp_melee(135),knows_common|knows_shield_3|knows_ironflesh_3|knows_power_strike_3,swadian_face_middle_1, swadian_face_older_2],
Bun kodun tamamını kopyalayın ve en alta gelip enter a basın. Hemen ardından yapıştırın oraya bir güzel. Yukarıda yazdığım kırmızı, sarı ve yeşil kodları sırasıyla : "cikita", "Cikita", "Cikitalar" olarak değiştirin. İstediğiniz level düzenlemesi vb. eyleri uygulayın ve yine en son satıra gelip enter a basın. Tekrar yapıştırın aynı kodu ve bu sefer sırasıyla: "muz", "Muz", "Muzlar" yazın.
Birliklerimiz oluştu ama terfilerini ayarlamadık. Burda içinizin rahatlaması gerekiyor anladığınızı algılayıp. Oh çekin. Devam ediyoruz
CTRL + F diyoruz ve boşluğa upgrade yazıp aratıyoruz. Geldiğimiz yer terfilerin kodlandığı yer. Sergeantı bulalım bakalım ordan ;
Code:
upgrade(troops,"swadian_infantry","swadian_sergeant")
Code:
upgrade2(troops,"swadian_sergeant","cikita","muz")
Şimdi kapatın module_troops.py yi kaydetmeyi unutmadan Modül sistemde build_module_check_tags bu dosyayı çift tıklayın. eğer bu oluyorsa zafer çığlıkları atın :
eğer bu oluyorsa kodlamada bir hata vardır. Ne olabilir diye soracak olursanız, her şey olabilir. Mesela bir virgül unutmuşsunuzdur ya da boş yere bir kere boşluk bırakmışsınızdır: