Author Topic: Mod Sistemi Dersleri (Yeni konular eklendi)  (Read 14332 times)

0 Members and 1 Guest are viewing this topic.

JustSetMeFree

  • Recruit
  • *
    • View Profile
Re: Mod Sistemi Dersleri (Yeni konular eklendi)
« Reply #15 on: May 27, 2006, 01:57:29 PM »
5.3 Yeni bir nesne/silah yaratmak


"practice_sword" tuple'ını kopyalayıp sayfanın en altına, köşeli ayraçtan "]" önce olmak suretiyle yapıştırınız. Bunu yaptıktan sonra, bu yeni tuple'ın adını(item name) ve kimliğini(item id) "new_mace" olarak değiştiriniz.

["new_mace","new_mace", [("practice_sword",0)], itp_type_one_handed_wpn|itp_melee|itp_primary|itp_secondary, itc_longsword, 3,weight(1.5)|spd_rtng(103)|weapon_length(90)|swing_damage(16,blunt)|thrust_damage(10,blunt),imodbits_none],

M&B'nin nesne sistemi çok esnektir; bir kılıcı gürze (mace) dönüştürmek sadece bir kaç ayar gerektirir. "practice_sword" tuple'ı halihazırda kör zarar(blunt damage) olarak ayarlanmış. Bu bizim işimizi daha kolay hale getiriyor.

Öncelikle, yeni gürzümüzün nesne özelliklerini "itc_longsword" 'dan "itc_scimitar" 'a değiştiriyoruz. Bu gürzümüzün saplama özelliğini kaybetmesini sağlayacaktır, çünkü M&B 'in saplama animasyonu "itc_scimitar" sabitinde bulunmamaktadır.


["new_mace","new_mace", [("practice_sword",0)], itp_type_one_handed_wpn|itp_melee|itp_primary|itp_secondary, itc_scimitar, 3,weight(1.5)|spd_rtng(103)|weapon_length(90)|swing_damage(16,blunt)|thrust_damage(10,blunt),imodbits_none],

Şimdi nesnenin mesh'ini "practice_sword" 'dan "mace_pear" 'a değiştireceğiz. Bu mesh Native'de kullanılmayan bir mesh, böylece gürzümüze yeni bir görünüm kazandırmış olacağız.


["new_mace","new_mace", [("mace_pear",0)], itp_type_one_handed_wpn|itp_melee|itp_primary|itp_secondary, itc_scimitar, 3,weight(1.5)|spd_rtng(103)|weapon_length(90)|swing_damage(16,blunt)|thrust_damage(10,blunt),imodbits_mace],

Bu örnekte, mesh'i planladığımız gibi değiştirdik ve ayrıca niteleyici parçalarını(modifier bits) imodbits_none 'dan imodbits_mace'e değiştirdik. Bu gürzümüzün dosyanın en başındaki imodbits_mace sabitinde belirtilmiş bütün niteleyicileri(modifiers) kullanamsını sağlar.

Bu nesneyi tamamlamamız için yapacağımız iki değişiklik daha var. Özellikle, nesnemizin savurma zararını(swing damage) arttıracağız ve bir nesne bayrağı(item flag) ekleyeceğiz.

İnceleme:


["new_mace","new_mace", [("mace_pear",0)], itp_type_one_handed_wpn|itp_melee|itp_primary|itp_secondary|itp_unique, itc_scimitar, 3,weight(1.5)|spd_rtng(103)|weapon_length(90)|swing_damage(26,blunt)|thrust_damage(10,blunt),imodbits_mace],


Gördüğünüz gibi, savurma zararını(swing damage) 16'dan 26'ya yükselttik, bu gürzümüzün daha iyi vurmasını sağlayarak savaşta daha teklikeli olmasını sağlayacaktır. Ve daha da önemlisi, Bayraklar(flags) alanına itp_unique bayrağını(flag) ekledik. itp_unique 'e sahip bi nesne savaş sonrasında ganimet olarak   alınamaz.

