Merhaba arkadaşlar bu benim ilk dersim ben bu kodu kendi moduma eklemeyi çok istiyordum ama bir türlü bulamıyordum forumun her yerine baktım ingilizcemde zayıf olduğu için pek anlayamıyordum ama tesadüf eseri yabancı forumda gezinirken Bu bölümü gördüm biraz araştırınca sonunda buldum ve moduma ekledim biraz düşününce bu kodu arayıp da bulmayanlar bulsalar bile ekleyemeyenler vardır diye bu dersi oluşturdum umarım yararlı olur size
Hadi başlayalım
İlk olarak module_constant.py de item slots un üstüne şu kodu yapıştırın
Sonrada module_factions.py de culture_6 nın altına şu kodu ekleyin
Ardından en alta şu kodu ekleyin
Şimdi module_meshes in en altına şu kodu ekleyin
Sıra geldi module_game_menus e ("action_rename_kingdom diye aratın ve altına bunu ekleyin
böyle gözükmeli
Şimdi module_troops u açın ["relative_of_merchants_end diye aratın ve altındaki ] den önce bunu ekleyin
Sonra module troopsun en altına bunu ekleyin
Şimdi ise module_simple_triggers in en altındaki ] den önce bunu ekleyin
Sıkın dişinizi az kaldı şimdi ise module_strings.py i açın ve en atta ] önce şu kodu yapıştırın
Sıra module_scripts.py de from ID_animations import * altına bunu ekleyin
tabi boşluk bırakarak
Ardından game_starts ın altına bunu ekleyin
böyle gözükmeli
Sonra (faction_set_slot, "fac_culture_6", slot_faction_tier_5_troop, "trp_sarranid_mamluke"), aratın ve altına bunu ekleyin
Şimdi bu grubun altına
bunu ekleyin
Daha işimiz bitmedi (assign, reg0, 200), diye aratın ve try_end din altına bunu ekleyin
Şimdi ise (faction_set_slot, "fac_player_supporters_faction", slot_faction_leader, ":liege"), aratın eve altına boşluk bırakmadan
bunu yapıştırın
Devamını yorum olarak yazıcam
buradaki dosyaları ise modunuzda gerekli yerlere atın
Hadi başlayalım
İlk olarak module_constant.py de item slots un üstüne şu kodu yapıştırın
Code:
## ZZ Custom Kingdom Troops begin
slot_item_difficulty = 101
slot_item_weight = 102
slot_item_price = 103
slot_custom_troop_wage = 313
slot_custom_troop_weight = 314
slot_custom_troop_ap = 315
slot_custom_troop_sp = 316
slot_custom_troop_wp = 317
custom_troop_begin = "trp_kingdom_recruit"
custom_troop_end = "trp_array_a"
## ZZ Custom Kingdom Troops end
Sonrada module_factions.py de culture_6 nın altına şu kodu ekleyin
Code:
## ZZ Custom Kingdom Troops begin
("culture_player", "{!}culture_7", 0, 0.9, [], []),
## ZZ Custom Kingdom Troops end
Ardından en alta şu kodu ekleyin
Code:
## ZZ Custom Kingdom Troops begin
("troop_name_temp_1", "{!}", 0, 0.9, [], []),
("troop_name_temp_2", "{!}", 0, 0.9, [], []),
("troop_name_temp_3", "{!}", 0, 0.9, [], []),
("troop_name_temp_4", "{!}", 0, 0.9, [], []),
("troop_name_temp_5", "{!}", 0, 0.9, [], []),
("troop_name_temp_6", "{!}", 0, 0.9, [], []),
("troop_name_temp_7", "{!}", 0, 0.9, [], []),
("troop_name_temp_8", "{!}", 0, 0.9, [], []),
("troop_name_temp_9", "{!}", 0, 0.9, [], []),
("troop_name_temp_10", "{!}", 0, 0.9, [], []),
## ZZ Custom Kingdom Troops end
Şimdi module_meshes in en altına şu kodu ekleyin
Code:
## ZZ Custom Kingdom Troops begin
("troop_info_win_1", 0, "troop_info_win_1", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("troop_info_win_2", 0, "troop_info_win_2", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("button1_up", 0, "button1_up", 0, 0, 0, 0, 0, 0, 1, 1, 1),
("button1_down", 0, "button1_down", 0, 0, 0, 0, 0, 0, 1, 1, 1),
## ZZ Custom Kingdom Troops end
Sıra geldi module_game_menus e ("action_rename_kingdom diye aratın ve altına bunu ekleyin
Code:
## ZZ Custom Kingdom Troops begin
("action_promote_kingdom_custom_troop",
[
(faction_slot_eq, "fac_player_supporters_faction", slot_faction_state, sfs_active),
(faction_slot_eq, "fac_player_supporters_faction", slot_faction_leader, "trp_player"),
],"Promote your kingdom custom troop.",
[(start_presentation, "prsnt_custom_kingdom_troop"),
]
),
## ZZ Custom Kingdom Troops end
böyle gözükmeli
Code:
("action_rename_kingdom",
[
(eq, "$players_kingdom_name_set", 1),
(faction_slot_eq, "fac_player_supporters_faction", slot_faction_state, sfs_active),
(faction_slot_eq, "fac_player_supporters_faction", slot_faction_leader, "trp_player"),
],"Rename your kingdom.",
[(start_presentation, "prsnt_name_kingdom"),
]
),
## ZZ Custom Kingdom Troops begin
("action_promote_kingdom_custom_troop",
[
(faction_slot_eq, "fac_player_supporters_faction", slot_faction_state, sfs_active),
(faction_slot_eq, "fac_player_supporters_faction", slot_faction_leader, "trp_player"),
],"Promote your kingdom custom troop.",
[(start_presentation, "prsnt_custom_kingdom_troop"),
]
),
## ZZ Custom Kingdom Troops end
Şimdi module_troops u açın ["relative_of_merchants_end diye aratın ve altındaki ] den önce bunu ekleyin
Code:
## ZZ Custom Kingdom Troops begin
["kingdom_temp","Kingdom Temp","Kingdom Temps",tf_guarantee_all,0,0,fac_neutral,[],str_10|agi_10|int_10|cha_10|level(4),wp(0),0,swadian_face_younger_1, swadian_face_middle_2],#420 #2
["kingdom_recruit","Kingdom Recruit","Kingdom Recruits",tf_guarantee_all,0,0,fac_neutral,[],str_10|agi_10|int_10|cha_10|level(4),wp(0),0,swadian_face_younger_1, swadian_face_middle_2],#420 #2
["kingdom_militia","Kingdom Militia","Kingdom Militia",tf_guarantee_all,0,0,fac_neutral,[],str_10|agi_10|int_10|cha_10|level(9),wp(0),0,swadian_face_young_1, swadian_face_old_2],#525 #3
["kingdom_footman","Kingdom Footman","Kingdom Footmen",tf_guarantee_all,0,0,fac_neutral,[],str_10|agi_10|int_10|cha_10|level(14),wp(0),0,swadian_face_young_1, swadian_face_old_2],#600 #10
["kingdom_infantry","Kingdom Infantry","Kingdom Infantries",tf_guarantee_all,0,0,fac_neutral,[],str_10|agi_10|int_10|cha_10|level(20),wp(0),0,swadian_face_middle_1, swadian_face_old_2],#740 #14
["kingdom_sergeant","Kingdom Sergeant","Kingdom Sergeants",tf_guarantee_all,0,0,fac_neutral,[],str_10|agi_10|int_10|cha_10|level(25),wp(0),0,swadian_face_middle_1, swadian_face_older_2],#900 #20
["kingdom_skirmisher","Kingdom Skirmisher","Kingdom Skirmishers",tf_guarantee_all,0,0,fac_neutral,[],str_10|agi_10|int_10|cha_10|level(14),wp(0),0,swadian_face_young_1, swadian_face_middle_2],#600 #10
["kingdom_crossbowman","Kingdom Crossbowman","Kingdom Crossbowmen",tf_guarantee_all,0,0,fac_neutral,[],str_10|agi_10|int_10|cha_10|level(20),wp(0),0,swadian_face_young_1, swadian_face_old_2],#740 #14
["kingdom_sharpshooter","Kingdom Sharpshooter","Kingdom Sharpshooters",tf_guarantee_all,0,0,fac_neutral,[],str_10|agi_10|int_10|cha_10|level(25),wp(0),0,swadian_face_middle_1, swadian_face_older_2],#900 #20
["kingdom_man_at_arms","Kingdom Man at Arms","Kingdom Men at Arms",tf_guarantee_all,0,0,fac_neutral,[],str_10|agi_10|int_10|cha_10|level(20),wp(0),0,swadian_face_middle_1, swadian_face_old_2],#740 #14
["kingdom_knight","Kingdom Knight","Kingdom Knights",tf_guarantee_all,0,0,fac_neutral,[],str_10|agi_10|int_10|cha_10|level(25),wp(0),0,swadian_face_middle_1, swadian_face_older_2], #900 #20
["array_a","{!}temp_array_a","{!}temp_array_a",tf_hero|tf_inactive, 0,reserved, fac_neutral,[],def_attrib|level(18),wp(60),knows_common, 0],
["array_b","{!}temp_array_b","{!}temp_array_b",tf_hero|tf_inactive, 0,reserved, fac_neutral,[],def_attrib|level(18),wp(60),knows_common, 0],
["array_c","{!}temp_array_c","{!}temp_array_c",tf_hero|tf_inactive, 0,reserved, fac_neutral,[],def_attrib|level(18),wp(60),knows_common, 0],
["array_d","{!}temp_array_d","{!}temp_array_d",tf_hero|tf_inactive, 0,reserved, fac_neutral,[],def_attrib|level(18),wp(60),knows_common, 0],
["kingdom_inventory","{!}na","{!}na",0,0,0,fac_neutral,[itm_velvet],def_attrib|level(1),wp(60),knows_common|knows_inventory_management_10,swadian_face_middle_1, swadian_face_older_2],
["copy_inventory","{!}copy_inventory","{!}copy_inventory",tf_hero|tf_inactive, 0,reserved, fac_neutral,[],def_attrib|level(18),wp(60),knows_common|knows_inventory_management_10, 0],
## ZZ Custom Kingdom Troops end
Sonra module troopsun en altına bunu ekleyin
Code:
## ZZ Custom Kingdom Troops begin
upgrade(troops,"kingdom_recruit","kingdom_militia")
upgrade2(troops,"kingdom_militia","kingdom_footman","kingdom_skirmisher")
upgrade2(troops,"kingdom_footman","kingdom_man_at_arms","kingdom_infantry")
upgrade(troops,"kingdom_infantry","kingdom_sergeant")
upgrade(troops,"kingdom_skirmisher","kingdom_crossbowman")
upgrade(troops,"kingdom_crossbowman","kingdom_sharpshooter")
upgrade(troops,"kingdom_man_at_arms","kingdom_knight")
## ZZ Custom Kingdom Troops end
Şimdi ise module_simple_triggers in en altındaki ] den önce bunu ekleyin
Code:
## ZZ Custom Kingdom Troops begin
(0,
[
(map_free),
(troop_get_inventory_slot, ":item", "trp_kingdom_inventory", 10),
(eq,":item","itm_velvet"),
(try_for_range, ":troop", custom_troop_begin, custom_troop_end),
(store_sub,":slot_offset",":troop",custom_troop_begin),
(val_mul,":slot_offset",10),
(try_for_range, ":i_slot", 0, 9),
(store_add,":slot_no",":i_slot",":slot_offset"),
(troop_get_slot,":item", "trp_kingdom_inventory", ":slot_no"),
(gt,":item",0),
(troop_set_inventory_slot,":troop", ":i_slot",":item"),
(try_end),
(try_end),
(try_for_range, ":troop", custom_troop_begin, custom_troop_end),
(store_sub,":offset",":troop","trp_kingdom_recruit"),
(store_add,":faction_troop_name","fac_troop_name_temp_1",":offset"),
(str_store_faction_name,s2,":faction_troop_name"),
(troop_set_name, ":troop", s2),
(troop_set_plural_name, ":troop", s2),
(try_end),
(troop_clear_inventory, "trp_kingdom_inventory"),
]
),
(24,[
(try_for_range, ":center_no", centers_begin, centers_end),
(store_faction_of_party, ":now_faction", ":center_no"),
(faction_get_slot, ":culture", ":now_faction", slot_faction_culture),
(party_set_slot, ":center_no", slot_center_culture, ":culture"),
(try_end),
]),
## ZZ Custom Kingdom Troops end
Sıkın dişinizi az kaldı şimdi ise module_strings.py i açın ve en atta ] önce şu kodu yapıştırın
Code:
## ZZ Custom Kingdom Troops begin
("firearm", "Firearm: {reg35}"),
("throwing", "Throwing: {reg34}"),
("crossbow", "Crossbow: {reg33}"),
("archery", "Archery: {reg32}"),
("polearm", "Polearm: {reg31}"),
("two_handed_weapon", "Two Handed Weapon: {reg30}"),
("one_handed_weapon", "One Handed Weapon: {reg29}"),
("trade", "Trade"),
("leadership", "Leadership"),
("prisoner_management", "Prisoner Management"),
("persuasion", "Persuasion"),
("engineer", "Engineer"),
("first_aid", "First Aid"),
("surgery", "Surgery"),
("wound_treatment", "Wound Treatment"),
("inventory_management", "Inventory Management"),
("spotting", "Spotting"),
("pathfinding", "Pathfinding"),
("tactics", "Tactics"),
("tracking", "Tracking"),
("trainer", "Trainer"),
("looting", "Looting"),
("horse_archery", "Horse Archery"),
("riding", "Riding"),
("athletics", "Athletics"),
("shield", "Shield"),
("weapon_master", "Weapon Master"),
("power_draw", "Power Draw"),
("power_throw", "Power Throw"),
("power_strike", "Power Strike"),
("ironflesh", "Ironflesh"),
("cha", "CHA: {reg4}"),
("int", "INT: {reg3}"),
("agi", "AGI: {reg2}"),
("str", "STR: {reg1}"),
("reg5", "{reg5}"),
("reg6", "{reg6}"),
("reg7", "{reg7}"),
("reg8", "{reg8}"),
("reg9", "{reg9}"),
("reg10", "{reg10}"),
("reg11", "{reg11}"),
("reg12", "{reg12}"),
("reg13", "{reg13}"),
("reg14", "{reg14}"),
("reg15", "{reg15}"),
("reg16", "{reg16}"),
("reg17", "{reg17}"),
("reg18", "{reg18}"),
("reg19", "{reg19}"),
("reg20", "{reg20}"),
("reg21", "{reg21}"),
("reg22", "{reg22}"),
("reg23", "{reg23}"),
("reg24", "{reg24}"),
("reg25", "{reg25}"),
("reg26", "{reg26}"),
("reg27", "{reg27}"),
("reg28", "{reg28}"),
("explanation_strength", "Strength: Every point adds +1 ^to hit points.The following ^skills can not be developed beyond ^1/3 of Strength: ironflesh, ^Power-strike, Power-throw, ^Power-draw."),
("explanation_agility", "Agility: Each point gives five ^weapon points and slightly ^increases movement speed. ^The following skills can not be ^developed beyond 1/3 of Agility: ^weapon-master, Shield, ^Athletics, Riding, Horse ^archery, Looting."),
("explanation_intelligence", "Intelligence: Every point to ^intelligence immediately gives one ^extra skill point. The following ^skills can not be developed beyond ^1/3 of Intelligence: Trainer, Tracking, ^Tactics, Path finding, Spotting, ^Inventory Management, Wound treatment, ^Surgery, First-aid, Engineer, Persuasion."),
("explanation_charisma", "Charisma: Each point increases ^your party size limit by +1. ^The following skills can not be ^developed beyond 1/3 of Charisma: ^Prisoner Management, Leadership, Trade."),
("explanation_ironflesh", "Each point to this skill increases ^hit points by +2. ^(Personal skill)"),
("explanation_power_strike", "Each point to this skill increases ^melee damage by 8%%. ^(Personal skill)"),
("explanation_power_throw", "Each point to this skill increases ^throwing damage by 10%%. ^(Personal skill)"),
("explanation_power_draw", "Lets character use more powerful bows. ^Each point to this skill ^(up to four plus power-draw requirement of the bow) ^increases bow damage by 14%%. ^(Personal skill)"),
("explanation_weapon_master", "Makes it easier to learn ^weapon proficiencies and increases ^the proficiency limits. Limits go as: ^60, 100, 140, 180, 220, 260, 300, 340, 380, 420. ^(Personal skill)"),
("explanation_shield", "Reduces damage to shields ^(by 8%% per skill level) and ^improves shield speed and coverage. ^(Personal skill)"),
("explanation_athletics", "Improves your running speed. ^(Personal skill)"),
("explanation_riding", "Enables you to ride horses of ^higher difficulty levels and increases ^your riding speed and manuever. ^(Personal skill)"),
("explanation_horse_archery", "Reduces damage and accuracy penalties ^for archery and throwing from horseback. ^(Personal skill)"),
("explanation_looting", "This skill increases the amount of ^loot obtained by 10%% per skill level. ^(Party skill)"),
("explanation_trainer", "Every day, each hero with this skill ^adds some experience to every other member ^of the party whose level is lower than his/hers. ^Experience gained goes as: ^{0,4,10,16,23,30,38,46,55,65,80}. ^(Personal skill)"),
("explanation_tracking", "Tracks become more informative. ^(Party skill)"),
("explanation_tactics", "Every two levels of this skill ^increases starting battle advantage by 1. ^(Party skill)"),
("explanation_pathfinding", "Party map speed is increased ^by 3%% per skill level. ^(Party skill)"),
("explanation_spotting", "Party seeing range is increased ^by 10%% per skill level. ^(Party skill)"),
("explanation_inventory_management", "Increases inventory capacity ^by +6 per skill level. ^(Leader skill)"),
("explanation_wound_treatment", "Party healing speed is increased ^by 20%% per level of this skill. ^(Party skill)"),
("explanation_surgery", "Each point to this skill ^gives a 4%% chance that ^a mortally struck party member ^will be wounded rather than killed. ^(Party skill)"),
("explanation_first_aid", "Heroes regain 5%% per skill level ^of hit-points lost during mission. ^(Party skill)"),
("explanation_engineer", "This skill allows you to ^construct siege equipment and ^fief improvements more efficiently. ^(Party skill)"),
("explanation_persuasion", "This skill helps you ^make other people accept your point of view. ^It also lowers the minimum level of relationship ^needed to get NPCs to do what you want. ^(Personal skill)"),
("explanation_prisoner_management", "Every level of this skill ^increases maximum number of prisoners by %d. ^(Leader skill)"),
("explanation_leadership", "Every point increases maximum number ^of troops you can command by 5, ^increases your party morale and ^reduces troop wages by 5%%. ^(Leader skill)"),
("explanation_trade", "Every level of this skill ^reduces your trade penalty by 5%%. ^(Party skill)"),
("explanation_one_handed_weapon", "Covers usage of one handed swords, ^axes and blunt weapons."),
("explanation_two_handed_weapon", "Covers usage of two handed swords, ^great axes and mauls."),
("explanation_polearm", "Covers usage of pole weapons like ^spears, lances, staffs, etc."),
("explanation_archery", "Covers usage of bows."),
("explanation_crossbow", "Covers usage of crossbows."),
("explanation_throwing", "Covers usage of thrown weapons like ^javelins, darts, stones etc."),
("explanation_firearms", "Covers usage of pistols and muskets."),
("skills_info", "Current: {reg36}^Base Attribute: {s10}"),
("troop_basic_info", "Level: {reg45}^Health: {reg46}^Experience: {reg47}^Next Level at:e{reg48}"),
("end", "End"),
## ZZ Custom Kingdom Troops end
Sıra module_scripts.py de from ID_animations import * altına bunu ekleyin
Code:
## ZZ Custom Kingdom Troops begin
from header_presentations import *
from module_items import *
def set_item_detial():
set_item_detial = []
for i_item in xrange(len(items)):
set_item_detial.append((item_set_slot, i_item, slot_item_difficulty, get_difficulty(items[i_item][6])))
set_item_detial.append((item_set_slot, i_item, slot_item_weight, get_weight(items[i_item][6])))
set_item_detial.append((item_set_slot, i_item, slot_item_price, items[i_item][5]))
return set_item_detial[:]
## ZZ Custom Kingdom Troops end
Ardından game_starts ın altına bunu ekleyin
Code:
## ZZ Custom Kingdom Troops begin
(call_script,"script_item_detial"),
(call_script,"script_set_custom_troop_pionts_initialization"),
## ZZ Custom Kingdom Troops end
Code:
("game_start",
[
## ZZ Custom Kingdom Troops begin
(call_script,"script_item_detial"),
(call_script,"script_set_custom_troop_pionts_initialization"),
## ZZ Custom Kingdom Troops end
(faction_set_slot, "fac_player_supporters_faction", slot_faction_state, sfs_inactive),
Sonra (faction_set_slot, "fac_culture_6", slot_faction_tier_5_troop, "trp_sarranid_mamluke"), aratın ve altına bunu ekleyin
Code:
## ZZ Custom Kingdom Troops begin
(faction_set_slot, "fac_culture_player", slot_faction_tier_1_troop, "trp_kingdom_recruit"),
(faction_set_slot, "fac_culture_player", slot_faction_tier_2_troop, "trp_kingdom_militia"),
(faction_set_slot, "fac_culture_player", slot_faction_tier_3_troop, "trp_kingdom_footman"),
(faction_set_slot, "fac_culture_player", slot_faction_tier_4_troop, "trp_kingdom_infantry"),
(faction_set_slot, "fac_culture_player", slot_faction_tier_5_troop, "trp_kingdom_knight"),
## ZZ Custom Kingdom Troops end
Şimdi bu grubun altına
Code:
(try_begin),
(neq, ":troop_id", "trp_player"),
(neq, ":troop_id", "trp_kidnapped_girl"),
(neg|is_between, ":troop_id", pretenders_begin, pretenders_end),
(val_max, ":wage", 1),
(try_end),
Code:
## ZZ Custom Kingdom Troops begin
(try_begin),
(is_between, ":troop_id", custom_troop_begin, custom_troop_end),
(troop_get_slot, ":total_price", ":troop_id", slot_custom_troop_wage),
(val_mul, ":total_price", 5),
(val_div, ":total_price", 5000),
(val_add,":wage",":total_price"),
(try_end),
## ZZ Custom Kingdom Troops end
Daha işimiz bitmedi (assign, reg0, 200), diye aratın ve try_end din altına bunu ekleyin
Code:
## ZZ Custom Kingdom Troops begin
(try_begin),
(is_between, ":troop_id", custom_troop_begin, custom_troop_end),
(troop_get_slot, ":total_price",":troop_id", slot_custom_troop_wage),
(store_div,":upgrade_cost_modify",":total_price",100),
(val_add,reg0,":upgrade_cost_modify"),
(try_end),
## ZZ Custom Kingdom Troops end
Şimdi ise (faction_set_slot, "fac_player_supporters_faction", slot_faction_leader, ":liege"), aratın eve altına boşluk bırakmadan
bunu yapıştırın
Code:
## ZZ Custom Kingdom Troops begin
(faction_set_slot, "fac_player_supporters_faction", slot_faction_culture, "fac_culture_player"),
## ZZ Custom Kingdom Troops end
Devamını yorum olarak yazıcam
build modulede ilk build ettiğinizde bir hata vericek tekrar build edin hata vermeyecektir
buradaki dosyaları ise modunuzda gerekli yerlere atın