[DERS] - Oyuna quest eklemek [WB]

Users who are viewing this thread

Yellow Flash

DERS = Kolba, Çeviri = Yellow Flash, Orijinal konu = http://forums.taleworlds.com/index.php/topic,53259.0.html
Anlamadığım yerlerde yardım ederseniz sevinirim.

Relic adlı basit bir görevden başlayacağız.Hadi başlayalım!

1. İlk olarak module_troops.py'yi açın ve herhangi bir yere bunu ekleyin:


Code:
["antler","Antler","Antler",tf_hero, scn_town_4_tavern|entry(3),reserved, fac_commoners,[itm_nomad_armor,itm_nomad_boots],def_attrib|level(2),wp(20),knows_common,0x00000000000430c701ea98836781647f],


Hadi inceleyelim:

"antler" - Bu askerin ID'sidir. oyunda gözükmez, sadece diğer dosyalara referans olarak kullanılır

Antler - Askerin ismidir, oyunda gözükür.

Antler - Askerin çoğul ismidir. Kahramanlar(npc, lord, kral vb) için kullanılmaz, askerler için kullanılır.

tf_hero - Bu kod olmadan askeriniz kahraman olamaz.Yani sadece kahramanlar için.

scn_town_4_tavern - Kahramanımızın nerede gözükeceği koddur.Eğer değiştirmek istiyorsanız, şehirler için module_parties.py, mekanlar(veya scenes diyelim) için module_scenes.py'yi açın.

entry(3) - Askerin sahnedeki giriş kodudur. Düzenleme(edit) modunda elle eklemeniz gerekmektedir.

reserved - İlginç bir şey.

fac_commoners - Askerin tarafı. Eğer değiştirmek istiyorsanız module_factions.py'ye bakın.

[itm_nomad_armor,itm_nomad_boots] - Askerin envanteri. İstediğinizi ekleyebilirsiniz, fakat module_items.py'ye bakmayı ve itemden önce itm_ yazmayı unutmayın.

def_attrib - Askerin öznitelikleri.

level(2) - Askerin leveli.

wp(20) - Silah ustalığı(tek elli kılıç, çift elli kılıç, gönderli silahlar vb).

knows_common - Askerin becerileri. Örnek olarak şunları ekleyebilirsiniz "knows_riding_2|knows_power_strike_4" vb.

0x00000000000430c701ea98836781647f - Askerin yüz kodu.İn - game edit modunda yaratabilirsiniz.


2. Hadi diğer askeri ekleyelim:

Code:
  ["thyr","Thyr","Thyr",tf_hero,|tf_unkillable, no_scene,0, fac_order_of_night,[itm_great_axe,itm_black_armor,itm_winged_great_helmet,itm_nomad_boots,itm_charger],knight_attrib_1|level(30),wp(140),knows_common|knows_riding_6|knows_athletics_3|knows_ironflesh_2|knows_shield_2,man_face_younger_1, man_face_older_2],

Not:Bu kahramanın yeni bir tarafı var "order_of_night". Ve bu askeri ekleyin:

Code:
  ["guardian","Guardian","Guardian",tf_guarantee_armor|tf_guarantee_boots|tf_guarantee_horse|tf_guarantee_helmet,0,0,fac_order_of_night,
   [itm_great_axe,itm_black_armor,itm_mail_coif,itm_nomad_boots,itm_charger],
   knight_attrib_1|level(30),wp(140),knows_common|knows_riding_6|knows_athletics_3|knows_ironflesh_2|knows_shield_2,man_face_younger_1, man_face_older_2],

Burada bir şeyleri açıklayayım. Örneğin "tf_guarantee_armor" - bu kodla asker her zaman zırh giyer, "tf_guarantee_horse" - asker her zaman ata biner, vb.

3. Şimdi module_factions.py'ye gidelim ve şu kodu yapıştıralım:

Code:
("order_of_night","Order of Night", 0, 0.5,[("player_faction",-1.0)], []),

Ve her zaman olduğu gibi analiz edelim!