Son değişikliğimiz için, nesne adını "new_mace" yerine "Geoffrey's_mace" olarak değiiştiriniz. Sonra, module_trooops.py dosyasını açın ve Geoffrey'in envanterindeki(inventory) itm_clubitm_new_mace 'le değiştirin.

İki dosyada da yaptıklarınızı kaydedip build_module.bat 'a tıklayın.

Tebrikler! Yeni bir nesne yaratıp takım/asker envanterine(troop's inventory) eklediniz. Bahsi geçen takım/asker bi kahraman(hero), böylelikle yeni gürz sürekli envanterinde bulunacak ve envanterinde bulunup kullanabildiği en iyi silahı kullanacaktır.

Öte yandan sıradan askerler envanter listelerinden rasgele bir silah seçerler. Bu kadar çok çeşitli silahla karşımıza çıkmalarının sebebi de budur -- böyle olmasaydı hep aynı şekilde olurlardı.

Yeni nesneleri nasıl yaratacağımızı artık biliyoruz, daha çok çeşitli istatistiklere bakarak ne anlama geldiklerini anlayabiliriz.

« Last Edit: May 27, 2006, 03:37:53 PM by JustSetMeFree »
No one wins the fight!

JustSetMeFree

  • Recruit
  • *
    • View Profile
Re: Mod Sistemi Dersleri (Yeni konular eklendi)
« Reply #16 on: May 27, 2006, 03:38:34 PM »
5.4 -- Nesne Özellikleri

Bu bölümde özellikerin açıklayıcı bir listesini ve fonksiyonlarının incelemelerini bulacaksınız. Bazı özellikler farklı nesne tipleri için farklı işlere yaradıkları için listeyi nesne tiplerine göre düzenledik.

Genel

abundance -- Yüzde değer.
Bu özellik nesnenin tüccar envanterlerinde ve savaş sonrası ganimetlerde ne sıklıkta ortaya çıkacağını belirtir. Standartı 100 dür; 100 den büyük yada küçük (0'a kadar) olabilir.

weight -- Kilogram değer.
Nesnenin kilogram cinsinden değerini belirtir.


itp_type_horse (Atlarla ilgili özelliler için)

body_armor
-- değer.

Atın zırhının değerini ve hit-point değerini belirler. Değer ne kadar yüksek olursa zırh ve hit-point de o kadar çok olur..

difficulty -- değer.
Oyuncunun ata binmesi için Riding yeteneğinin ne kadar yüksek olması gerektiğini belirler.

horse_speed -- değer.

Atın savaş haritasındaki hızını belirler. Yüksek değer daha hızlı at demektir.

horse_maneuver -- değer.
Atın savaş haritaındaki  manevra kabiliyetini belirler.

horse_charge -- değer.
Atın piyadelere atıldığında(şarj ettiğinde) ne kadar hasar vereceğini ve şarj ettikten sonra her bir piyade için ne kadar hız kaybedeceğini belirler.Yüksek değer atın daha çok hasar vermesini ve daha çok piyadeyi geçmesini sağlar.

itp_type_one_handed_wpn (tek elle kullanılan silahlar için)

difficulty -- değer.

Silahı kullanmak için gereken minimum STR puanını belirler. Eğer bir asker bu değere eşit yada bu değerden daha yüksek bir STR puanına sahip değilse bu silahı kullanamaz.

spd_rtng
-- Değer.

Silahın atak hızını belirler.Hem savurma(swing) hemde saplama hızını etkiler.

weapon_length -- Santimetre değer.
Silahın santimetre cinsinden uzunluğunu belirler.Silahın mesh boyutu ne olursa olsun oyun içinde ne kadar uzağa yetişeceğini belirler.

swing_damage -- değer, hasar tipi.
Silahın savurarak(swing) atak yaparken vereceği temel hasarı ve hasar tipini belirler.

thrust_damage
-- değer, hasar tipi.

Silahın saplayarak(thrust) atak yaparken vereceği temel hasarı ve hasar tipini belirler.


itp_type_two_handed_wpn (İki elle kullanılan silahlar için)

itp_type_one_handed_wpn la aynı.


itp_type_polearm

itp_type_one_handed_wpn
la aynı.


itp_type_arrows
(Oklar için)

weapon_length -- Santimetre değer.
Okun santimetre cinsinden uzunluğu.

thrust_damage -- değer,hasar tipi.
Okun yayın temel yay hasarına ekleyeceği hasar miktarını ve hasar tipini belirler.

max_ammo -- değer.
Bir istifteki(kesedeki) ok sayısını belirler.


itp_type_bolts (tatar okları için)
itp_type_arrows la aynı.



itp_type_shield (Kalkanlarla ilgili)

hit_points -- değer.

Kalkanın temel darbe puanını(hit point) belirler.

body_armor --  değer.
Kalkana yapılan her vuruşta düşülücek hasar miktarı.

spd_rtng -- Value.
Kalkanın defans durumuna getirilme hızı.

weapon_length -- değer.
Kalkanın kapladığı alan.Yüksek değerler kalkanın, gövdenin daha büyük bir alanını kaplamasını sağlar,böylece vücudun daha büyük bir bölümünü oklardan korunabilir kılar.


itp_type_bow (yaylarla ilgli)

difficulty -- değer.

Bu yayı kullanabilmek için gerekli minumum Power Draw puanı. Eğer bir asker bu değere eşit yada bu değerden daha yüksek bir Power Draw puanına sahip değilse bu silahı kullanamaz.

spd_rtng -- değer.
Yayın doldurma süresi. Yani, askerin oku kılıftan alıp,yerşetirip, germesini ne kadar çabuk yapacağını belirtir.Yüksek değerler daha kısa doldurma zamanı demektir.

shoot_speed -- değer.
Bu yaydan çıkan okun havadaki hızıdırr. Yüksek değerler daha hızlı giden oklar demektir; dikkat edin, bununla birlikte hızlı oklar yakındaki düşmanlara değmeden geçip gidebilir.

thrust_damage -- değer, hasar tipi.

Bu yayla yapılan vuruşların temel hasar miktarı ve hasar tipini belirler.


itp_type_crossbow (tatar yayları için)

difficulty -- değer.[/i]
Tatar yayını kullanmak için gereken minimum STR puanını belirler. Eğer bir asker bu değere eşit yada bu değerden daha yüksek bir STR puanına sahip değilse bu silahı kullanamaz.

spd_rtng -- değer.
Tatar yayının doldurma süresi. Yani, askerin oku kılıftan alıp,yerşetirip, germesini ne kadar çabuk yapacağını belirtir.Yüksek değerler daha kısa doldurma zamanı demektir.

shoot_speed -- değer.
Bu tatar yayından çıkan okun havadaki hızıdırr. Yüksek değerler daha hızlı giden oklar demektir; dikkat edin, bununla birlikte hızlı oklar yakındaki düşmanlara değmeden geçip gidebilir.

thrust_damage -- değer, hasar tipi.[/i]
Bu tatar yayıyla yapılan vuruşların temel hasar miktarı ve hasar tipini belirler.

max_ammo -- değer.
Tatar yayının bir dolduruştan diğerine kadar atabileceği ok sayısı.


itp_type_thrown (Atılabilir silahlar için)

difficulty -- değer.[/i]
Bu tür silahları kullanabilmek için gerekli minumum Power Throw puanı. Eğer bir asker bu değere eşit yada bu değerden daha yüksek bir Power Throw puanına sahip değilse bu silahı kullanamaz.

spd_rtng -- değer.
Bir atıştan sonra diğer parçanın çekilip atışa hazır hale gelme süresi

shoot_speed -- değer.
Bu tür bir silah atıldıktan sonra  havadaki hızıdır.

thrust_damage -- değer, hasar tipi.[/i]
Bu silahla yapılan vuruşların temel hasar miktarı ve hasar tipini belirler.

max_ammo -- değer.
Bu tip silahlar için kılıftaki parça sayısı

weapon_length -- Santimetre değer.
Silahın santimetre cinsinden uzunluğunu belirler


itp_type_goods (erzaklar için)

food_quality
Yiyeceğin parti moraline etkisidir. 50'den yukardaki değerler bu yiyecek tüketildiğinde parti moralini arttırırken 50'den düşük değerl morali düşürür.

max_ammo
Tüketilebilir bölümünün sayısı.


itp_type_head_armor (Kafa zırhları için)

head_armor -- değer.
Zırhın, askerin kafasını koruyacağı hasar miktarı.

body_armor -- değer.
Zırhın, askerin vücudunu koruyacağı hasar miktarı.

leg_armor -- değer.
Zırhın, askerin bacaklarını koruyacağı hasar miktarı.

difficulty -- değer.
bu zırhı giymek için gereken minimun STR puanı.


itp_type_body_armor
(Vücut zırhları için)

itp_type_head_armor 'la aynı.


itp_type_foot_armor (Bacak zırhları için)


itp_type_head_armor 'la aynı.


itp_type_hand_armor (El zırhları için)


itp_type_head_armor 'la aynı.


itp_type_pistol (Tabancalar için)

difficulty -- değer.
Bu tabancayı kullanmak için gereken minimun STR puanı.

spd_rtng -- değer.
Tabancayı doldurma süresi. Yani, bir atıştan sonra tabancayı doldurup tekrar nişan alma süresi.

shoot_speed -- değer.
Ateş edildikten sonra merminin havadaki hızıdır.

thrust_damage -- değer, hasar tipi.[/i]
Bu silahla yapılan vuruşların temel hasar miktarı ve hasar tipini belirler.

max_ammo
Doldurmadan önce kaç el ateş edilebileceğini belirler.

accuracy -- yüzde değer.
Nişan alınan noktaya isabet etme olasılığı. Değer 100 ise atış %100 nişan alınan noktaya gider, daha düşük değerler nişan alınan noktaya isabet ettirme şansını fazlasıyla düşürür.

itp_type_musket (Tüfekler için)

itp_type_pistol
'la aynı.


itp_type_bullets
  (Mermiler için)

itp_type_arrows 'la aynı.
« Last Edit: May 31, 2006, 02:41:14 PM by JustSetMeFree »
No one wins the fight!

Marsec

  • Guest
Bolum 6: Module_Constants, Module_Factions, Module_Strings & Module_Ques
« Reply #17 on: May 30, 2006, 09:47:50 PM »
Dokumantasyonun bu kisminda, modulunuzun genelini en az etkileyecek en kucuk modul dosyalarini inceliyoruz. Fakat bu dosyalar yine de, cok degi$ik $ekillerde kullani$li olabilir. Bu bolum bittiginde her birinin icindeki parametrelerin nasil kullanildigini buyuk oranda kavrami$ olacaksiniz.


6.1 -- Module_Constants

Module_constants.py oldukca yalin bir dosyadir. Icerigi sabitlerden (constant) olu$ur -- dokumantasyonun 3. bolumunu okuduysaniz nasil cali$tiklarini zaten biliyor olmalisiniz. Module_constants icindeki sabitler ba$ka herhangi bi yerde tanimlanmi$ sabitlerle tamamen aynidir, ancak modul sistemi icerisinde birden fazla dosyada kullanilan sabitlerin modul sistemi tarafindan taninabilmesi icin mutlaka module_constants icinde tanimlanmasi gerekir.

Module_constants ayni zamanda bir sabitin degerini istediginiz zaman degi$tirebileceginiz duzenli ve kolay eri$ilebilir bir liste olma ozelligi de ta$ir. Herhangi bir degi$iklik sabitin kullanildigi butun operasyonlari ve tanimlamalari etkileyecegi icin butun dosyalar uzerinde tek tek degi$iklik yapmak zorunda kalmazsiniz.

Ornegin marnid_inn_entry = 2 sabitinin degerini marnid_inn_entry = 4 olacak $ekilde degi$tirirseniz marnid_inn_entry iceren butun i$lemler aninda sabiti 2 degil 4 olarak kullanacak $ekilde degi$ecektir.
« Last Edit: May 31, 2006, 01:05:42 AM by Marsec »

Marsec

  • Guest
6.2 -- Module_Factions
« Reply #18 on: May 30, 2006, 09:48:04 PM »
6.2 -- Module_Factions

module_factions.py, modül sistemi ve Mount & Blade'in yapay zekası tarafından kullanılan bütün fraksiyonları içerir. Küçük bir dosya olmasına rağmen burada değinecegimiz birkaç önemli ayarı idare eder.

Dosya direkt olarak bir Python listesiyle başlar: factions = [. Bir çok modül dosyasında olduğu gibi, ilk birkaç tuple oyun motoruna eklenmiştir ve üzerlerinde degişiklik yapılmaması gerekir.


Bir fraksiyon örneği:

  ("innocents","Innocents", 0, 0.5,[("outlaws",-0.05)]),

Bu; tek büyük düşmanı "outlaws" (haydutlar) fraksiyonu olan "Innocents" (masumlar) fraksiyonunu yöneten kısa, oldukça basit bir tuple. Eger bir fraksiyonun "innocents" ile olan ilişkisi module_constants içinde hiçbir yerde tanımlanmamışsa, otomatikman 0'a eşit olur ve böylece bu iki fraksiyon birbirine tamamen nötr hale gelirler.


Tuple alanlarının dökümü:

1 ) Fraksiyon kimliği (Faction id). Başka dosyalarda fraksiyona referans vermeye yarar.
2 ) Fraksiyon adı (Faction name).
3 ) Fraksiyon bayrakları (Faction flags).
4 ) Fraksiyon tutarlılığı - Fraksiyon içi ilişki (Faction coherence). Bu fraksiyonun farklı üyelerinin birbirleri ile ilişkisini belirler.
5 ) Fraksiyonlar arası ilişkiler (Inter-faction relations). Her ilişki tanımı, aşağıdaki alanları içeren bir tuple'dır.
    5.1 ) Fraksiyon (Faction). İlişkinin geçerli olduğu diğer fraksiyon.
    5.2 ) İlişki (Relation). İki fraksiyon arasındaki ilişkinin durumu. Değeri -1 ve 1 arasında değişir.


