Author Topic: Skilleri Etkileyen Objeler [DERS]  (Read 1722 times)

0 Members and 1 Guest are viewing this topic.

Kerosima

  • Knight
  • *
  • Klavyeci deyince A4 Tech'in patronu sanarsın...
    • View Profile
    • Public Void-Etkin Düşüncenin Tartışma Platformu(Felsefe-Siyaset-Tarih)
  • Faction: Bandit
  • MP nick: CellatKiller
Skilleri Etkileyen Objeler [DERS]
« on: November 22, 2007, 05:03:49 PM »
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...
Code: [Select]
["bookpathfinding","The Trackers Handbook", [("book1",0)], itp_merchandise|itp_type_goods, 0, 53,weight(7)|abundance(70),imodbits_none],
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(8) 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...

Code: [Select]
(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: [Select]
(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: [Select]
["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.Ş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.
Code: [Select]
(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.
],
  ),
« Last Edit: November 23, 2007, 09:24:41 PM by Kerosima »
İmza:
İmzanız, gönderdiğiniz her iletinin altında gösterilir. BBC etiketleri ve gülücük kullanabilirsiniz.
İzin verilen 500 karakter. Kalan: 393
İmzanızdaki resimler 600x200 pikselden büyük olamaz

Tatari_okan

  • Moderator
  • *
    • View Profile
  • Faction: Neutral
  • MP nick: Tatari
Re: Skilleri Etkileyen Objeler [DERS]
« Reply #1 on: November 22, 2007, 05:18:44 PM »
Güzel bir ders olmuş, şimdilik 894'Ün modülüne bakmadığım için inceleme fırsatım olmadı. Bir iki örnek daha yapsan daha anlaşılır olur kanaatindeyim. :roll:

Kerosima

  • Knight
  • *
  • Klavyeci deyince A4 Tech'in patronu sanarsın...
    • View Profile
    • Public Void-Etkin Düşüncenin Tartışma Platformu(Felsefe-Siyaset-Tarih)
  • Faction: Bandit
  • MP nick: CellatKiller
Re: Skilleri Etkileyen Objeler [DERS]
« Reply #2 on: November 22, 2007, 05:24:05 PM »
Onun kodlarında sorun var, ing. foruma yazdım, çözülünce buraya koyacağım.
İmza:
İmzanız, gönderdiğiniz her iletinin altında gösterilir. BBC etiketleri ve gülücük kullanabilirsiniz.
İzin verilen 500 karakter. Kalan: 393
İmzanızdaki resimler 600x200 pikselden büyük olamaz

Noventa

  • Master Knight
  • *
  • Üşeniyorum, öyleyse yarın
    • View Profile
  • Faction: Neutral
  • MP nick: DP_Noventa
  • WB
Re: Skilleri Etkileyen Objeler [DERS]
« Reply #3 on: November 22, 2007, 08:39:31 PM »
ben bunu tabancalara uygulamayı düşünüyorum
A Zerg, A Shotgun And You

<knight>

  • Grandmaster Knight
  • *
    • View Profile
  • Faction: Bandit
  • MP nick: WTF_knight
  • WB
Re: Skilleri Etkileyen Objeler [DERS]
« Reply #4 on: November 22, 2007, 08:45:49 PM »
Aslında bu tür kodlar,genelde büyü modları ile uğraşan kişilere yarıyor...Bir sağlık iksiri satın alınca,ironflesh'in artması gibi...(aklıma birşey geldi,iyi bir boot satın alınca,athletics artması)
Kodlar için sağol,foruma yararlı olacağından eminim,bu ders evdeki bilgisayarımda hazırdı,koymaya üşendim bir ara,ama benden daha güzel hazırlamışsın... :D İyiki yayınlamamışım... :wink:
"When i get sad i stop being sad and be awesome instead" - Barney stinson

Kerosima

  • Knight
  • *
  • Klavyeci deyince A4 Tech'in patronu sanarsın...
    • View Profile
    • Public Void-Etkin Düşüncenin Tartışma Platformu(Felsefe-Siyaset-Tarih)
  • Faction: Bandit
  • MP nick: CellatKiller
Re: Skilleri Etkileyen Objeler [DERS]
« Reply #5 on: November 22, 2007, 08:47:30 PM »
Yorumun için sağol, senin emeğine de yazık etmişim ya neyse...
Ben pusula için yaptım, haritanın altındaki pusulayı obje olarak ekledim oyuna...
Sırf kendimi geliştirmek için.
İmza:
İmzanız, gönderdiğiniz her iletinin altında gösterilir. BBC etiketleri ve gülücük kullanabilirsiniz.
İzin verilen 500 karakter. Kalan: 393
İmzanızdaki resimler 600x200 pikselden büyük olamaz

Tatari_okan

  • Moderator
  • *
    • View Profile
  • Faction: Neutral
  • MP nick: Tatari
Re: Skilleri Etkileyen Objeler [DERS]
« Reply #6 on: November 22, 2007, 08:51:36 PM »
Bir gün tekrar mod yaparsam, bu ders kesinlikle işime yarayacaktır. Bir şey sorabilir miyim; yeni modulesystemle yeni özellikler oyuna eklenebiliyor mu?(powerdraw, ironflesh... gibi)

<knight>

  • Grandmaster Knight
  • *
    • View Profile
  • Faction: Bandit
  • MP nick: WTF_knight
  • WB
Re: Skilleri Etkileyen Objeler [DERS]
« Reply #7 on: November 22, 2007, 09:00:26 PM »
Bildiğim kadarı ile hayır...
"When i get sad i stop being sad and be awesome instead" - Barney stinson

Kerosima

  • Knight
  • *
  • Klavyeci deyince A4 Tech'in patronu sanarsın...
    • View Profile
    • Public Void-Etkin Düşüncenin Tartışma Platformu(Felsefe-Siyaset-Tarih)
  • Faction: Bandit
  • MP nick: CellatKiller
Re: Skilleri Etkileyen Objeler [DERS]
« Reply #8 on: November 22, 2007, 09:04:17 PM »
Evet eklenebiliyor.
Ben şimdi Obliviondaki persuade gibi bir şey yapacağım...
Yani "İkna yeteneği"
ya da "etkili konuşma"...
İmza:
İmzanız, gönderdiğiniz her iletinin altında gösterilir. BBC etiketleri ve gülücük kullanabilirsiniz.
İzin verilen 500 karakter. Kalan: 393
İmzanızdaki resimler 600x200 pikselden büyük olamaz

<knight>

  • Grandmaster Knight
  • *
    • View Profile
  • Faction: Bandit
  • MP nick: WTF_knight
  • WB
Re: Skilleri Etkileyen Objeler [DERS]
« Reply #9 on: November 22, 2007, 09:05:54 PM »
ne,nasıl,kim,neden,nerde,ne zaman?
Ders istiyoruz!!!  :twisted:
"When i get sad i stop being sad and be awesome instead" - Barney stinson

Noventa

  • Master Knight
  • *
  • Üşeniyorum, öyleyse yarın
    • View Profile
  • Faction: Neutral
  • MP nick: DP_Noventa
  • WB
Re: Skilleri Etkileyen Objeler [DERS]
« Reply #10 on: November 22, 2007, 09:06:59 PM »
Evet eklenebiliyor.
Ben şimdi Obliviondaki persuade gibi bir şey yapacağım...
Yani "İkna yeteneği"
ya da "etkili konuşma"...

Bu yetenekle kendimize companion ve asker alabilelim
A Zerg, A Shotgun And You

Kerosima

  • Knight
  • *
  • Klavyeci deyince A4 Tech'in patronu sanarsın...
    • View Profile
    • Public Void-Etkin Düşüncenin Tartışma Platformu(Felsefe-Siyaset-Tarih)
  • Faction: Bandit
  • MP nick: CellatKiller
Re: Skilleri Etkileyen Objeler [DERS]
« Reply #11 on: November 22, 2007, 09:07:48 PM »
Şimdi deniyorum, bakalım olursa dersini koyarım...
Çok kötü bir denemem oldu; saece aklımdaki çalışma mantığını gösterebilmek için...
Artık devamını getirebilirsiniz...
module_skills'e sadece persuade diye bir skill ekleyin, sonra ya benim gibi bir test troopu oluşturun veya kendi bildiğiniz gibi yapın..
Diyaloglarda ise sadece şunu yaptım; fakat dediğim gibi bu sadece başlangıç...
Code: [Select]
[trp_persuade_tester, "start", [] , "Hi there, persuade me if you can! Hehehe!", "persuade_him",[]],
  [trp_persuade_tester|plyr, "persuade_him", [] , "I like you too much...", "persuade_result",
  [
          (store_skill_level, reg(1), "skl_persuade", "trp_player"),
  (val_add, reg(1), 10),
  (call_script, "script_change_player_relation_with_troop", "trp_persuade_tester", reg(1))
 
  ]],
  [trp_persuade_tester|plyr, "persuade_him", [] , "I think you are good but... YOu aren't perfect...", "persuade_result",
  [
          (store_skill_level, reg(1), "skl_persuade", "trp_player"),
  (val_add, reg(1), 1),
  (call_script, "script_change_player_relation_with_troop", "trp_persuade_tester", reg(1))
 
  ]],
  [trp_persuade_tester|plyr, "persuade_him", [] , "I hate you! You bastard!", "persuade_result",
  [
          (store_skill_level, reg(1), "skl_persuade", "trp_player"),
  (val_mul, reg(1), 10),
  (call_script, "script_change_player_relation_with_troop", "trp_persuade_tester", reg(1))
 
  ]],
  [trp_persuade_tester, "persuade_result", [(lt, "$g_talk_troop_relation", 0)], "I will KILL YOU!Little Bastard!!","close_window",[]],
  [trp_persuade_tester, "persuade_result", [(eq, "$g_talk_troop_relation", 0)], "I'm neutral with you, I don't know you, you can go now...","close_window",[]],
  [trp_persuade_tester, "persuade_result", [(ge, "$g_talk_troop_relation", 0)], "I.. I.. I will give you all of my money, you are a hero!","close_window",[]],
« Last Edit: November 22, 2007, 09:30:56 PM by Kerosima »
İmza:
İmzanız, gönderdiğiniz her iletinin altında gösterilir. BBC etiketleri ve gülücük kullanabilirsiniz.
İzin verilen 500 karakter. Kalan: 393
İmzanızdaki resimler 600x200 pikselden büyük olamaz

Tatari_okan

  • Moderator
  • *
    • View Profile
  • Faction: Neutral
  • MP nick: Tatari
Re: Skilleri Etkileyen Objeler [DERS]
« Reply #12 on: November 22, 2007, 09:11:42 PM »
Şimdi deniyorum, bakalım olursa dersini koyarım...
Yüreğimiz seninle birlikte atıyor Kerem. :D

Kerosima

  • Knight
  • *
  • Klavyeci deyince A4 Tech'in patronu sanarsın...
    • View Profile
    • Public Void-Etkin Düşüncenin Tartışma Platformu(Felsefe-Siyaset-Tarih)
  • Faction: Bandit
  • MP nick: CellatKiller
Re: Skilleri Etkileyen Objeler [DERS]
« Reply #13 on: November 22, 2007, 09:48:27 PM »
Sağolokan; fakat daha önce hata olmayan kodlarda saçma hatalar çıktı, her şey karıştı, bugünlük bu kadar, bir daha açtığımda bakarım, hem İng. forumda yapamadığım şeylerin cevapları da gelmiş olur...
İmza:
İmzanız, gönderdiğiniz her iletinin altında gösterilir. BBC etiketleri ve gülücük kullanabilirsiniz.
İzin verilen 500 karakter. Kalan: 393
İmzanızdaki resimler 600x200 pikselden büyük olamaz

Tatari_okan

  • Moderator
  • *
    • View Profile
  • Faction: Neutral
  • MP nick: Tatari
Re: Skilleri Etkileyen Objeler [DERS]
« Reply #14 on: November 23, 2007, 07:36:23 PM »
Bu arada aklıma bir soru geldi. Heybemize(Inventory'mize) aldığımızda a özelliğimizi artıran ve de görev için lazım olduğundan satamayacağımız eşya nasıl yapılır? Yani herhangi bir eşyanın satılmasını engellemek için ne kodu gerekir?