kerosima
Knight
Evet, burada skilleri veya attributeleri etkileyen, yani bonusu olan objeleri nasıl yapacağımızı yazacağım...
Değiştireceğimiz dosyalar module_items ve module_triggers...
Yazacağım örnek, bir kitap."Nasıl Yön Bulunur?" diye, dolayısıyla bir kere aldığımızda, pathfinding skilli 1 artıtracak, sonra satsak da farketmeyecek.
İşte açıklamalı tutorial:
Module_items'i açıyoruz, uygun bir yere etkileyecek obje olan kitabı giriyoruz...
Açıklama: "bookpathfinding" isim, bir önemi yok... Tırnak içindeki "Yön Bulma" ise asıl oyunda göreceğimiz isimi...[()] içerisindeki kelime model bilgisi, buraya kitabınızın modelini, brfye nasıl kaydettiyseniz onu yazacaksınız.itp_ ile başlayanlar "bayrak"lar, yani objenin ne olduğunu oyuna anlatan kelimecikler, weight( ağırlığı, bir kitap için 5-10 arası bir değer iyi olabilir.abundance ise, bulunurluk, yüksek bir değer verirseniz, satıcılarda daha kolay bulunur...imodbits_none ise, bu kitabın bir sıfatı(Sakat,Çentilmiş,Paslı,Çatlak) olmadığını anlatıyor...
Bunu kaydedip kapattıktan sonra, module_triggers'i açıyoruz,
En altta şu kodu buluyoruz ve orada gösterilen yere az sonra söyleyeceğim kodu giriyoruz...
Gireceğimiz kodlar şunlar, açıklaması ile birlikte geliyor:
Hepinize iyi şanslar, bundan sonraki tutorial bir pusula olacak, onun farkı ise sattığımızda bonusun geri düşecek olması...
PUSULA: şimdi de geri sattığımızda bonusu giden obje tutoriali yazıyorum.
Açıklamalı:
Önce item ekleriz:
Şimdi triggersi açın, ilk dersten tek farkı başka bir tetikleyici(trigger) ile bonusu silmemiz.İlk dersi okursanız daha rahat anlarsınız; çünkü burada açıklama yazmadım.
Değiştireceğimiz dosyalar module_items ve module_triggers...
Yazacağım örnek, bir kitap."Nasıl Yön Bulunur?" diye, dolayısıyla bir kere aldığımızda, pathfinding skilli 1 artıtracak, sonra satsak da farketmeyecek.
İşte açıklamalı tutorial:
Module_items'i açıyoruz, uygun bir yere etkileyecek obje olan kitabı giriyoruz...
Code:
["bookpathfinding","The Trackers Handbook", [("book1",0)], itp_merchandise|itp_type_goods, 0, 53,weight(7)|abundance(70),imodbits_none],
Bunu kaydedip kapattıktan sonra, module_triggers'i açıyoruz,
En altta şu kodu buluyoruz ve orada gösterilen yere az sonra söyleyeceğim kodu giriyoruz...
Code:
(2.0, 0, 0,
[
(check_quest_active,"qst_kidnapped_girl"),
(main_party_has_troop,"trp_kidnapped_girl"),
(eq,"$kidnapped_girl_bandits_attacked",1),
(eq,"$kidnapped_girl_joined",0),
],
[
(assign,"$kidnapped_girl_joined",1),
]
),
---KODU BURAYA GİRİN---
Gireceğimiz kodlar şunlar, açıklaması ile birlikte geliyor:
Code:
(0.1, 5, 1, #Bu satırdaki rakamların anlamları: 1.rakam, alttaki koşulları hangi aralarla test edeciğimizi belirler(saniye olarak), ikinci rakam uygulama süresi, koşullar doğruldandıktan ne kadar sonra uygulamanın gerçekleşeceğidir, son rakamı boşverin...
[
(player_has_item, "itm_bookpathfinding"), #Burası koşul kısmı, yani alt kısmın gerçekleşmesi için, buradaki koşullar doğrulanmalı.Burası oyuncunun kitaba sahip olup olmadığına baktığımız kısım...
(eq, "$bonus_given", 0),#burada daha önce bonusu almadığından emin oluyoruz...
(store_skill_level, reg(1), "skl_pathfinding", "trp_player"), #Burada oyuncumuzun pathfinding skillini kaydediyoruz(eski halini)
(lt, reg(1),10), #Burada pathfindingimizin 9dan düşük olduğundan emin oluyoruz.Bunun sebebi, pathfinding 10 olup da 1 eklemeye çalışırsak, hata verecek olmasıdır.
],
[
(troop_raise_skill, "trp_player", "skl_pathfinding", 1), #Burada artık, koşullar doğrulanırsa olacak şeylerin bulunduğu kısma geçip, bonusu veriyoruz
(assign, "$bonus_given", 1), #Tekrar bonus almaması için bonus_giveni 1 yapıyoruz...
]
),
Hepinize iyi şanslar, bundan sonraki tutorial bir pusula olacak, onun farkı ise sattığımızda bonusun geri düşecek olması...
PUSULA: şimdi de geri sattığımızda bonusu giden obje tutoriali yazıyorum.
Açıklamalı:
Önce item ekleriz:
Code:
["compass","Compass", [("compass",0)], itp_merchandise|itp_type_goods, 0, 53,weight(7)|abundance(70),imodbits_none], #bunu module_items'te istediğiniz yere ekleyin.Buradaki obje pusula, 70 abundance ile her yerde bulunabilir.
Code:
(0.1, 0, 1,
[
(player_has_item, "itm_compass"),
(eq, "$bonus_given", 0),
],
[
(troop_raise_skill, "trp_player", "skl_pathfinding", 1),
(assign, "$bonus_given", 1),
]
),
(0.1, 0, 1,
[
(eq, "bonus_given", 1), #Bonusu almadıysak silmemesi için koşulların arasında bonusun verilmiş olup olmadığını sorguluyoruz.
(neq|player_has_item, "itm_compas"), #Oyuncumuzda artık pusula yoksa bonusu sileceğiz, anahtar kısım burası.
],
[
(troop_raise_skill, "trp_player", "skl_pathfinding", -1),#Olay kısmında bu satırda azıcık hile yapıyoruz.Skill'i -1 oranında artırıyoruz, dolayısıyla bonus düşüyor.
(assign, "$bonus_given", 0), #Artık oyuncumuzun bir bonusu yok, bunu yazmazsak bir daha pusula alınca skill artmayacaktır.
],
),