Innocents tuple incelemesi:

1 ) Fraksiyon kimliği = "innocents"
2 ) Fraksiyon ismi = "Innocents"
3 ) Fraksiyon bayrakları = 0
4 ) Fraksiyon tutarlılığı = 0.5
5 ) Fraksiyonlar arası ilişkiler:
    5.1 ) Fraksiyon = "outlaws"
    5.2 ) İlişki = 0.05

Bu fraksiyon herhangi bir bayrak sahibi değil, nötr bir fraksiyon tutarlılığı var ve tuple'ında tanımlanmış olan "outlaws" haricinde bir düşmanı yok. Ancak, eğer başka yerleri de incelerseniz, örneğin "dark_knights"ın "innocents" ile ilişkisinin -0.9 olduğunu görebilirsiniz. Bunun nedeni bir ilişki tanımının çift taraflı çalışmasıdır -- yalnızca bir kez tanımlanması gerekir ve bu andan itibaren tanımlanan değer her iki fraksiyon için de geçerlidir.

Şimdi, "innocents" tuple'ını listenin en altına kopyalararak yeni bir fraksiyon tuple'ı oluşturun. Fraksiyon kimliğini ve ismini "geoffrey" yapın ve ilişki bölümündeki "outlaws"u "player_faction" olarak değiştirin.