order_of_night - Tarafın ID'si.

Order of Night - Tarafın oyunda görünen ismi.

0.5 - Tarafın üyeleri arasındaki ilişkileri.

"player_faction",-1.0 - Diğer ülkelerle ilişkisi.Örnek olarak, Order of Night oyuncudan nefret edecek.


4. Dersin en zor kısmına geldik.Module_dialogs.py'yi açın. ramun_the_slave_trader'ın altına bu dialogları yapıştırın:

 
Code:
[trp_antler, "start", [[eq,"$holy_relic",2]], "Greetings {playername}.","bye2",[]],
  [trp_antler|plyr, "bye2", [], "Greetings to you too, Antler.","close_window",[]],
  [trp_antler, "start", [[eq,"$holy_relic",1]], "Did you find the relic?","relic_find_question",[]],
  [trp_antler|plyr, "relic_find_question", [(player_has_item,"itm_relic")], "Yes! It was quite difficult.", "relic_znaleziona",[(call_script,"script_end_quest","qst_relic")]],
  [trp_antler|plyr, "relic_find_question", [], "No, not yet.", "close_window",[]],
  [trp_antler, "relic_znaleziona", [], "Really? Well, congratulations {young man/lassie}! I decided to don't give you reward. This book is a reward. You can sell it in shops.","close_window",[[assign,"$holy_relic",2]]],
  [trp_antler, "start", [[eq,"$holy_relic",0]], "Hello, {young man/lassie}! Are you looking for a job or something?", "god1",[]],
  [trp_antler|plyr, "god1", [], "Yes!", "god2",[]],
  [trp_antler, "god2", [], "Good. Do you heard anything about Order of Night? They're band of wandering bastards or fallen knights, led by Thyr. They recently raided Veluca monastery and stolen holy relic. Now, they should be resting near village of Veidar. Find them, kill everyone except Thyr. Then, persuade him to give you information about location of relic. I hope it's quite clearly. I'll pay you 2000 denars.", "god3",[]],
  [trp_antler|plyr, "god3", [], "Allright, that's nice offer. I'll regain relic!", "godyes",[
      (setup_quest_text, "qst_relic"),
      (str_store_string, s2, "@A guy called Antler told me interesting story. Fallen Knights called Order of Night, recently raided Veluca monastery and stolen holy relic. I must find them and after battle, persuade their leader Thyr to give me holy relic. Those bastards, now should be near Veidar!"),
      (call_script,"script_start_quest","qst_relic","trp_antler"), (set_spawn_radius,1),(spawn_around_party,"p_village_48","pt_order_of_night")]],
  [trp_antler|plyr, "god3", [], "No, I don't have time for that!", "close_window",[]],
  [trp_antler, "godyes", [], "Excellent!", "close_window",[[assign,"$holy_relic",1]]],

  [party_tpl|pt_order_of_night,"start", [(eq,"$talk_context",tc_party_encounter)], "Hey, you there! What are you looking for?", "order2",[]],
  [party_tpl|pt_order_of_night|plyr,"order2", [], "For a holy relic! Give me it, or I'll cut your throats!", "order3",[]],
  [party_tpl|pt_order_of_night,"order3", [], "Hahaha! First give me four billion denars!", "order4",[]],
  [party_tpl|pt_order_of_night|plyr,"order4", [], "Nice joke. Prepare to fight, cowards!", "close_window",[[encounter_attack]]],
  [party_tpl|pt_order_of_night,"order2", [], "Nevermind...", "close_window",[(assign, "$g_leave_encounter",1)]],

  [party_tpl|pt_order_of_night,"start", [(eq,"$talk_context",tc_hero_defeated)], "I yield! Please, don't kill me! I'll give you relic!","relikwia",[]],
  [party_tpl|pt_order_of_night|plyr,"relikwia", [], "So, be it. Give me relic and I'll let you go.", "relikwia2",[]],
  [party_tpl|pt_order_of_night,"relikwia2", [], "Here you are. But, please! Don't kill me!", "relikwia3",[(troop_add_item, "trp_player","itm_relic",)]],
  [party_tpl|pt_order_of_night|plyr,"relikwia3", [], "That's not my bussines! Go on, you see the hills, over there? Run, run, or I'll change my mind!", "close_window",[(assign, "$g_leave_encounter",1)]],

