Konunun aslı
Dersin sahibi: mr.master
Çeviren : Tatari_okan
Bu ders çoklu oyuna yeni taraf(faction) eklemenin nasıl yapılacağını anlatıyor. Üzerinde değişiklik yapacağımız dört modulesystem dosyası var sadece:
Module_factions
Module_troops
Module_presentations
Module_scripts
Module Factions
Öncelikle module_faction dosyasını açın. Bu kısım gayet basit ve tek satırlık bir kod gerektiriyor. Bu kodu kopyalayın:
sarranid faction’unun kodunun altına yapıştırın:
Tarafın adını istediğiniz gibi değiştirin. Bitirdikten sonra kaydedin, module_troops dosyasını açın.
Module Troops
Module_troops’u açtığınıza göre “#Multiplayer ai troops” diye aratın. Bu tarz bir kod öbeğiyle karşılaşacaksınız:
İstediğiniz değişiklikleri yapmadan önce var olan ünite tanımlıklarından birini kopyalayıp son sarranid ünitesinin kodunun altına yapıştırın. Şimdi istediğiniz gibi değişiklik yapabilirsiniz. Ben "swadian crossbowman_multiplayer_ai"yi kullanacağım. Yaptığım şey, kodu kopyalayıp son sarranid ünitesinin altına yapıştırmaktan ibaret. Bunu yaptıktan ünitenin tanımlığını değiştirmek isteyeceksinizdir. Ben "finnish_rifleman_multiplayer_ai" diye değiştireceğim. Ünitenin tanımlığında "_multiplayer_ai" olması gerektiğini unutmayın; çünkü bu çoklu oyundaki bot olduğunu belirtiyor bu ünitenin. Şimdi değiştirmek isteyeceğiniz yeni ünitenin oyundaki görünen adını değiştireceğiz. İki çeşit ad var: İlki tekil ünite için, ikincisi çoğul ünite için. "Swadian Crossbowman" kısmını istediğiniz isimle değiştirin. Ben "Finnish Rifleman" diye değiştiriyorum. Şimdi ikinci ismi değiştirelim: "Swadian Crossbowmen". Bunu "Finnish Riflemen” diye değiştireceğim. Böyle görünecek:
Bu satırda değiştireceğimiz diğer şey:
Bunu bizim factionumuzun numarasıyla değiştireceğiz, yani 7’yle. Değiştirdikten sonra böyle görünecektir:
İsterseniz ünitenin eşyalarını değiştirebilirsiniz, misal "itm_leather_jerkin"i "itm_eşyanın_tanmlık_adı"yla değiştirebilirsin. Bundan sonraki satırlarda ünitenin yeteneklerini değiştirebilirsiniz isterseniz; ama ben şimdilik onlarda bir değişiklik yapmayacağım. Çoklu oyundaki factionunuz için yeni üniteler eklemek isterseniz bu adımları tekrarlayın. Tedbirli olmak için şimdi dosyayı kaydedelim. Tebrikler, çoklu oyuna kendi factionunuz için başarıyla bot oluşturdunuz. Bundan sonraki adımda oyuncunun kullanabileceği üniteyi ayarlayacağız.
Aynı dosyada (module_troops) ”#Multiplayer troops” diye aratın. Bu tür satırlarla karşılaşacaksınız:
Var olan kodu kopyalayın ve son sarranid ünitesinin altına yapıştırın, isterseniz değişiklik yapın. Bunun factionumuza yeni bot eklemekten pek bir farkı yok, tanımlıkta "_multiplayer_ai" yerine sadece "_multiplayer" olması dışında tabi.
Benimki böyle gözüküyor:
Tekrar söylüyorum, başka üniteler de eklemek istiyorsanız aynı adımları tekrarlayın ve istediğiniz değişiklikleri yapın. Şimdi kaydedin ve module_presentations’ı açın.
Module Presentations
Dosyayı açtığınıza göre "mesh_ui_kingdom_shield_6" diye aratın. Bu tür satırlarla karşılaşacaksınız:
Bu kodu kopyalayın ve son kodun altına yapıştırın, böyle gözükecektir:
Şimdi "fac_kingdom_2”yi bizim factionumuzun numarasıyla değiştireceğiz. Benimki "fac_kingdom_7"ydi.
"mesh_ui_kingdom_shield_2”yi var olan altı taneden biriyle değiştirebilirsiniz. Ya da kendinizinkini oluşturursunuz. Ben var olanlardan birini kullanacağım. Benimki böyle oldu:
Sayfanın biraz aşağısına gelirseniz, "$g_multiplayer_team_1_faction"un "$g_multiplayer_team_2_faction"a dönüşmesi dışında birebir aynı satırlarla karşılaşacaksınız. Üstte yaptığımız gibi, kopyalayın ve aynı işlemleri yapın, değişiklikleri factionunuza uydurun. Böyle:
Şimdi kaydedin ve module_scripts’i açın.
Module Scripts
Module_scripts’i açtığınıza göre "#Faction banners" diye aratın. Module_scripts’le işe başlamak gözünüzü korkutabilir. Bu tür satırlarla karşılaşacaksınız:
Bunu kopyalayıp son satırın altına yapıştırın. Böyle olacak:
"fac_kingdom_6”yı kendi factionunuzun numarasıyla değiştirin, benimki "fac_kingdom_7". Şimdi hangi armaları kullanacağını değiştirebiliriniz. Armaları olduğu gibi bırakabilirsiniz ya da openBRF’den bakıp ona göre değiştirebilirsiniz. Şimdi de "#script_determine_team_flags" diye aratın. Böyle bir satırla karşılaşacaksınız:
Bunu kopyalayın ve altına yapıştırın
Bunun gibi,
"fac_kingdom_7"nin sizin factionunuzun numarası olduğundan emin olun. Hangi flag’ı kullanacağını değiştirebilirsiniz. Misal "spr_headquarters_flag_vaegir" "spr_headquarters_flag_swadian"a değiştirtirilebilir. Sayfanın biraz aşağısına bakarsanız, aynı kodların "$team_1_flag_scene_prop" yerine "$team_2_flag_scene_prop" olan hallerini göreceksiniz. Gene satırları kopyalayıp kodların sonuna yapıştırın, kendi factionunuza göre düzenleyin.
Şimdi arayacağımız şey:
Yapmak istediğimiz şey, bir ünite için hangi eşyaların kullanılabilir olduğunu ayarlamak. Örneğin:
Şimdi module_troops’ta üniteleriniz için hangi eşyaları kullandığınızı kontrol edin. Örneğin ben finnish rifleman’ım için bu eşyaları kullanılabilir yaptım.
Şimdi bu eşyaları çoklu oyun için gerçekten kullanılabilir yapacağım. Böyle bir kod ekleyeceğim:
#Finnish Rifleman’ın altına. Böyle olacak:
Aynı şeyleri tekrarlayın, tabi eşyanın tanımlık ismini değiştirerek. Misal "itm_cartridges"i "itm_leather_jerkin"e değiştirin. "trp_finnish_rifleman_multiplayer"yi kendi ünitenizin tanımlık adıyla değiştirin tabi. Misal "trp_benim_ünitem_multiplayer". Aynı adımları tekrarlayarak ünitenizin alabileceği eşyaları ayarlayın. Size ilk satırları silah,kalkan ve ok gibi eşyalar için kullanmanızı öneririm. Sonra bir satır atlayıp zırhlar, miğferler ve elçekler gibi eşyalar, sonra bir satır daha atlayıp daha eklemeniz gereken ne varsa onlar. Böyle görünecek:
Şimdi kaydedin ve toparlayın. Her şeyi doğru yaptıysanız ki iyi açıkladığıma inanıyorum bir sorun çıkmayacaktır. Yapması zormuş gibi görünse de aslında kolay. Umarım bu ders fazla karmaşık olmamıştır. Sorun çıkarsa yaptıklarınızı iki kere kontrol edin, her şeyi olması gerektiği gibi yaptığınızdan ve dosyaları kaydettiğinizden emin olun. Dosyaları yeniden ve yeniden gözden geçirin.
Eşyaların Çoklu Oyunda Kullanılabilir Yapılması
İstekten dolayı bu bölümü da derse eklemeyi uygun gördüm. Çoklu oyuna yeni eşya eklemek nispeten kolay. Bu bölümde gereksinim duyacağımız tek dosya module_script çünkü eşyalarınız zaten module_items'e eklediğinizi varsayıyorum.
Module Scripts
Öncelikle module scripts'i açın tabi ki.
kodunu aratın.
"itm_your_item_id" kullanılacak eşya ve multi_item_class_type_bow eşyanın ne tür bir eşya olduğu. Bir çok çeşidi var türlerin, türleri aşağıda listeledim:
Benim eşyam bir tüfek, yay kategorisine giriyor. Şöyle gözüküyor:
Şu an eşya çoklu oyunda kullanılabilir ama bir sınıfa da atanması gerekiyor. Ben bu tüfeği Finnish rifleman'ım için kullanılabilir yapmayı düşünüyorum. Finnish rifleman'ın eşya girdilerini arayacağım ve bunu oraya ekleyeceğim. Siz de eşya eklemek istediğiniz üniteyi bulun, Swadian crossbowman'i örneğin. Ben Finnish rifleman ünitesine ekleyeceğim. Şimdi böyle bir girdi ekliyoruz:
Eşya kodunu istediğiniz eşyayla değiştirin. Benim için itm_pystykorva idi bu. Sonra bu satırı trp_finnish_rifleman_multiplayer hangi üniteye eşyayı verecekseniz ona göre değiştirin. Swadian crossbowman'i ele alırsak, böyle gözükecektir:
Ünitenin adının sonuna _multiplayer eklemeyi unutmayın. Artık istediğiniz eşyayı istediğiniz ünite için seçilebilir yapabilirsiniz.
Dersin sahibi: mr.master
Çeviren : Tatari_okan
Bu ders çoklu oyuna yeni taraf(faction) eklemenin nasıl yapılacağını anlatıyor. Üzerinde değişiklik yapacağımız dört modulesystem dosyası var sadece:
Module_factions
Module_troops
Module_presentations
Module_scripts
Module Factions
Öncelikle module_faction dosyasını açın. Bu kısım gayet basit ve tek satırlık bir kod gerektiriyor. Bu kodu kopyalayın:
Code:
("kingdom_7", "Finland", 0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xDDDD33),
Code:
("kingdom_6", "Sarranid Sultanate", 0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xDDDD33),
("kingdom_7", "Finland", 0, 0.9, [("outlaws",-0.05),("peasant_rebels", -0.1),("deserters", -0.02),("mountain_bandits", -0.05),("forest_bandits", -0.05)], [], 0xDDDD33),
Module Troops
Module_troops’u açtığınıza göre “#Multiplayer ai troops” diye aratın. Bu tarz bir kod öbeğiyle karşılaşacaksınız:
Code:
["swadian_crossbowman_multiplayer_ai","Swadian Crossbowman","Swadian Crossbowmen",tf_guarantee_all,0,0,fac_kingdom_1,
[itm_bolts,itm_crossbow,itm_sword_medieval_a,itm_tab_shield_heater_b,
itm_leather_jerkin,itm_leather_armor,itm_ankle_boots,itm_footman_helmet],
def_attrib|level(19),wp_melee(90)|wp_crossbow(100),knows_common|knows_ironflesh_4|knows_athletics_6|knows_shield_5|knows_power_strike_3,swadian_face_young_1, swadian_face_old_2],
Code:
["finnish_rifleman_multiplayer_ai","Finnish Rifleman","Finnish Riflemen",tf_guarantee_all,0,0,fac_kingdom_1,
[itm_cartridges,itm_cartridges,itm_pystykorva,itm_ukkopekka,
itm_leather_jerkin,itm_leather_armor,itm_ankle_boots,itm_kypara],
def_attrib|level(19),wp_melee(90)|wp_crossbow(120),knows_common|knows_ironflesh_4|knows_athletics_6|knows_shield_5|knows_power_strike_3,swadian_face_young_1, swadian_face_old_2],
Code:
tf_guarantee_all,0,0,fac_kingdom_1,
Code:
tf_guarantee_all,0,0,fac_kingdom_7,
Aynı dosyada (module_troops) ”#Multiplayer troops” diye aratın. Bu tür satırlarla karşılaşacaksınız:
Code:
["swadian_crossbowman_multiplayer","Swadian Crossbowman","Swadian Crossbowmen",tf_guarantee_all,0,0,fac_kingdom_1,
[itm_cartridges,itm_cartridges,itm_pystykorva,itm_ukkopekka,itm_kypara,itm_stickgrenade,itm_pystykorva,itm_sword_medieval_b_small,itm_tab_shield_heater_a,itm_red_shirt,itm_ankle_boots],
def_attrib_multiplayer|level(19),wpe(90,60,180,90),knows_common|knows_ironflesh_2|knows_athletics_5|knows_shield_5|knows_power_strike_2|knows_riding_1,swadian_face_young_1, swadian_face_old_2],
Var olan kodu kopyalayın ve son sarranid ünitesinin altına yapıştırın, isterseniz değişiklik yapın. Bunun factionumuza yeni bot eklemekten pek bir farkı yok, tanımlıkta "_multiplayer_ai" yerine sadece "_multiplayer" olması dışında tabi.
Benimki böyle gözüküyor:
Code:
["finnish_rifleman_multiplayer","Finnish Rifleman","Finnish Riflemen",tf_guarantee_all,0,0,fac_kingdom_7,
[itm_cartridges,itm_cartridges,itm_pystykorva,itm_ukkopekka,itm_kypara,itm_red_shirt,itm_ankle_boots],
def_attrib_multiplayer|level(19),wpe(90,60,180,90),knows_common|knows_ironflesh_2|knows_athletics_5|knows_shield_5|knows_power_strike_2|knows_riding_1,swadian_face_young_1, swadian_face_old_2],
Module Presentations
Dosyayı açtığınıza göre "mesh_ui_kingdom_shield_6" diye aratın. Bu tür satırlarla karşılaşacaksınız:
Code:
(else_try),
(eq, "$g_multiplayer_team_1_faction", "fac_kingdom_2"),
(create_mesh_overlay, reg0, "mesh_ui_kingdom_shield_2"),
Code:
(else_try),
(eq, "$g_multiplayer_team_1_faction", "fac_kingdom_1"),
(create_mesh_overlay, reg0, "mesh_ui_kingdom_shield_6"),
(else_try),
(eq, "$g_multiplayer_team_1_faction", "fac_kingdom_2"),
(create_mesh_overlay, reg0, "mesh_ui_kingdom_shield_2"),
(try_end),
"mesh_ui_kingdom_shield_2”yi var olan altı taneden biriyle değiştirebilirsiniz. Ya da kendinizinkini oluşturursunuz. Ben var olanlardan birini kullanacağım. Benimki böyle oldu:
Code:
(else_try),
(eq, "$g_multiplayer_team_1_faction", "fac_kingdom_7"),
(create_mesh_overlay, reg0, "mesh_ui_kingdom_shield_1"),
(try_end),
Code:
(else_try),
(eq, "$g_multiplayer_team_2_faction", "fac_kingdom_7"),
(create_mesh_overlay, reg0, "mesh_ui_kingdom_shield_1"),
(try_end),
Module Scripts
Module_scripts’i açtığınıza göre "#Faction banners" diye aratın. Module_scripts’le işe başlamak gözünüzü korkutabilir. Bu tür satırlarla karşılaşacaksınız:
Code:
(faction_set_slot, "fac_kingdom_1", slot_faction_banner, "mesh_banner_kingdom_f"),
Code:
(faction_set_slot, "fac_kingdom_6", slot_faction_banner, "mesh_banner_kingdom_e"),
(faction_set_slot, "fac_kingdom_7", slot_faction_banner, "mesh_banner_kingdom_e"),
Code:
(else_try),
(eq, ":team_faction_no", "fac_kingdom_2"),
(assign, "$team_1_flag_scene_prop", "spr_headquarters_flag_vaegir")
Code:
(else_try),
(eq, ":team_faction_no", "fac_kingdom_6"),
(assign, "$team_1_flag_scene_prop", "spr_headquarters_flag_vaegir"),
Code:
(else_try),
(eq, ":team_faction_no", "fac_kingdom_6"),
(assign, "$team_1_flag_scene_prop", "spr_headquarters_flag_sarranid"),
(else_try),
(eq, ":team_faction_no", "fac_kingdom_7"),
(assign, "$team_1_flag_scene_prop", "spr_headquarters_flag_vaegir"),
(try_end),
Şimdi arayacağımız şey:
Code:
(call_script, "script_multiplayer_set_item_available_for_troop", "itm_warhorse", "trp_sarranid_mamluke_multiplayer"),
Code:
(call_script, "script_multiplayer_set_item_available_for_troop", "itm_warhorse", "trp_sarranid_mamluke_multiplayer"),
#Finnish Rifleman
Code:
[itm_cartridges,itm_cartridges,itm_pystykorva,itm_ukkopekka,itm_kypara,itm_red_shirt,itm_ankle_boots],
Code:
(call_script, "script_multiplayer_set_item_available_for_troop", "itm_cartridges", "trp_finnish_rifleman_multiplayer"),
Code:
(call_script, "script_multiplayer_set_item_available_for_troop", "itm_warhorse", "trp_sarranid_mamluke_multiplayer"),
#Finnish Rifleman
(call_script, "script_multiplayer_set_item_available_for_troop", "itm_cartridges", "trp_finnish_rifleman_multiplayer"),
Code:
Finnish Rifleman
(call_script, "script_multiplayer_set_item_available_for_troop", "itm_cartridges", "trp_finnish_rifleman_multiplayer"),
(call_script, "script_multiplayer_set_item_available_for_troop", "itm_pystykorva", "trp_finnish_rifleman_multiplayer"),
(call_script, "script_multiplayer_set_item_available_for_troop", "itm_ukkopekka", "trp_finnish_rifleman_multiplayer"),
(call_script, "script_multiplayer_set_item_available_for_troop", "itm_red_shirt", "trp_finnish_rifleman_multiplayer"),
(call_script, "script_multiplayer_set_item_available_for_troop", "itm_padded_cloth", "trp_finnish_rifleman_multiplayer"),
(call_script, "script_multiplayer_set_item_available_for_troop", "itm_leather_armor", "trp_finnish_rifleman_multiplayer"),
(call_script, "script_multiplayer_set_item_available_for_troop", "itm_haubergeon", "trp_finnish_rifleman_multiplayer"),
(call_script, "script_multiplayer_set_item_available_for_troop", "itm_ankle_boots", "trp_finnish_rifleman_multiplayer"),
(call_script, "script_multiplayer_set_item_available_for_troop", "itm_leather_boots", "trp_finnish_rifleman_multiplayer"),
(call_script, "script_multiplayer_set_item_available_for_troop", "itm_leather_gloves", "trp_finnish_rifleman_multiplayer"),
(call_script, "script_multiplayer_set_item_available_for_troop", "itm_kypara", "trp_finnish_rifleman_multiplayer"),
Şimdi kaydedin ve toparlayın. Her şeyi doğru yaptıysanız ki iyi açıkladığıma inanıyorum bir sorun çıkmayacaktır. Yapması zormuş gibi görünse de aslında kolay. Umarım bu ders fazla karmaşık olmamıştır. Sorun çıkarsa yaptıklarınızı iki kere kontrol edin, her şeyi olması gerektiği gibi yaptığınızdan ve dosyaları kaydettiğinizden emin olun. Dosyaları yeniden ve yeniden gözden geçirin.
Eşyaların Çoklu Oyunda Kullanılabilir Yapılması
İstekten dolayı bu bölümü da derse eklemeyi uygun gördüm. Çoklu oyuna yeni eşya eklemek nispeten kolay. Bu bölümde gereksinim duyacağımız tek dosya module_script çünkü eşyalarınız zaten module_items'e eklediğinizi varsayıyorum.
Module Scripts
Öncelikle module scripts'i açın tabi ki.
Code:
(item_set_slot, "itm_heavy_crossbow", slot_item_multiplayer_item_class, multi_item_class_type_bow),
"itm_your_item_id" kullanılacak eşya ve multi_item_class_type_bow eşyanın ne tür bir eşya olduğu. Bir çok çeşidi var türlerin, türleri aşağıda listeledim:
Code:
arrow
bolt
bow
sword
two_handed_sword
axe
two_handed_axe
blunt
picks
cleavers
spear
lance
small_shield
throwing
throwing_axe
light_armor
light_foot
light_helm
glove
horse
Code:
(item_set_slot, "itm_pystykorva", slot_item_multiplayer_item_class, multi_item_class_type_bow),
Code:
(call_script, "script_multiplayer_set_item_available_for_troop", "itm_pystykorva", "trp_finnish_rifleman_multiplayer"),
Code:
trp_swadian_crossbowman_multiplayer