Değişiklikleri kaydettikten sonra, module_party_templates.py ve module_troops.py dosyalarını açıp "new_template" şablonunun ve "Geoffrey" biriminin fraksiyonlarını "fac_geoffrey" olarak değiştirin. Değişiklikleri kaydedip çıktıktan sonra build_module.bat'a tıklayın. Eğer her şey yolunda gittiyse, "new_template" şablonlu partiler görünür olarak "Geoffrey" fraksiyonundan ve oyuncu karaktere düşman olacaklar.
« Last Edit: June 18, 2006, 02:43:43 AM by Marsec »

Diabelica

  • Knight
  • *
    • View Profile
  • Faction: Vaegir
Re: Mod Sistemi Dersleri (Yeni konular eklendi)
« Reply #19 on: June 08, 2006, 06:03:51 AM »
Bu kısımda modül sistemindeki en büyük ve en önemli dosyalardan ; Mount & Blade oyunundaki tüm diyalogları içeren module_dialogs.py dosyasını inceleyeceğiz.Herhangi bir yaratmak istediğiniz yeni diyalog bu doyanın içine gidecek.Bu dosya ayrıca en alt kısmında daha kendi diyalogları olmayan birlikler için ataç diyaloglar içerir.

7.1 -- Module_Dialogs kırılmaları.