Üzgünüm ama burada ki hiçbir yeri açıklayamayacağım, fakat öğlen (şuan çok meşgulüm) Açıklamaları ekleyeceğim. Ve kusura bakmayın, 13 yaşından beri dilim iyi değil.(Adam demiş :grin:)

5. Şimdi yeni itemimizi ekleyelim adı "relic". module_items.py'yi açın ve aşağıdaki satırı ekleyin:

Code:
["relic","St. Grunwalder", [("book_e",0)], itp_type_book, 0, 10000,weight(2)|abundance(100),imodbits_none],

relic yerine herhangi bir item ekleyebilirsiniz, ama en iyisi bir kitap:

relic - Itemin ID'si. Diğer .py dosyalarında referans olarak kullanılır.

St. Grunwalder - Oyunda gözüken ismi.

book_e - İtemin meshi. Oyunun resources'ine göz atın..

itp_type_book - Itemin tipi, örnek olarak bizimki bir kitap.

10000 - Itemin oyundaki fiyatı (dinar olarak).

weight(2) - İtemin ağırlığı.

abundance(100) - Itemin satıcılarda ve yağmalarda ne sıklıkla görüneceğidir. 100 standart; daha fazla veya az yapabilirsiniz.

imodbits_none - Itemin nasıl olacağıdır(örneğin kırık, paslı), kitaplar için kullanılmaz.





6. Ve dersimizin son kısmı. module_quests.py'yi açın ve en alta şunları yapıştırın:

Code:
 ("relic", "Find holy relic", qf_random_quest,
  "A guy called Antler told me interesting story. Fallen Knights called Order of Night, recently raided Veluca monastery and stolen holy relic. I must find them and after battle, persuade their leader Thyr to give me holy relic. Those bastards, now should be near Veidar!"
  ),


Build module diyin, oyuna girin ve derse göre sırayla şunları yapın:

1. Suno tavernasına girin.
2. Antler'den görev alın.
3. Oldukça büyük bir ordu yapın.
4. Veidar etrafındaki arazilerde devriye gezin.
5. Order of Night ile savaşın.
6. Thyr'i, Relic'i vermesi için ikna edin.
7. Antler'e geri dönün.

Ve hepsi bu! Evet, dilim berbat(evet benimde :mrgreen:), fakat bunu ilerletmeye çalışacağım ve dersin gösterişli versiyonunu ekleyeceğim.

Okuduğunuz için teşekkür ederim,
Kolba

Ben denemedim.Deneyen arkadaşlar olup olmadığını yazarlarsa sevinirim, ben sadece çevirdim herhangi bir kod oynaması vs yapmadım.Ama yapan arkadaşlar bir kaç resim paylaşırlarsa böylece çalışıp çalışmadığını görürüz.
 
Üzgünüm ama burada ki hiçbir yeri açıklayamayacağım, fakat öğlen (şuan çok meşgulüm) Açıklamaları ekleyeceğim. Ve kusura bakmayın, 13 yaşından beri dilim iyi değil.
Noliy lo dedim.Adam ingiliz değil mi? Nasıl ingilizcesi iyi değil onu anlamadım, yinede ellerine sağlık.

 
kodları alıntı yerine kod bloğu içinde verirseniz, hem okuması gem de daha sonra kullanması daha kolay olacaktır.
kod bloğunu kullanmak için [ code="değiştirilecek dosya adı"]"kullanıalacak kodlar" [ /code] sistemini kullanabilirsiniz. ( [ karakterinden sonra boşluk olmayacak tabi...)
 
Tamam, test eden bir arkadaş yazarsa iyi olacak.
Ben yapamadım trooplarda hata veriyor :lol:
 
Back
Top Bottom