Dosya hemen bir python listesi ile başlar ve bu listeyi oyundaki ilk dialoglardan biri ile Constable Harek in River Pirate lar ile ilgili açıklaması ile takip eder.Hatırlanması gereken önemli ir gerçek oyun module diyaloglarını yukarıdan aşağıya ; durumun kriterlerine uyan ilk satırı kullanarak tarar.Başka başka durumlarda (bu haritadaki bir karşılaşmadan bir NPC ile bir sahnede konuşmaya kadar) kullanılan satırları ayırt eder.

Her diyalog satırının bir tupple olduğunu fark edeceksiniz.Satırları birleştiren birazdan inceleyeceğimiz diyalog-ifadeleri (dialog-states)dir.

Bir dialog tupplenın örneği

  [trp_constable_hareck,"start", [], "What do you want?", "constable_hareck_talk",[]],

Bu iyi bir örnek olarak kullanılabilecek basit harika bir tupple.Bir satır diyalogunun yapması gereken her şeyi yapıyor.Bir sahnede Constable Hareck’ e yaklaşıldığında “Constable Hareck _Talk” dialog-ifadesini verip mouse ile tıklanıldığında “What do you want” tekstini gösteriyor.

Tupple alan kırılmaları.

1)Diaylog yapılan kişi.Bu oyuncunun kimle konuşuyorsa onunla eşleşmeli
2)Başlangıç dialog-ifadesi. Bu satırın nasıl açılacağını ifade eder.


DEVAM EDECEK İŞ ZAMANI
« Last Edit: June 08, 2006, 06:28:56 AM by Diabelica »
One look in her lusting eyes
Savage fear in you will rise
Teeth of terror sinking in
The bite of the she-wolf

Marsec

  • Guest
Re: Mod Sistemi Dersleri (Yeni konular eklendi)
« Reply #20 on: June 18, 2006, 03:03:59 AM »
7.4

Deahran

  • Grandmaster Knight
  • *
    • View Profile
  • Faction: Neutral
Re: Mod Sistemi Dersleri (Yeni konular eklendi)
« Reply #21 on: July 16, 2007, 12:53:23 PM »
Bu kısımda modül sistemindeki en büyük ve en önemli dosyalardan ; Mount & Blade oyunundaki tüm diyalogları içeren module_dialogs.py dosyasını inceleyeceğiz.Herhangi bir yaratmak istediğiniz yeni diyalog bu doyanın içine gidecek.Bu dosya ayrıca en alt kısmında daha kendi diyalogları olmayan birlikler için ataç diyaloglar içerir.

7.1 -- Module_Dialogs kırılmaları.

Dosya hemen bir python listesi ile başlar ve bu listeyi oyundaki ilk dialoglardan biri ile Constable Harek in River Pirate lar ile ilgili açıklaması ile takip eder.Hatırlanması gereken önemli ir gerçek oyun module diyaloglarını yukarıdan aşağıya ; durumun kriterlerine uyan ilk satırı kullanarak tarar.Başka başka durumlarda (bu haritadaki bir karşılaşmadan bir NPC ile bir sahnede konuşmaya kadar) kullanılan satırları ayırt eder.

Her diyalog satırının bir tupple olduğunu fark edeceksiniz.Satırları birleştiren birazdan inceleyeceğimiz diyalog-ifadeleri (dialog-states)dir.

Bir dialog tupplenın örneği

  [trp_constable_hareck,"start", [], "What do you want?", "constable_hareck_talk",[]],

Bu iyi bir örnek olarak kullanılabilecek basit harika bir tupple.Bir satır diyalogunun yapması gereken her şeyi yapıyor.Bir sahnede Constable Hareck’ e yaklaşıldığında “Constable Hareck _Talk” dialog-ifadesini verip mouse ile tıklanıldığında “What do you want” tekstini gösteriyor.

Tupple alan kırılmaları.

1)Diaylog yapılan kişi.Bu oyuncunun kimle konuşuyorsa onunla eşleşmeli
2)Başlangıç dialog-ifadesi. Bu satırın nasıl açılacağını ifade eder.


DEVAM EDECEK İŞ ZAMANI
Diabelica ben devam etmek istiyorum. Umarım kızmazın.

1)Diyalog yapılan kişi.Bu oyuncunun kimle konuşuyorsa onunla eşleşmeli
2)Başlangıç dialog-ifadesi. Bu satırın nasıl açılacağını ifade eder.
3)Kondisyon bloğu.
4)Diyalog yazısı. Buraya yazdığınız yazılar oyunda görünür.
5)Diyalog Bölümünün bitişi. Bu dizinden sonra ne yapılacağı karar verilir.
6)Sonuç Bölümü.

Constable Hareck Konuşmasından örnek:
1 ) Konuşulan karakter = trp_constable_hareck
2 ) Diyaloğun başlayış durum = "start"
3 ) Kondüsyon aralığı = []
4 ) Diyalog yazısı = "What do you want?"
5 ) Diyalog durumunun bitişi = "constable_hareck_talk"
6 ) Sonuç Bölümü = []

Diyalog durumunun bitişi çok önemlidir. Bu block sayesinde diyalog düzgünce kurulabilir.

Diyalog bitiş durumu ("constable_hareck_talk") diyaloğu yönetir ve sonraki diyalog yazısına geçmenizi sağlar. Bu block, istediğiniz şekilde olabilir(türkçe karakterler hariç).

Eğer bir diyalog "start_npc_talk" ile bitiyorsa, sonra ki diyalog başlayış durumuda "start_npc_talk" olmalıdır. Eğer böyle olmazsa, diyalog ekranı o bölümde kitlenir ve öyle kalır. Bunun için diyalog bitişini ve başlayışını kontrol etmeniz gerekir.

UYARI: Modül sisteminde diyalog bitiş/başlayış durumunun tutmaması durumunda build_module.bat size uyarı vermeyecektir. Tekrar tekrar kontrol edin.

Eğer diyaloğun bitip pencerenin kapanmasını istiyorsanız, diyaloğun bitiş durumuna "close_window" dizinini eklemelisiniz.("" de dahil)

Yeni bir diyalog yaratılırken, seçtiğiniz diyalog durumuna göre özellikler kazandırırsınız(ilk diyalog durumu). İlk diyalog durumları:

"start" -- Diyaloğun başlatılması için kullanılır.
"party_encounter" -- Başka bir partiyle karşılaşıldığında kullanılır.
"party_relieved" -- Eğer dost bir partiye yardıma gittiyseniz bu diyalog açılır. Önce savaşı kazanmanız gerekir.
"prisoner_liberated" -- Bir düşman partiyi yendiğinizde ve NPC'ler(hero) esir kaldığında kullanılır.
"enemy_defeated" -- Eğer siz düşman tarafından yenildiyseniz ve düşman partide bir HERO varsa, o zaman bu diyalog açılır.
"event_triggered" -- Ne zaman bir diyalog triggerlandığında açılır.
"member_chat" -- Parti üyesi ile diyalog kurulması için kullanılır.
"prisoner_chat" -- Esir ile diyalog kurulması için kullanılır.

Eğer dikkat ederseniz, constable hareck'in diyaloğunda sadece "start" var. Normal şehir için konuşmalar için bunu kullanabilirsiniz.
« Last Edit: July 16, 2007, 03:14:47 PM by Caravan »