[Ders]OSP Türkçe Çevirileri [Yetenekler]

Users who are viewing this thread

Bu kod çoğu modda olan kalkanla vurma özelliğini ekler.

Kodun Sahibi : xenoargh

Kullanmak için ona teşekkür etmelisiniz.

Bu kodu module_scripts'de en alta ekleyin.

Code:
#Shield Bash Script  
("shield_bash",[  
(this_or_next|multiplayer_is_server),
(neg|game_in_multiplayer_mode),	
(get_player_agent_no,":player_agent"),
(try_begin),
(gt, ":player_agent", 0),
(agent_get_animation, ":anim", ":player_agent",0),
(agent_get_horse, ":my_horse", ":player_agent"),
(agent_get_wielded_item, ":shield_item", ":player_agent", 1),
(try_begin),
	(neq, ":anim", "anim_shield_bash"),
	(eq, ":my_horse", -1),
	(is_between, ":shield_item", "itm_wooden_shield", "itm_steel_shield_herald03"),
	(agent_set_animation, ":player_agent","anim_shield_bash"),
	(agent_get_position, pos63,":player_agent"),
	(position_move_y,pos63,75),#75 cm directly ahead, so it's not a cuboid space around player center
	(agent_get_troop_id, ":id", ":player_agent"),
	(troop_get_type, ":type", ":id"),
	(try_begin),
		(eq, ":type", tf_male),
		(agent_play_sound, ":player_agent", "snd_man_yell"),
	(else_try),
		(agent_play_sound, ":player_agent", "snd_woman_yell"),		
	(try_end),
	(try_for_agents,":agent"),
		(gt, ":agent", 0),
		(neg|agent_is_ally,":agent"),#don't bash allies
		(agent_is_human, ":agent"),#stop if not human			
		(agent_is_active,":agent"),
		(agent_is_alive,":agent"),
		(try_begin),
			(agent_get_position,pos62,":agent"),
			(get_distance_between_positions,":dist",pos63,pos62),		
			(lt,":dist",100),#Set this to whatever you like- 1 meter radius clears a big section of crowd
			(agent_get_horse, ":horse", ":agent"),
			(eq, ":horse", -1),	
			(neq,":agent",":player_agent"),	
			(agent_play_sound, ":player_agent", "snd_wooden_hit_low_armor_high_damage"),				
			(position_move_y,pos62,-25),			
			(agent_set_position, ":agent", pos62),
			(agent_set_animation, ":agent","anim_shield_strike"),			
		(try_end),
	(try_end),
(try_end),
(try_end),
]),  
#End Shield Bash Script

(is_between, ":shield_item", "itm_wooden_shield", "itm_steel_shield_herald03"),

module_scripts'deki bu kodda wooden_shield ve steel_shield_herald03 kalkanları arasında özellik kullanacağını belirtir.

steel_shield_herald03 yerine module_items'de en sondaki kalkanı ekleyin.

Sıra module_mission_templates'de şu kodu aratın.

Code:
pilgrim_disguise = [itm_pilgrim_hood,itm_pilgrim_disguise,itm_practice_staff, itm_throwing_daggers]
af_castle_lord = af_override_horse | af_override_weapons| af_require_civilian

Altına

Code:
common_shield_bash = (0,0,0,[
(game_key_is_down, gk_defend),(game_key_clicked, gk_attack),
(neg|main_hero_fallen),
],
[
(call_script, "script_shield_bash"),
])

bunu ekleyin.

Önemli Not : Yine module_mission_templates'de bazı mission triggerlarına şunu eklemelisiniz.

Code:
common_shield_bash,

Sonra module_animations'da aratın.

Code:
 ["unused_horse_anim_100", 0, 0, [1.0, "anim_horse", 0, 1, 0]],

altına ekleyin.

Code:
["shield_bash", 0, amf_play|amf_priority_defend|amf_use_defend_speed|amf_client_owner_prediction, 
[0.75, "shield_bash", 1, 50, blend_in_defense], #Adjust duration for balance.  Currently at 0.75 seconds, fixed.
],
 ["shield_strike", acf_enforce_all|acf_align_with_ground, amf_priority_striked|amf_play|amf_accurate_body|amf_restart,
	[1.0, "anim_human", blow+5000, blow+5010, arf_blend_in_3|arf_make_custom_sound],  
	[1.7, "anim_human", blow+5400, blow+5453, arf_blend_in_2|arf_make_custom_sound], 
	[1.44, "anim_human", blow+5400, blow+5445, arf_blend_in_2|arf_make_custom_sound],   
   ],

Son olarak şu linkteki dosyayı indirin.

Modunuzun Resource kısmına atın ve module.ini'ye şunu ekleyin.

Code:
load_mod_resource = shield_bash_anim

Artık mouse'un sağ tıkıyla sol tıkına basınca kalkanla vuracaktır.
 
Bu kod herhangi bir savaşta dost,düşman,tarafsız herkese yardım etme olanağı sağlar.

Kodun Sahibi : NaglFaar

Kullanmak için ona teşekkür etmelisiniz.

module_game_menuste aratın.

Code:
("pre_join_help_attackers",[

Şöyle 2 tane menü olacak alt alta.

Code:
      ("pre_join_help_attackers",[
          (store_faction_of_party, ":attacker_faction", "$g_encountered_party_2"),
          (store_relation, ":attacker_relation", ":attacker_faction", "fac_player_supporters_faction"),
          (store_faction_of_party, ":defender_faction", "$g_encountered_party"),
          (store_relation, ":defender_relation", ":defender_faction", "fac_player_supporters_faction"),
          (ge, ":attacker_relation", 0),
          (lt, ":defender_relation", 0),
          ],
          "Move in to help the {s2}.",[
              (select_enemy,0),
              (assign,"$g_enemy_party","$g_encountered_party"),
              (assign,"$g_ally_party","$g_encountered_party_2"),
              (jump_to_menu,"mnu_join_battle")]),
      ("pre_join_help_defenders",[
          (store_faction_of_party, ":attacker_faction", "$g_encountered_party_2"),
          (store_relation, ":attacker_relation", ":attacker_faction", "fac_player_supporters_faction"),
          (store_faction_of_party, ":defender_faction", "$g_encountered_party"),
          (store_relation, ":defender_relation", ":defender_faction", "fac_player_supporters_faction"),
          (ge, ":defender_relation", 0),
          (lt, ":attacker_relation", 0),
          ],
          "Rush to the aid of the {s1}.",[
              (select_enemy,1),
              (assign,"$g_enemy_party","$g_encountered_party_2"),
              (assign,"$g_ally_party","$g_encountered_party"),
              (jump_to_menu,"mnu_join_battle")]),

O kodları şu şekilde değiştirin.

Code:
      ("pre_join_help_attackers",[
          #(store_faction_of_party, ":attacker_faction", "$g_encountered_party_2"),
          #(store_relation, ":attacker_relation", ":attacker_faction", "fac_player_supporters_faction"),
          #(store_faction_of_party, ":defender_faction", "$g_encountered_party"),
          #(store_relation, ":defender_relation", ":defender_faction", "fac_player_supporters_faction"),
          # (ge, ":attacker_relation", 0),
          # (lt, ":defender_relation", 0),
          ],
          "Move in to help the {s2}.",[
              (select_enemy,0),
              (assign,"$g_enemy_party","$g_encountered_party"),
              (assign,"$g_ally_party","$g_encountered_party_2"),
              (jump_to_menu,"mnu_join_battle")]),

      ("pre_join_help_defenders",[
          #(store_faction_of_party, ":attacker_faction", "$g_encountered_party_2"),
          #(store_relation, ":attacker_relation", ":attacker_faction", "fac_player_supporters_faction"),
          #(store_faction_of_party, ":defender_faction", "$g_encountered_party"),
          #(store_relation, ":defender_relation", ":defender_faction", "fac_player_supporters_faction"),
          # (ge, ":defender_relation", 0),
          # (lt, ":attacker_relation", 0),
          ],
          "Rush to the aid of the {s1}.",[
              (select_enemy,1),
              (assign,"$g_enemy_party","$g_encountered_party_2"),
              (assign,"$g_ally_party","$g_encountered_party"),
              (jump_to_menu,"mnu_join_battle")]),

Bitmiştir.  :smile:
 
Bu kod handa 2 tane paralı asker olmasını sağlıyor.

Kodun Sahibi : Totenkopf900

Kullanmak için ona teşekkür etmelisiniz.

Başlayalım.

module_constans'da aratın.

Code:
slot_center_mercenary_troop_type  = 90
slot_center_mercenary_troop_amount = 91

Altına bunu ekleyin.

Code:
slot_center_mercenary_troop_type_2 = 901 #use another number if this one is already being used
slot_center_mercenary_troop_amount_2 = 902 #use another number if this one is already being used

module_dialogs'ta aratın.

Code:
#Tavern Talk (with troops)

Orda şöyle bir kod grubu olacak.

Code:
#Tavern Talk (with troops)

  [anyone, "start", [
                     (eq, "$talk_context", tc_tavern_talk),
					 (neg|troop_is_hero, "$g_talk_troop"),
                     (neg|is_between, "$g_talk_troop", "trp_swadian_merchant", "trp_startup_merchants_end"),
                     (party_get_slot, ":mercenary_troop", "$g_encountered_party", slot_center_mercenary_troop_type),
                     (party_get_slot, ":mercenary_amount", "$g_encountered_party", slot_center_mercenary_troop_amount),
                     (gt, ":mercenary_amount", 0),
                     (store_sub, reg3, ":mercenary_amount", 1),
                     (store_sub, reg4, reg3, 1),
                     (call_script, "script_game_get_join_cost", ":mercenary_troop"),
                     (assign, ":join_cost", reg0),
                     (store_mul, reg5, ":mercenary_amount", reg0),
                     (party_get_free_companions_capacity, ":free_capacity", "p_main_party"),
                     (val_min, ":mercenary_amount", ":free_capacity"),
                     (store_troop_gold, ":cur_gold", "trp_player"),
                     (try_begin),
                       (gt, ":join_cost", 0),
                       (val_div, ":cur_gold", ":join_cost"),
                       (val_min, ":mercenary_amount", ":cur_gold"),
                     (try_end),
                     (assign, "$temp", ":mercenary_amount"),
                     ],
   "Do you have a need for mercenaries, {sir/madam}?\
 {reg3?Me and {reg4?{reg3} of my mates:one of my mates} are:I am} looking for a master.\
 We'll join you for {reg5} denars.", "mercenary_tavern_talk", []],

  [anyone, "start", [
  (eq, "$talk_context", tc_tavern_talk),
  ],
   "Any orders, {sir/madam}?", "mercenary_after_recruited", []],

  [anyone|plyr, "mercenary_after_recruited", [],
   "Make your preparations. We'll be moving at dawn.", "mercenary_after_recruited_2", []],
  [anyone|plyr, "mercenary_after_recruited", [],
   "Take your time. We'll be staying in this town for a while.", "mercenary_after_recruited_2", []],

  [anyone, "mercenary_after_recruited_2", [], "Yes {sir/madam}. We'll be ready when you tell us to leave.", "close_window", []],

  [anyone|plyr, "mercenary_tavern_talk", [(party_get_slot, ":mercenary_amount", "$g_encountered_party", slot_center_mercenary_troop_amount),
                                          (eq, ":mercenary_amount", "$temp"),
                                          (party_get_slot, ":mercenary_troop", "$g_encountered_party", slot_center_mercenary_troop_type),
                                          (call_script, "script_game_get_join_cost", ":mercenary_troop"),
                                          (store_mul, reg5, "$temp", reg0),                                          
                                          ],
   "All right. I will hire all of you. Here is {reg5} denars.", "mercenary_tavern_talk_hire", []],

  [anyone|plyr, "mercenary_tavern_talk", [(party_get_slot, ":mercenary_amount", "$g_encountered_party", slot_center_mercenary_troop_amount),
                                          (lt, "$temp", ":mercenary_amount"),
                                          (gt, "$temp", 0),
                                          (assign, reg6, "$temp"),
                                          (party_get_slot, ":mercenary_troop", "$g_encountered_party", slot_center_mercenary_troop_type),
                                          (call_script, "script_game_get_join_cost", ":mercenary_troop"),
                                          (store_mul, reg5, "$temp", reg0),
                                          ],
   "All right. But I can only hire {reg6} of you. Here is {reg5} denars.", "mercenary_tavern_talk_hire", []],


  [anyone, "mercenary_tavern_talk_hire", [(store_random_in_range, ":rand", 0, 4),
                                          (try_begin),
                                            (eq, ":rand", 0),
                                            (gt, "$temp", 1),
                                            (str_store_string, s17,
                                             "@You chose well, {sir/madam}. My lads know how to keep their word and earn their pay."),
                                          (else_try),
                                            (eq, ":rand", 1), 
                                            (str_store_string, s17,
                                             "@Well done, {sir/madam}. Keep the money and wine coming our way, and there's no foe in Calradia you need fear."),
                                          (else_try),
                                            (eq, ":rand", 2), 
                                            (str_store_string, s17,
                                             "@We are at your service, {sir/madam}. Point us in the direction of those who need hurting, and we'll do the rest."),
                                          (else_try),
                                            (str_store_string, s17,
                                             "str_you_will_not_be_disappointed_sirmadam_you_will_not_find_better_warriors_in_all_calradia"),
                                          (try_end),],
   "{s17}", "close_window", [
                                          (party_get_slot, ":mercenary_troop", "$g_encountered_party", slot_center_mercenary_troop_type),
                                          (call_script, "script_game_get_join_cost", ":mercenary_troop"),
                                          (store_mul, ":total_cost", "$temp", reg0),
                                          (troop_remove_gold, "trp_player", ":total_cost"),
                                          (party_add_members, "p_main_party", ":mercenary_troop", "$temp"),
                                          (party_set_slot, "$g_encountered_party", slot_center_mercenary_troop_amount, 0),
                                          ]],

  [anyone|plyr, "mercenary_tavern_talk", [(eq, "$temp", 0),
                                          (party_get_free_companions_capacity, ":free_capacity", "p_main_party"),
                                          (ge, ":free_capacity", 1)],
   "That sounds good. But I can't afford to hire any more men right now.", "tavern_mercenary_cant_lead", []],
  
  [anyone, "tavern_mercenary_cant_lead", [], "That's a pity. Well, {reg3?we will:I will} be lingering around here for a while,\
 if you need to hire anyone.", "close_window", []],
  
  [anyone|plyr, "mercenary_tavern_talk", [(eq, "$temp", 0),
                                          (party_get_free_companions_capacity, ":free_capacity", "p_main_party"),
                                          (eq, ":free_capacity", 0)],
   "That sounds good. But I can't lead any more men right now.", "tavern_mercenary_cant_lead", []],


  [anyone|plyr, "mercenary_tavern_talk", [],
   "Sorry. I don't need any other men right now.", "close_window", []],


O kod grubunu şununla değiştirin.

Code:
#Tavern Talk (with troops)

  [anyone, "start", [
                     (eq, "$talk_context", tc_tavern_talk),
					 (neg|troop_is_hero, "$g_talk_troop"),
                     (neg|is_between, "$g_talk_troop", "trp_swadian_merchant", "trp_startup_merchants_end"),
					 (assign, ":mercenary_amount", -1),
                     #(party_get_slot, ":mercenary_troop", "$g_encountered_party", slot_center_mercenary_troop_type),
                     #(party_get_slot, ":mercenary_amount", "$g_encountered_party", slot_center_mercenary_troop_amount),
                     (try_begin),                                            #Extra mercenaries in tavern
						 (party_get_slot, ":mercenary_troop", "$g_encountered_party", slot_center_mercenary_troop_type),
						 (eq, "$g_talk_troop", ":mercenary_troop"),
						 (party_get_slot, ":mercenary_amount", "$g_encountered_party", slot_center_mercenary_troop_amount),
                     (else_try),
						(party_get_slot, ":mercenary_troop", "$g_encountered_party", slot_center_mercenary_troop_type_2),
						(eq, "$g_talk_troop", ":mercenary_troop"),
						(party_get_slot, ":mercenary_amount", "$g_encountered_party", slot_center_mercenary_troop_amount_2),
                     (try_end),                                              #Tavern end
                     (gt, ":mercenary_amount", 0),
                     (store_sub, reg3, ":mercenary_amount", 1),
                     (store_sub, reg4, reg3, 1),
                     (call_script, "script_game_get_join_cost", ":mercenary_troop"),
                     (assign, ":join_cost", reg0),
                     (store_mul, reg5, ":mercenary_amount", reg0),
                     (party_get_free_companions_capacity, ":free_capacity", "p_main_party"),
                     (val_min, ":mercenary_amount", ":free_capacity"),
                     (store_troop_gold, ":cur_gold", "trp_player"),
                     (try_begin),
                       (gt, ":join_cost", 0),
                       (val_div, ":cur_gold", ":join_cost"),
                       (val_min, ":mercenary_amount", ":cur_gold"),
                     (try_end),
                     (assign, "$temp", ":mercenary_amount"),
                     ],
   "Do you have a need for mercenaries, {sir/madam}?\
 {reg3?Me and {reg4?{reg3} of my mates:one of my mates} are:I am} looking for a master.\
 We'll join you for {reg5} denars.", "mercenary_tavern_talk", []],

  [anyone, "start", [
  (eq, "$talk_context", tc_tavern_talk),
  ],
   "Any orders, {sir/madam}?", "mercenary_after_recruited", []],

  [anyone|plyr, "mercenary_after_recruited", [],
   "Make your preparations. We'll be moving at dawn.", "mercenary_after_recruited_2", []],
  [anyone|plyr, "mercenary_after_recruited", [],
   "Take your time. We'll be staying in this town for a while.", "mercenary_after_recruited_2", []],

  [anyone, "mercenary_after_recruited_2", [], "Yes {sir/madam}. We'll be ready when you tell us to leave.", "close_window", []],

  [anyone|plyr, "mercenary_tavern_talk", [(try_begin),     #More Mercaneries Tavern
                                          (party_get_slot, ":mercenary_troop", "$g_encountered_party", slot_center_mercenary_troop_type),
                                          (eq, "$g_talk_troop", ":mercenary_troop"),                     
                                          (party_get_slot, ":mercenary_amount", "$g_encountered_party", slot_center_mercenary_troop_amount),
                                          (else_try),
                                          (party_get_slot, ":mercenary_troop", "$g_encountered_party", slot_center_mercenary_troop_type_2),
                                          (party_get_slot, ":mercenary_amount", "$g_encountered_party", slot_center_mercenary_troop_amount_2),
                                          (try_end),
                                          (eq, ":mercenary_amount", "$temp"),
                                         #(party_get_slot, ":mercenary_troop", "$g_encountered_party", slot_center_mercenary_troop_type),
                                          (call_script, "script_game_get_join_cost", ":mercenary_troop"),
                                          (store_mul, reg5, "$temp", reg0), #Tavern End
                                          ],
   "All right. I will hire all of you. Here is {reg5} denars.", "mercenary_tavern_talk_hire", []],

  [anyone|plyr, "mercenary_tavern_talk", [(try_begin),     #More Mercaneries Tavern
                                          (party_get_slot, ":mercenary_troop", "$g_encountered_party", slot_center_mercenary_troop_type),
                                          (eq, "$g_talk_troop", ":mercenary_troop"),                     
                                          (party_get_slot, ":mercenary_amount", "$g_encountered_party", slot_center_mercenary_troop_amount),
                                          (else_try),
                                          (party_get_slot, ":mercenary_troop", "$g_encountered_party", slot_center_mercenary_troop_type_2),
                                          (party_get_slot, ":mercenary_amount", "$g_encountered_party", slot_center_mercenary_troop_amount_2),
                                          (try_end),
                                          (lt, "$temp", ":mercenary_amount"),
                                          (gt, "$temp", 0),
                                          (assign, reg6, "$temp"),
                                          #(party_get_slot, ":mercenary_troop", "$g_encountered_party", slot_center_mercenary_troop_type),
                                          (call_script, "script_game_get_join_cost", ":mercenary_troop"),
                                          (store_mul, reg5, "$temp", reg0),
                                          ],
   "All right. But I can only hire {reg6} of you. Here is {reg5} denars.", "mercenary_tavern_talk_hire", []],
  

  [anyone, "mercenary_tavern_talk_hire", [(store_random_in_range, ":rand", 0, 4),
                                          (try_begin),
                                            (eq, ":rand", 0),
                                            (gt, "$temp", 1),
                                            (str_store_string, s17,
                                             "@You chose well, {sir/madam}. My lads know how to keep their word and earn their pay."),
                                          (else_try),
                                            (eq, ":rand", 1), 
                                            (str_store_string, s17,
                                             "@Well done, {sir/madam}. Keep the money and wine coming our way, and there's no foe in Calradia you need fear."),
                                          (else_try),
                                            (eq, ":rand", 2), 
                                            (str_store_string, s17,
                                             "@We are at your service, {sir/madam}. Point us in the direction of those who need hurting, and we'll do the rest."),
                                          (else_try),
                                            (str_store_string, s17,
                                             "str_you_will_not_be_disappointed_sirmadam_you_will_not_find_better_warriors_in_all_calradia"),
                                          (try_end),],
   "{s17}", "close_window", [
#                                          (party_get_slot, ":mercenary_troop", "$g_encountered_party", slot_center_mercenary_troop_type),
                                          (try_begin),     #More Mercaneries Tavern
                                          (party_get_slot, ":mercenary_troop", "$g_encountered_party", slot_center_mercenary_troop_type),
                                          (eq, "$g_talk_troop", ":mercenary_troop"),                     
                                          (assign, ":slot", slot_center_mercenary_troop_amount),
                                          (else_try),
                                          (party_get_slot, ":mercenary_troop", "$g_encountered_party", slot_center_mercenary_troop_type_2),
                                          (assign, ":slot", slot_center_mercenary_troop_amount_2),
                                          (try_end),
                                          (call_script, "script_game_get_join_cost", ":mercenary_troop"),
                                          (store_mul, ":total_cost", "$temp", reg0),
                                          (troop_remove_gold, "trp_player", ":total_cost"),
                                          (party_add_members, "p_main_party", ":mercenary_troop", "$temp"),
#                                          (party_set_slot, "$g_encountered_party", slot_center_mercenary_troop_amount, 0),
										  (party_set_slot, "$g_encountered_party", ":slot", 0),
                                          ]],

  [anyone|plyr, "mercenary_tavern_talk", [(eq, "$temp", 0),
                                          (party_get_free_companions_capacity, ":free_capacity", "p_main_party"),
                                          (ge, ":free_capacity", 1)],
##diplomacy start+ Gender-check to avoid accidental absurdities if there are female mercenaries
   "That sounds good. But I can't afford to hire any more {reg65?soldiers:men} right now.", "tavern_mercenary_cant_lead", []],
##diplomacy end+

  [anyone, "tavern_mercenary_cant_lead", [], "That's a pity. Well, {reg3?we will:I will} be lingering around here for a while,\
 if you need to hire anyone.", "close_window", []],

  [anyone|plyr, "mercenary_tavern_talk", [(eq, "$temp", 0),
                                          (party_get_free_companions_capacity, ":free_capacity", "p_main_party"),
                                          (eq, ":free_capacity", 0)],
##diplomacy start+ Gender-check to avoid accidental absurdities if there are female mercenaries
   "That sounds good. But I can't lead any more {reg65?soldiers:men} right now.", "tavern_mercenary_cant_lead", []],
##diplomacy end+

  [anyone|plyr, "mercenary_tavern_talk", [],
   "Sorry. I don't need any other men right now.", "close_window", []],

module_scripts'de aratın.

Code:
#script_update_mercenary_units_of_towns

Şöyle bir kod grubu olacak.

Code:
  #script_update_mercenary_units_of_towns
  # INPUT: none
  # OUTPUT: none
  ("update_mercenary_units_of_towns",
    [(try_for_range, ":town_no", towns_begin, towns_end),
      (store_random_in_range, ":troop_no", mercenary_troops_begin, mercenary_troops_end),
      (party_set_slot, ":town_no", slot_center_mercenary_troop_type, ":troop_no"),
      (store_random_in_range, ":amount", 3, 8),
      (party_set_slot, ":town_no", slot_center_mercenary_troop_amount, ":amount"),
    (try_end),
     ]),

O kod grubunu şununla değiştirin.

Code:
  #script_update_mercenary_units_of_towns				
        # INPUT: none
        # OUTPUT: none
        ("update_mercenary_units_of_towns",
          [(try_for_range, ":town_no", towns_begin, towns_end),
			  (store_random_in_range,":troop_no", mercenary_troops_begin, mercenary_troops_end),
              (party_set_slot, ":town_no", slot_center_mercenary_troop_type, ":troop_no"),
              (store_random_in_range, ":amount", 3, 15),#min and max mercs,change as you want
              (party_set_slot, ":town_no", slot_center_mercenary_troop_amount, ":amount"), #This adds a second mercenary to the tavern
              (store_random_in_range, ":troop_no2", mercenary_troops_begin, mercenary_troops_end),
              (party_set_slot, ":town_no", slot_center_mercenary_troop_type_2, ":troop_no2"),
              (store_random_in_range, ":amount2", 3, 15),#min and max mercs,change as you want
              (party_set_slot, ":town_no", slot_center_mercenary_troop_amount_2, ":amount2"),
            (try_end),
        ]),

        ("start_update_mercenary_units_of_towns",
          [(try_for_range, ":town_no", towns_begin, towns_end),
			  (store_random_in_range,":troop_no", mercenary_troops_begin, mercenary_troops_end),
              (party_set_slot, ":town_no", slot_center_mercenary_troop_type, ":troop_no"),
              (store_random_in_range, ":amount", 3, 15),#min and max mercs,change as you want
              (party_set_slot, ":town_no", slot_center_mercenary_troop_amount, ":amount"), #This adds a second mercenary to the tavern	
			  (store_random_in_range, ":troop_no2", mercenary_troops_begin, mercenary_troops_end),
              (party_set_slot, ":town_no", slot_center_mercenary_troop_type_2, ":troop_no2"),
              (store_random_in_range, ":amount2", 3, 15),#min and max mercs,change as you want
              (party_set_slot, ":town_no", slot_center_mercenary_troop_amount_2, ":amount2"),
            (try_end),
        ]),

module_game_menus'te aratın.

Code:
(party_get_slot, ":mercenary_troop", "$current_town", slot_center_mercenary_troop_type),

Şöyle bir kod grubu olacak.

Code:
(party_get_slot, ":mercenary_troop", "$current_town", slot_center_mercenary_troop_type),
             (party_get_slot, ":mercenary_amount", "$current_town", slot_center_mercenary_troop_amount),
             (try_begin),
			   (gt, ":mercenary_troop", 0),
               (gt, ":mercenary_amount", 0),
               (set_visitor, ":cur_entry", ":mercenary_troop"),
               (val_add, ":cur_entry", 1),
             (try_end),

O kod grubunun altına şunu ekleyin.

Code:
(party_get_slot, ":mercenary_troop2", "$current_town", slot_center_mercenary_troop_type_2),  #Adds a menu for the second group of mercenaries in the tavern
             (party_get_slot, ":mercenary_amount2", "$current_town", slot_center_mercenary_troop_amount_2),
             (try_begin),
               (gt, ":mercenary_amount2", 0),
               (gt, ":mercenary_troop2", 0),
               (set_visitor, ":cur_entry", ":mercenary_troop2"),
               (val_add, ":cur_entry", 1),
             (try_end),

Bitmiştir. :smile:
 
Bu şey oyunda kan sayısını arttırır.

Kullanmak için kimseye teşekkür etmenize gerek yok.

module.ini'de aratın.

Code:
fall_damage_multiplier                = 1.5
Altına şunu ekleyin.

Code:
blood_multiplier = 500.0

Not : ordaki 500 sayısını ne kadar arttırırsanız o kadar çok kan olur.Düşürürseniz kan azalır.
 
Çoğu modda olan kafa kesme özelliği.

Kodun Sahibi : Flanged

Kullanmak için ona teşekkür etmelisiniz.
Başlayalım!

module_animations'da aratın.

Code:
 ["unused_horse_anim_100", 0, 0, [1.0, "anim_horse", 0, 1, 0]],

Altına ekleyin.

Code:
 ["handchop", 0, amf_priority_striked|amf_play,
   [1.5, "strikes", 55, 71, arf_blend_in_3], 
 ],

 ["armchop", 0, amf_priority_striked|amf_play,
   [1.6, "strikes", 2284, 2305, arf_blend_in_3], 
 ],

module_items'de

bunun üstüne.

Code:
["items_end", "Items End", [("shield_round_a",0)], 0, 0, 1, 0, 0],

Bunu yapıştırın.

Code:
["invisiblegloves","Invisiblegloves", [("invisiblegloves",0)], itp_type_hand_armor,0, 550, weight(0)|abundance(5)|body_armor(0)|difficulty(0),imodbits_armor],
["looter_bully_handless_body", "Ragged Stolen Brigandine", [("looter_bully_handless_body",0)], itp_type_body_armor |itp_covers_legs |itp_civilian,0, 27 , weight(2)|abundance(5)|head_armor(0)|body_armor(27)|leg_armor(10), imodbits_none ],
["looter_thug_armless_body", "Ragged Cloak", [("looter_thug_armless_body",0)], itp_type_body_armor |itp_covers_legs |itp_civilian,0, 27 , weight(2)|abundance(5)|head_armor(0)|body_armor(27)|leg_armor(10), imodbits_none ],
["thin_looter_armless_body", "Leather Outfit", [("thin_looter_armless_body",0)], itp_type_body_armor |itp_covers_legs |itp_civilian,0, 27 , weight(2)|abundance(5)|head_armor(0)|body_armor(17)|leg_armor(6), imodbits_none ],  
["fat_peasant_handless_body", "Large Peasant Apron", [("fat_peasant_handless_body",0)], itp_type_body_armor |itp_covers_legs |itp_civilian,0, 27 , weight(2)|abundance(5)|head_armor(0)|body_armor(18)|leg_armor(8), imodbits_none ], 
["severedhand", "Severed Hand", [("severedhand",0)], itp_type_shield|itp_wooden_parry, itcf_carry_round_shield, 42 , weight(2)|abundance(50)|hit_points(2)|body_armor(20)|spd_rtng(100)|weapon_length(3),imodbits_none ],
["fatseveredarm", "Severed Arm", [("fatseveredarm",0)], itp_type_shield|itp_wooden_parry, itcf_carry_round_shield, 42 , weight(2)|abundance(50)|hit_points(10)|body_armor(25)|spd_rtng(100)|weapon_length(8),imodbits_none ],  
["severedarm", "Severed Arm", [("severedarm",0)], itp_type_shield|itp_wooden_parry, itcf_carry_round_shield, 42 , weight(2)|abundance(50)|hit_points(3)|body_armor(15)|spd_rtng(100)|weapon_length(8),imodbits_none ],  

["invisible_head", "Headless", [("invalid_item",0)], itp_type_head_armor|itp_covers_head   ,0, 
0 , weight(4)|abundance(0)|head_armor(0)|body_armor(0)|leg_armor(0)|difficulty(0) ,imodbits_plate ],
["cut_off_head_male", "Bloody Male Head", [("cut_off_head_male",0)], itp_type_head_armor|itp_covers_head   ,0, 
0 , weight(4)|abundance(0)|head_armor(0)|body_armor(0)|leg_armor(0)|difficulty(0) ,imodbits_plate ],
["cut_off_head_female", "Bloody Female Head", [("cut_off_head_female",0)], itp_type_head_armor|itp_covers_head   ,0, 
0 , weight(4)|abundance(0)|head_armor(0)|body_armor(0)|leg_armor(0)|difficulty(0) ,imodbits_plate ],


["default_male_no_right_arm", "Your right arm is missing!", [("man_body_right_arm_gone",0)], itp_type_body_armor |itp_covers_legs |itp_civilian,0, 0 , weight(0)|abundance(5)|head_armor(0)|body_armor(0)|leg_armor(0), imodbits_none ], 
["default_male_no_left_arm", "Your left arm is missing!", [("man_body_left_arm_gone",0)], itp_type_body_armor |itp_covers_legs |itp_civilian,0, 0 , weight(0)|abundance(5)|head_armor(0)|body_armor(0)|leg_armor(0), imodbits_none ], 
["default_male_no_arms", "Your arms are missing!", [("man_body_both_arms_gone",0)], itp_type_body_armor |itp_covers_legs |itp_civilian,0, 0 , weight(0)|abundance(5)|head_armor(0)|body_armor(0)|leg_armor(0), imodbits_none ], 


### Body parts END ###


### Debug weapons ###

["supercrossbow", "Semi-Automatic Crossbow", [("crossbow_b",0)], itp_type_crossbow|itp_primary|itp_two_handed|itp_extra_penetration ,itcf_shoot_crossbow|itcf_carry_crossbow_back, 10, weight(3)|abundance(10)|difficulty(0)|spd_rtng(68)|accuracy(240)|shoot_speed(110) | thrust_damage(70 ,  pierce)|max_ammo(30),imodbits_crossbow ],

["super_bolts","Super Bolts", [("bolt",0),("bolt",ixmesh_flying_ammo),("bolt_bag", ixmesh_carry),("bolt_bag_b", ixmesh_carry|imodbit_large_bag)], itp_type_bolts|itp_can_penetrate_shield, itcf_carry_quiver_right_vertical, 10,weight(2)|abundance(5)|weapon_length(63)|thrust_damage(60,pierce)|max_ammo(200),imodbits_missile],

["supersledge", "Power-Sledge", [("maul_b",0)], itp_crush_through|itp_type_two_handed_wpn|itp_bonus_against_shield|itp_can_knock_down|itp_primary|itp_two_handed, itc_nodachi|itcf_carry_spear, 
1000 , weight(10)|spd_rtng(100) | weapon_length(90)|swing_damage(150, blunt) | thrust_damage(0 ,  pierce),imodbits_mace ],

module_mission_templates'de

Code:
pilgrim_disguise = [itm_pilgrim_hood,itm_pilgrim_disguise,itm_practice_staff, itm_throwing_daggers]
af_castle_lord = af_override_horse | af_override_weapons| af_require_civilian

Bunun altına bunu yapıştırın.

Code:
dismemberment_mod_decap = (

# Trigger Param 1: damage inflicted agent_id
# Trigger Param 2: damage dealer agent_id
# Trigger Param 3: inflicted damage
# Register 0: damage dealer item_id
# Position Register 0: position of the blow rotation gives the direction of the blow

ti_on_agent_hit, 0, 0, [],
[
   (store_trigger_param_1, ":victim_agent"),
   (store_trigger_param_2, ":attacker_agent"),
   (store_trigger_param_3, ":damage"),
   
   (assign, ":attacker_item", reg0), ### Transfer the item ID to make sure it dosn't change while the script is running
   (copy_position, pos5, pos0), ### Transfer the position of the hit to make sure it dosn't change while the script is running
   
   (neq, ":victim_agent", -1),
   
   (try_begin), #-- Decapitations --#
      (agent_is_human, ":victim_agent"),
	  (ge, ":attacker_item", 0),
	  
	  
	  (assign, ":run", 0), ### Reset the run test variable
	  (try_begin), ### Special weapons that can decap, ovevrrides the below conditions
		  (this_or_next|eq, ":attacker_item", "itm_supercrossbow"),
		  (eq, ":attacker_item", "itm_supersledge"),
		  (assign, ":run", 1),
	  (else_try),
		  (neq, ":attacker_item", "itm_mace_1"), ### List of weapons that cannot decapitate
		  (neq, ":attacker_item", "itm_mace_2"), ### This would be easier to do with a preperty check (for damage type), but I don't know if that is possible or not
		  (neq, ":attacker_item", "itm_mace_3"),
		  (neq, ":attacker_item", "itm_staff"),
		  
		  (agent_get_action_dir, ":attack_dir", ":attacker_agent"), ### Makes sure the attack is either a left or right swing
		  (this_or_next|eq, ":attack_dir", 1), ### Right swing
		  (eq, ":attack_dir", 2), ### Left swing
		  (assign, ":run", 1),
	  (try_end),
	  (eq, ":run", 1), ### One of the checks were true, continue to run script
	  
	  
	  #(assign, reg1, ":damage"), #Debug messages
	  #(display_message, "@Damage: {reg1}"),
	  
	  (assign, ":run", 0), ### Reset the run test variable
	  (try_begin),
		(ge, ":damage", 30), ### Minimum damage required to decapitate an agent
		(assign, ":run", 1),
		
	  (else_try),  ### If debugging mode is on, this bypasses the damage requirement check
		  (eq,"$g_decapitations_debugging", 1),
		  (assign, ":run", 1),
		  (display_message, "@Decap minimum DMG req bypassed"),
	  (try_end),
	  (eq, ":run", 1),
	  
	  (store_agent_hit_points, ":hp", ":victim_agent", 1),
	  (val_add, ":hp", 10), ### Victim must have the negative of this hp or below after hit for the script to move on (never put this value below 0 since the agent has to be absolutley positvely dead)!
	  (ge, ":damage", ":hp"),
	  
	  
	  ### Compare the hit position to the agent's position
      (agent_get_position, pos4, ":victim_agent"),
      (get_distance_between_positions, ":distance", pos4, pos5), 
	  (agent_get_horse, ":is_mounted", ":victim_agent"),
	  (try_begin), ### If the agent is on horseback, these values are used (note that these values will not be exactly correct if the horse is very large or very small)
		(ge, ":is_mounted", 0), ### Will be -1 if no horse is to be found, so anything above means that the agent is mounted
		(assign, ":min_distance", 240), ### Minimum distance from the agent's horse's hooves from which the hit is valid (240 is an approximate value)
		(assign, ":max_distance", 260), ### Maximum distance from the agent's horse's hooves to which the hit is valid (260 is an approximate value)
	  (else_try),  ### If the agent is on foot, these values are used
	    (assign, ":min_distance", 160), ### Minimum distance from the agent's feet from which the hit is valid (160 = slightly below the neck)
	    (assign, ":max_distance", 176), ### Maximum distance from the agent's feet to which the hit is valid (176 = near the nose)
	  (try_end),
      (is_between, ":distance", ":min_distance", ":max_distance"), ### Check to see if the hit is within the allowed area
	  
	  
	  (assign, ":run", 0), ### Default variable value before damage test
	  (try_begin),
		  (store_div, ":chance", ":damage", 4), ### Chance of decap is damage / 4 right now. Lower this value for higher chances of decapitation (or press M+Right Ctrl for debug more if you just want to test easy decaps in-game).
		  
		  #(assign, reg1, ":chance"), #Debug messages
		  #(display_message, "@Decap chance is: {reg1}"),
		  (store_random_in_range, ":diceroll", 0, 100), ### Randomizer, 0-100
		  
		  #(assign, reg1, ":diceroll"), #Debug messages
		  #(display_message, "@Diceroll: {reg1}"),
		  (le, ":diceroll", ":chance"), ### ":diceroll" must be less than or equal to ":chance", if it is, decapitation occurs!
		  
		  (assign, ":run", 1), ### SUCCESS!
		  
      (else_try),  ### If debugging mode is on, bypass chance calculation
		  (eq,"$g_decapitations_debugging", 1),
		  (assign, ":run", 1),
		  (display_message, "@Decap chance calc bypassed"),
	  (try_end),  
	  (eq, ":run", 1), ### Time for the fun stuff!

	  ### Gender test for spawning the right head type
	  (assign, ":head_type", "itm_cut_off_head_male"),
	  (agent_get_troop_id, ":victim_troop", ":victim_agent"),
	  (try_begin),
	    (ge, ":victim_troop", 0),
		(troop_get_type,":victim_gender",":victim_troop"),
		(eq, ":victim_gender", 1),
		(assign, ":head_type", "itm_cut_off_head_female"),
	  (try_end),
	  
	  ### Randomize the spawned head's and/or helmet's position and orientation
	  (store_random_in_range, ":z_rotation", 0, 360),
	  (store_random_in_range, ":y_rotation", -60, 60),
	  (store_random_in_range, ":x_pos", -90, 90),
	  (store_random_in_range, ":y_pos", -90, 90),
	  (position_rotate_z, pos4,":z_rotation"),
	  (position_rotate_y, pos4,":y_rotation"),
	  (position_move_x, pos4, ":x_pos"),
	  (position_move_y, pos4, ":y_pos"),
	  (position_set_z_to_ground_level, pos4),
	  (position_move_z, pos4, 5),
	  (set_spawn_position, pos4),
	  (assign, ":prunetime", 360), ### This is the time in seconds before the spawned head or helmet gets pruned (removed). Recommended to keep it above 0 to make sure it gets removed eventually or when the scene resets, to prevent performance issues.
	  
	  #(spawn_item, ":head_type", 0, ":prunetime"), ### This is the old way of spawning the head on the ground with the helmet, disabled because of the new dynamic heads. You can comment away (disable) the dynamic heads spawning further down and uncomment this line for a less performance-needing approach (with no physics involved).
	  
	  ### Does the agent have a helmet or hat equipped?
      (agent_get_item_slot, ":item", ":victim_agent", 4), #head slot
      (try_begin),
         (ge, ":item", 1), ### Does it?
         (agent_unequip_item, ":victim_agent", ":item"), ### Yes it does. Unequip it to allow replacement by the invisible helmet further down
		 (try_begin),
			 ### Don't spawn items with "itp_attatch_armature" flag: rigging causes floating bugs
			 ### This would be much better to do with an item flag check, but I haven't found any way to do that
			 #(neq, ":item", "itm_with_itp_attatch_armature"),
			 #(neg|is_between,":item","start_of_itm_range_with_itp_attatch_armature","end_of_itm_range_with_itp_attatch_armature"),
			#(set_spawn_position, pos4),
			(spawn_item, ":item", 0, ":prunetime"), ### Spawns the agent's currently equipped headgear on the dropped head's position
		 (try_end),
      (try_end),
	  
	  (agent_equip_item, ":victim_agent", "itm_invisible_head"), ### Put an invisible helmet on the agent's head to "remove" it
	  
	  
	  (agent_get_position, pos4, ":victim_agent"), ### Refreshes the agent's position
	  (position_move_z, pos4, ":min_distance"), ### Move to the where the neck used to be attached
	  
	  
	  ### Blood effects! The last variable is the strength. Lower or increase it for more/less blood (or tweak the particle effects themselves in "module_particle_systems.py").
      (particle_system_burst, "psys_blood_decapitation", pos4, 40), 
	  (particle_system_burst, "psys_game_blood", pos4, 10),
	  (particle_system_burst, "psys_game_blood_2", pos4, 10),
	  
	  (play_sound_at_position, "snd_decapitation", pos4), ### Play some nasty sounds
	  
	  
	  ### Dynamic head spawning! See the bottom of "module_scene_props.py" for physics-related options and more.
	  (position_move_z, pos4, 20),
	  (set_spawn_position, pos4),
	  (assign, ":head_type", "spr_head_dynamic_male"),
	  (try_begin), ### Gender check (for determening the type of head)
		(eq, ":victim_gender", 1),
		(assign, ":head_type", "spr_head_dynamic_female"),
	  (try_end),
	  (spawn_scene_prop, ":head_type"),
	  
	  

	  ### This below is for the text that shows up when somebody is decapitated.
	  
	  ### Who decapitated who?
		(agent_get_troop_id, ":attacker_troop", ":attacker_agent"),
		(str_store_troop_name, s0, ":attacker_troop"),

		(agent_get_troop_id, ":victim_troop", ":victim_agent"),
		(str_store_troop_name, s1, ":victim_troop"),

	  
	  ### Colour check (friend or foe?)
	  (get_player_agent_no, ":my_agent"),
	  (agent_get_team, ":my_team", ":my_agent"),
	  (agent_get_team, ":victim_team", ":victim_agent"),
	  (try_begin), ### Display it!
		  (neq, ":my_team", ":victim_team"),
		  (display_message, "@>>> {s0} decapitated {s1}!", 0xFF33DD11), ## Green
	  (else_try),
		  (display_message, "@>>> {s0} decapitated {s1}!", 0xFFFF4422), ## Red
	  (try_end),
   (try_end), #-- Decapitations END --#
   
   ])

   
###_______________________________________________________________________________________
###
### Dismemberment mod: Handchops
###


dismemberment_mod_hands1 = (

      #Dismemberment of Hands
1, 0, 0, [
      (store_mission_timer_a,":cur_time"),
      (ge, ":cur_time", 5), #this gives them time to make sure they equip their 'shield
], [
   (try_for_agents, ":cur_agent"),
      (agent_is_human, ":cur_agent"),
      (agent_is_alive, ":cur_agent"),
   
      (agent_get_troop_id, ":troop", ":cur_agent"),
      (eq, ":troop", "trp_looter_bully_handless"), #make sure this is the name of the troop
   
      (agent_get_wielded_item,":item",":cur_agent",1),
      (neq, ":item", "itm_severedhand"), #make sure this is the name of the item (their arm)
      (store_agent_hit_points, ":hp", ":cur_agent", 0), #percent
      (val_mul, ":hp", 8), #get 40% of original hp
      (val_div, ":hp", 7), #change if you want
      (agent_set_hit_points, ":cur_agent", ":hp", 0), #again, 0 param = relative
      (get_player_agent_no, ":player"),
      (agent_deliver_damage_to_agent, ":player", ":cur_agent", 1), #param 1 = deal dmg with weapon - usually insta-kills
      #you can make a new agent called "Bleeding" equipped with a 1-dmg wpn and use that instead of the player agent
      (agent_get_position, pos1, ":cur_agent"),
      (position_move_z, pos1, 85), #makes the blood higher, otherwise it's on ground level
         (position_move_x, pos1, -32), #makes the blood out from the torso towards the arm stump
         (position_move_y, pos1, 16), #makes the blood come out severed stump
         (position_rotate_x, pos1, -70), #makes the blood spurt downwards 
         (particle_system_burst, "psys_game_blood_2", pos1, 80), #100 as power.
      (agent_set_animation, ":cur_agent", "anim_handchop"),
   (try_end),
   
   ])

#-----------------------------------------------------------

dismemberment_mod_hands2 = (

1, 0, 0, [
      (store_mission_timer_a,":cur_time"),
      (ge, ":cur_time", 5), #this gives them time to make sure they equip their 'shield
], [
   (try_for_agents, ":cur_agent"),
      (agent_is_human, ":cur_agent"),
      (agent_is_alive, ":cur_agent"),
   
      (agent_get_troop_id, ":troop", ":cur_agent"),
      (eq, ":troop", "trp_fat_peasant_handless"), #make sure this is the name of the troop
   
      (agent_get_wielded_item,":item",":cur_agent",1),
      (neq, ":item", "itm_severedhand"), #make sure this is the name of the item (their arm)
      (store_agent_hit_points, ":hp", ":cur_agent", 0), #percent
      (val_mul, ":hp", 8), #get 40% of original hp
      (val_div, ":hp", 7), #change if you want
      (agent_set_hit_points, ":cur_agent", ":hp", 0), #again, 0 param = relative
      (get_player_agent_no, ":player"),
      (agent_deliver_damage_to_agent, ":player", ":cur_agent", 1), #param 1 = deal dmg with weapon - usually insta-kills
      #you can make a new agent called "Bleeding" equipped with a 1-dmg wpn and use that instead of the player agent
      (agent_get_position, pos1, ":cur_agent"),
      (position_move_z, pos1, 85), #makes the blood higher, otherwise it's on ground level
         (position_move_x, pos1, -32), #makes the blood out from the torso towards the arm stump
         (position_move_y, pos1, 16), #makes the blood come out severed stump
         (position_rotate_x, pos1, -70), #makes the blood spurt downwards 
         (particle_system_burst, "psys_game_blood_2", pos1, 80), #100 as power.
      (agent_set_animation, ":cur_agent", "anim_handchop"),
   (try_end),
   
   ])
   
#-----------------------------------------------------------       


###_______________________________________________________________________________________
###
### Dismemberment mod: Armchops
###


dismemberment_mod_arms1 = (

#Dismemberment of Arms
1, 0, 0, [
      (store_mission_timer_a,":cur_time"),
      (ge, ":cur_time", 5), #this gives them time to make sure they equip their 'shield
], [
   (try_for_agents, ":cur_agent"),
      (agent_is_human, ":cur_agent"),
      (agent_is_alive, ":cur_agent"),
   
      (agent_get_troop_id, ":troop", ":cur_agent"),
      (eq, ":troop", "trp_looter_thug_armless"), #make sure this is the name of the troop
   
      (agent_get_wielded_item,":item",":cur_agent",1),
      (neq, ":item", "itm_fatseveredarm"), #make sure this is the name of the item (their arm)
      (store_agent_hit_points, ":hp", ":cur_agent", 0), #percent
      (val_mul, ":hp", 6), #get 40% of original hp
      (val_div, ":hp", 7), #change if you want
      (agent_set_hit_points, ":cur_agent", ":hp", 0), #again, 0 param = relative
      (get_player_agent_no, ":player"),
      (agent_deliver_damage_to_agent, ":player", ":cur_agent", 1), #param 1 = deal dmg with weapon - usually insta-kills
      #you can make a new agent called "Bleeding" equipped with a 1-dmg wpn and use that instead of the player agent
      (agent_get_position, pos1, ":cur_agent"),
      (position_move_z, pos1, 103), #makes the blood higher, otherwise it's on ground level
         (position_move_x, pos1, -35), #makes the blood out from the torso towards the arm stump
         (position_move_y, pos1, -10), #makes the blood come out severed stump
         (position_rotate_x, pos1, -90), #makes the blood spurt downwards 
         (particle_system_burst, "psys_game_blood_2", pos1, 100), #100 as power.
         (agent_set_animation, ":cur_agent", "anim_armchop"),
   (try_end),
   
   ])

#------------------------------------------------------------


dismemberment_mod_arms2 = (

1, 0, 0, [
      (store_mission_timer_a,":cur_time"),
      (ge, ":cur_time", 5), #this gives them time to make sure they equip their 'shield
], [
   (try_for_agents, ":cur_agent"),
      (agent_is_human, ":cur_agent"),
      (agent_is_alive, ":cur_agent"),
   
      (agent_get_troop_id, ":troop", ":cur_agent"),
      (eq, ":troop", "trp_thin_looter_armless"), #make sure this is the name of the troop
   
      (agent_get_wielded_item,":item",":cur_agent",1),
      (neq, ":item", "itm_severedarm"), #make sure this is the name of the item (their arm)
      (store_agent_hit_points, ":hp", ":cur_agent", 0), #percent
      (val_mul, ":hp", 6), #get 40% of original hp
      (val_div, ":hp", 7), #change if you want
      (agent_set_hit_points, ":cur_agent", ":hp", 0), #again, 0 param = relative
      (get_player_agent_no, ":player"),
      (agent_deliver_damage_to_agent, ":player", ":cur_agent", 1), #param 1 = deal dmg with weapon - usually insta-kills
      #you can make a new agent called "Bleeding" equipped with a 1-dmg wpn and use that instead of the player agent
      (agent_get_position, pos1, ":cur_agent"),
      (position_move_z, pos1, 103), #makes the blood higher, otherwise it's on ground level
         (position_move_x, pos1, -35), #makes the blood out from the torso towards the arm stump
         (position_move_y, pos1, -10), #makes the blood come out severed stump
         (position_rotate_x, pos1, -90), #makes the blood spurt downwards 
         (particle_system_burst, "psys_game_blood_2", pos1, 100), #100 as power.
         (agent_set_animation, ":cur_agent", "anim_armchop"),
   (try_end),
   
   ])
#------------------------------------------------------------
      
#END Arm Dismemberment    


###_______________________________________________________________________________________
###
### Dismemberment mod: Hotkeys
###

dismemberment_mod_hotkeys = (

	0, 0, 1, [(key_clicked, key_right_control)],
  [
   (try_begin), ### Deug mode on/off
		(key_is_down, key_m),
		(try_begin),
			(eq, "$g_decapitations_debugging", 0),
			(assign, "$g_decapitations_debugging", 1),
			(display_message, "@Decapitation debug mode Enabled"),
		(else_try),
			(assign, "$g_decapitations_debugging", 0),
			(display_message, "@Decapitation debug mode Disabled"),
		(try_end),
	(try_end),
	
	(try_begin), ### Spawn dismemeberable enemies
		(key_is_down, key_k),
		
		(get_player_agent_no, ":player_agent"),
		(agent_get_position, pos17, ":player_agent"),
		
		(position_move_y, pos17, 2000),
		
		(position_set_z_to_ground_level, pos17),
		(set_spawn_position, pos17),
		(spawn_agent, "trp_looter_bully_handless"),
		(agent_set_team, reg0, 2),
		
		(position_move_y, pos17, 100),
		(position_set_z_to_ground_level, pos17),
		(set_spawn_position, pos17),
		(spawn_agent, "trp_looter_thug_armless"),
		(agent_set_team, reg0, 2),
		
		(position_move_y, pos17, 100),
		(position_set_z_to_ground_level, pos17),
		(set_spawn_position, pos17),
		(spawn_agent, "trp_thin_looter_armless"),
		(agent_set_team, reg0, 2),
		
		(position_move_y, pos17, 100),
		(position_set_z_to_ground_level, pos17),
		(set_spawn_position, pos17),
		(spawn_agent, "trp_fat_peasant_handless"),
		(agent_set_team, reg0, 2),
	(try_end),
	
	(try_begin), ### Spawn superweapons
		(key_is_down, key_j),
		
		(get_player_agent_no, ":player_agent"),
		(agent_get_position, pos18, ":player_agent"),
		
		(set_spawn_position, pos18),
		(spawn_item, "itm_supersledge"),
		(position_move_x, pos18, 50),
		(position_set_z_to_ground_level, pos18),
		(set_spawn_position, pos18),
		(spawn_item, "itm_supercrossbow"),
		(position_move_x, pos18, 50),
		(position_set_z_to_ground_level, pos18),
		(set_spawn_position, pos18),
		(spawn_item, "itm_super_bolts"),
	(try_end),
	
   ])

Not : Bu kodlarıda mission_templates'de savaş triggerlarına eklmelisiniz.

Code:
 dismemberment_mod_decap,
 dismemberment_mod_hands1,
 dismemberment_mod_hands2,
 dismemberment_mod_arms1,
 dismemberment_mod_arms2,
 dismemberment_mod_hotkeys,

Bu koduda module_particle_systems'de en alta yapıştırın.

Code:
	("blood_decapitation", psf_billboard_3d|psf_global_emit_dir|psf_randomize_size|psf_randomize_rotation,  "prt_mesh_blood_3", 
     230, 2, 0.07, 1.0, 8, 11,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.0, 0.6), (0.3, 0.6),          #alpha keys
     (0.1, 0.4), (1, 0.5),      #red keys
     (0.1, 0.4), (1, 0.5),       #green keys
     (0.1, 0.4), (1, 0.5),      #blue keys
     (0.1, 0.20),   (1, 1.5),    #scale keys
     (0.05, 0.05, 0.0),           #emit box size
     (0, 0, 3),                 #emit velocity
     0.25,                       #emit dir randomness
     300,                       #rotation speed
     0.5,                       #rotation damping
    ),

	
	
# All below is optional (remember to overwirite the native blood effects):
	
    ### Dismemberment Mod Kit enhanced blood effects ### 
	
    ("game_blood", psf_billboard_3d |psf_randomize_size|psf_randomize_rotation,  "prt_mesh_blood_1",
     4500, 2, 2, 1.2, 10, 10,        #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0, 1), (1, 1),          #alpha keys
     (0.1, 0.2), (1, 0.2),      #red keys
     (0.1, 0.15), (1, 0.15),       #green keys
     (0.1, 0.15), (1, 0.15),      #blue keys
     (0.1, 0.02),   (1, 0.06),  #scale keys
     (0, 0.05, 0),               #emit box size
     (0.6, 1.0, 1.1),                #emit velocity
     0,                       #emit dir randomness
     0,                         #rotation speed
     0,                         #rotation damping
    ),
    ("game_blood_2", psf_billboard_3d | psf_randomize_size|psf_randomize_rotation ,  "prt_mesh_blood_3",
     5000, 1.9, 2.75, 1.1, 10, 10,        #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.1, 0.17), (0.9, 0.0),          #alpha keys
     (0.1, 0.37), (1, 0.4),      #red keys
     (0.1, 0.37), (1, 0.4),       #green keys
     (0.1, 0.37), (1, 0.4),      #blue keys
     (0.1, 0.3),   (1, 0.75),  #scale keys
     (0, 0.05, 0),               #emit box size
     (0.7, 0.1, 0.9 ),                #emit velocity
     0.5,                       #emit dir randomness
     0,                         #rotation speed
     0,                         #rotation damping
    ),
	
    ### Dismemberment Mod Kit enhanced blood effects END ### 

	
	
# And in case you want the native effects back but lost them somehow:
	
	### Native blood effects backup ###
	
#	("game_blood", psf_billboard_3d |psf_randomize_size|psf_randomize_rotation,  "prt_mesh_blood_1",
#     500, 0.65, 3, 0.5, 0, 0,        #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
#     (0.0, 0.7), (0.7, 0.7),          #alpha keys
#     (0.1, 0.7), (1, 0.7),      #red keys
#     (0.1, 0.7), (1, 0.7),       #green keys
#     (0.1, 0.7), (1, 0.7),      #blue keys
#     (0.0, 0.015),   (1, 0.018),  #scale keys
#     (0, 0.05, 0),               #emit box size
#     (0, 1.0, 0.3),                #emit velocity
#     0.9,                       #emit dir randomness
#     0,                         #rotation speed
#     0,                         #rotation damping
#    ),
#    ("game_blood_2", psf_billboard_3d | psf_randomize_size|psf_randomize_rotation ,  "prt_mesh_blood_3",
#     2000, 0.6, 3, 0.3, 0, 0,        #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
#     (0.0, 0.25), (0.7, 0.1),        #alpha keys
#     (0.1, 0.7), (1, 0.7),      #red keys
#     (0.1, 0.7), (1, 0.7),       #green keys
#     (0.1, 0.7), (1, 0.7),      #blue keys
#     (0.0, 0.15),   (1, 0.35),    #scale keys
#     (0.01, 0.2, 0.01),             #emit box size
#     (0.2, 0.3, 0),                 #emit velocity
#     0.3,                         #emit dir randomness
#     150,                       #rotation speed
#     0,                       #rotation damping
#     ),

	### Native blood effects backup END ###

module_scene_props'da en alta bunu yapıştırın.

Code:
   ("head_dynamic_male",sokf_moveable|sokf_dynamic_physics,"cut_off_head_male_dynamic","bo_cut_off_head_dynamic", [

	(ti_on_init_scene_prop,
	[
	 (store_trigger_param_1, ":prop_instance_no"),
	
	 #(particle_system_emit,"psys_game_blood",90000), ### Blood originating form the head (test, don't think this worked)
	 #(particle_system_emit,"psys_game_blood_2",90000),
	 #(particle_system_add_new, "psys_game_blood"),
	 
	 (scene_prop_set_prune_time, ":prop_instance_no", 60), ### Don't think this operation works like I would want it to either. Will try to find another way of getting rid of limbs laying around for too long.
	 (set_fixed_point_multiplier, 100),
	 
	 ### Physics Properties
	 (position_set_x, pos0, 1000), # mass = 10.0
	 (position_set_y, pos0, 80), # friction coefficient = 0.8
	 (position_set_z, pos0, 0), # reserved variable
	 (prop_instance_dynamics_set_properties, ":prop_instance_no", pos0), # Set Properties
	 
	 ### Rotational velocities
	 (store_random_in_range, ":rndm", -2000, 2000), ### The final value is a random one between these two values
	 (position_set_x, pos0, ":rndm"),
	 (store_random_in_range, ":rndm", -2000, 2000),
	 (position_set_y, pos0, ":rndm"),
	 (store_random_in_range, ":rndm", -2000, 2000),
	 (position_set_z, pos0, ":rndm"),
	 (prop_instance_dynamics_set_omega, ":prop_instance_no", pos0), # Set Rotation
	 
	 ### Movement velocities
	 (store_random_in_range, ":rndm", -2000, 2000),
	 (position_set_x, pos0, ":rndm"),
	 (store_random_in_range, ":rndm", -2000, 2000),
	 (position_set_y, pos0, ":rndm"),
	 (store_random_in_range, ":rndm", 30, 1000),
	 (position_set_z, pos0, ":rndm"),
	 (prop_instance_dynamics_apply_impulse, ":prop_instance_no", pos0), # Set Movement
	]),
	]),
	
   ("head_dynamic_female",sokf_moveable|sokf_dynamic_physics,"cut_off_head_female_dynamic","bo_cut_off_head_dynamic", [

	(ti_on_init_scene_prop,
	[
	 (store_trigger_param_1, ":prop_instance_no"),
	
	 #(particle_system_emit,"psys_game_blood",90000), ### Blood originating form the head (test, don't think this worked)
	 #(particle_system_emit,"psys_game_blood_2",90000),
	 #(particle_system_add_new, "psys_game_blood"),
	 
	 (scene_prop_set_prune_time, ":prop_instance_no", 60), ### Don't think this operation works like I would want it to either. Will try to find another way of getting rid of limbs laying around for too long.
	 (set_fixed_point_multiplier, 100),
	 
	 ### Physics Properties
	 (position_set_x, pos0, 1000), # mass = 10.0
	 (position_set_y, pos0, 80), # friction coefficient = 0.8
	 (position_set_z, pos0, 0), # reserved variable
	 (prop_instance_dynamics_set_properties, ":prop_instance_no", pos0), # Set Properties
	 
	 ### Rotational velocities
	 (store_random_in_range, ":rndm", -2000, 2000), ### The final value is a random one between these two values
	 (position_set_x, pos0, ":rndm"),
	 (store_random_in_range, ":rndm", -2000, 2000),
	 (position_set_y, pos0, ":rndm"),
	 (store_random_in_range, ":rndm", -2000, 2000),
	 (position_set_z, pos0, ":rndm"),
	 (prop_instance_dynamics_set_omega, ":prop_instance_no", pos0), # Set Rotation
	 
	 ### Movement velocities
	 (store_random_in_range, ":rndm", -2000, 2000),
	 (position_set_x, pos0, ":rndm"),
	 (store_random_in_range, ":rndm", -2000, 2000),
	 (position_set_y, pos0, ":rndm"),
	 (store_random_in_range, ":rndm", 30, 800),
	 (position_set_z, pos0, ":rndm"),
	 (prop_instance_dynamics_apply_impulse, ":prop_instance_no", pos0), # Set Movement
    ]),
	]),
	
	## Heads END
	# Default END

module_sounds'da en alta bunları yapıştırın.

Code:
 ("shield_broken",sf_priority_9, ["shield_broken.ogg","shield_broken1.ogg","shield_broken2.ogg"]),
 ("decapitation",sf_priority_9|sf_vol_11, ["decap1.ogg","decap2.ogg","decap3.ogg","decap4.ogg"]),

module_troops'da aratın.

Code:
["relative_of_merchants_end","relative_of_merchants_end","relative_of_merchants_end",tf_hero, 0,0, fac_commoners,[],def_attrib|level(2),wp(20),knows_inventory_management_10,0],

Onun altına bunu ekleyin.

Code:
  ["looter_bully_handless","Looter Bully","Looter Bullies",tf_guarantee_ranged|tf_guarantee_shield|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_gloves,0,0,fac_neutral,
   [itm_cudgel,itm_invisiblegloves,
    itm_looter_bully_handless_body,itm_leather_boots,itm_severedhand],
   def_attrib|level(15),wp_melee(90),knows_common|knows_shield_4|knows_power_strike_1|knows_ironflesh_2,bandit_face1, bandit_face2, nord_face_young_1, nord_face_old_2],

  ["looter_thug_armless","Looter Thug","Looter Thug",tf_guarantee_ranged|tf_guarantee_shield|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_gloves,0,0,fac_neutral,
   [itm_falchion,itm_invisiblegloves,
    itm_looter_thug_armless_body,itm_leather_boots,itm_fatseveredarm],
   def_attrib|level(15),wp_melee(90),knows_common|knows_shield_9|knows_power_strike_2|knows_ironflesh_1,bandit_face1, bandit_face2, nord_face_young_1, nord_face_old_2],

  ["thin_looter_armless","Looter Thief","Looter Thief",tf_guarantee_ranged|tf_guarantee_shield|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_gloves,0,0,fac_neutral,
   [itm_falchion,itm_invisiblegloves,
    itm_thin_looter_armless_body,itm_leather_boots,itm_severedarm],
   def_attrib|level(19),wp_melee(90),knows_common|knows_shield_4|knows_power_strike_1|knows_ironflesh_3,bandit_face1, bandit_face2, nord_face_young_1, nord_face_old_2],

  ["fat_peasant_handless","Fat Peasant","Fat Peasants",tf_guarantee_ranged|tf_guarantee_shield|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_gloves,0,0,fac_neutral,
   [itm_cleaver,itm_invisiblegloves,
    itm_fat_peasant_handless_body,itm_hide_boots,itm_severedhand],
   def_attrib|level(6),wp_melee(60),knows_common|knows_shield_4|knows_power_strike_1|knows_ironflesh_1,man_face_middle_1, man_face_old_2],

Son olarak ta şu linkteki dosyayı indirin ve kurun.
 
Bu kod ateşli ok ekler.

Kodun Sahibi : El Guanche

Kullanmak için ona teşekkür etmelisiniz.
Başlayalım!

module_items'de bunun üstüne.

Code:
["items_end", "Items End", [("shield_round_a",0)], 0, 0, 1, 0, 0],

Bunu ekleyin.

Code:
#Modificado Fire Arrow
 ["fire_arrow","Flechas Incendiarias", [("fire_arrow",0),("fire_arrow_flying_missile",ixmesh_flying_ammo),("fire_quiver", ixmesh_carry)], itp_type_arrows|itp_merchandise|itp_default_ammo, itcf_carry_quiver_back, 920,weight(3.5)|abundance(80)|weapon_length(95)|thrust_damage(8,pierce)|max_ammo(28),imodbits_missile,
[(ti_on_init_item, [
    (set_position_delta, 0, 100, 0), #change this to move the particle system's local position
    (particle_system_add_new, "psys_arrow_fire"),
    (particle_system_add_new, "psys_arrow_smoke"),
    (particle_system_add_new, "psys_arrow_fire_sparks"),
    (set_current_color,150, 130, 70),
    (add_point_light, 10, 30),
]),
(ti_on_init_item, [
    (set_position_delta, 0, 100, 0), #change this to move the particle system's local position
    (particle_system_add_new, "psys_arrow_fire"),
    (particle_system_add_new, "psys_arrow_smoke"),
    (particle_system_add_new, "psys_arrow_fire_sparks"),
    (set_current_color,150, 130, 70),
    (add_point_light, 10, 30),
])]],
 ["fire_arrow_b","Flechas Khergitas Incendiarias", [("fire_arrow_b",0),("fire_arrow_flying_missile",ixmesh_flying_ammo),("fire_quiver_b", ixmesh_carry)], itp_type_arrows|itp_merchandise|itp_default_ammo, itcf_carry_quiver_back, 1782,weight(4)|abundance(15)|weapon_length(95)|thrust_damage(10,pierce)|max_ammo(28),imodbits_missile,
[(ti_on_init_item, [
    (set_position_delta, 0, 100, 0), #change this to move the particle system's local position
    (particle_system_add_new, "psys_arrow_fire"),
    (particle_system_add_new, "psys_arrow_smoke"),
    (particle_system_add_new, "psys_arrow_fire_sparks"),
    (set_current_color,150, 130, 70),
    (add_point_light, 10, 30),
]),
(ti_on_init_item, [
    (set_position_delta, 0, 100, 0), #change this to move the particle system's local position
    (particle_system_add_new, "psys_arrow_fire"),
    (particle_system_add_new, "psys_arrow_smoke"),
    (particle_system_add_new, "psys_arrow_fire_sparks"),
    (set_current_color,150, 130, 70),
    (add_point_light, 10, 30),
])]],
 ["fire_barbed_arrow","Flechas Dentadas Incendiarias", [("fire_barbed_arrow",0),("fire_arrow_flying_missile",ixmesh_flying_ammo),("fire_quiver_d", ixmesh_carry)], itp_type_arrows|itp_merchandise|itp_default_ammo, itcf_carry_quiver_back, 1120,weight(3.5)|abundance(35)|weapon_length(95)|thrust_damage(9,pierce)|max_ammo(28),imodbits_missile,
[(ti_on_init_item, [
    (set_position_delta, 0, 100, 0), #change this to move the particle system's local position
    (particle_system_add_new, "psys_arrow_fire"),
    (particle_system_add_new, "psys_arrow_smoke"),
    (particle_system_add_new, "psys_arrow_fire_sparks"),
    (set_current_color,150, 130, 70),
    (add_point_light, 10, 30),
]),
(ti_on_init_item, [
    (set_position_delta, 0, 100, 0), #change this to move the particle system's local position
    (particle_system_add_new, "psys_arrow_fire"),
    (particle_system_add_new, "psys_arrow_smoke"),
    (particle_system_add_new, "psys_arrow_fire_sparks"),
    (set_current_color,150, 130, 70),
    (add_point_light, 10, 30),
])]],
 ["fire_piercing_arrow","Flechas Punzantes Incendiarias", [("fire_piercing_arrow",0),("fire_arrow_flying_missile",ixmesh_flying_ammo),("fire_quiver_c", ixmesh_carry)], itp_type_arrows|itp_merchandise|itp_default_ammo, itcf_carry_quiver_back, 1750,weight(3.5)|abundance(25)|weapon_length(95)|thrust_damage(10,pierce)|max_ammo(26),imodbits_missile,
[(ti_on_init_item, [
    (set_position_delta, 0, 100, 0), #change this to move the particle system's local position
    (particle_system_add_new, "psys_arrow_fire"),
    (particle_system_add_new, "psys_arrow_smoke"),
    (particle_system_add_new, "psys_arrow_fire_sparks"),
    (set_current_color,150, 130, 70),
    (add_point_light, 10, 30),
]),
(ti_on_init_item, [
    (set_position_delta, 0, 100, 0), #change this to move the particle system's local position
    (particle_system_add_new, "psys_arrow_fire"),
    (particle_system_add_new, "psys_arrow_smoke"),
    (particle_system_add_new, "psys_arrow_fire_sparks"),
    (set_current_color,150, 130, 70),
    (add_point_light, 10, 30),
])]], 
#Modificado Fire Arrow Fin

#Modificado Fire Bow
["fire_nomad_bow",         "Arco Nomada Incendiario", [("fire_nomad_bow",0),("fire_nomad_bow_case", ixmesh_carry)], itp_type_bow |itp_merchandise|itp_primary|itp_two_handed ,itcf_shoot_bow|itcf_carry_bowcase_left|itcf_show_holster_when_drawn, 
437 , weight(1.25)|difficulty(3)|spd_rtng(88) | shoot_speed(58) | thrust_damage(25 ,pierce),imodbit_cracked | imodbit_bent | imodbit_masterwork,
   [(ti_on_init_item, [(set_position_delta,0,0,-5),(particle_system_add_new, "psys_bow_fire"),(particle_system_add_new, "psys_bow_smoke"),(particle_system_add_new, "psys_bow_fire_sparks"),(set_current_color,150, 130, 70),(add_point_light, 10, 30),
])]],
#Modificado Fire Bow Fin

module_particle_systems'de en alta.

Bunu ekleyin.

Code:
###MODIFICADO - PARTICULAS ARCOS Y FLECHAS DE FUEGO###
    ("arrow_fire", psf_billboard_3d|psf_global_emit_dir|psf_always_emit|psf_randomize_size|psf_randomize_rotation, "prt_mesh_fire_1",
     100, 1.3, 0.2, 0.03, 10.0, 10.0,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.5, 0.8), (1, 0),        #alpha keys
     (0.5, 1.0), (1, 0.9),      #red keys
     (0.5, 0.7),(1, 0.3),       #green keys
     (0.5, 0.2), (1, 0.0),      #blue keys
     (0, 0.15),   (0.4, 0.3),   #scale keys
     (0.04, 0.04, 0.01),      #emit box size
     (0, 0, 0.5),               #emit velocity
     0.0,                       #emit dir randomness
     200,                       #rotation speed
     0.5                        #rotation damping
    ),

    ("arrow_smoke", psf_billboard_3d|psf_global_emit_dir|psf_always_emit, "prtcl_dust_a",
     75, 1.5, 0.2, -0.2, 10.0, 0.1,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.5, 0.25), (1, 0),       #alpha keys
     (0.0, 0.2), (1, 0.1),      #red keys
     (0.0, 0.2),(1, 0.09),      #green keys
     (0.0, 0.2), (1, 0.08),     #blue keys
     (0, 0.5),   (0.8, 2.5),    #scale keys
     (0.1, 0.1, 0.1),           #emit box size
     (0, 0, 1.5),               #emit velocity
     0.1                        #emit dir randomness
    ),

    ("arrow_fire_sparks", psf_billboard_3d|psf_global_emit_dir|psf_always_emit|psf_randomize_size,  "prt_sparks_mesh_1",
     30, 1.5, 0.2, 0, 10.0, 0.02,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.66, 1), (1, 0),          #alpha keys
     (0.1, 0.7), (1, 0.7),      #red keys
     (0.1, 0.5),(1, 0.5),       #green keys
     (0.1, 0.1), (1, 0.1),      #blue keys
     (0.1, 0.05),   (1, 0.05),  #scale keys
     (0.1, 0.1, 0.1),           #emit box size
     (0, 0, 0.9),               #emit velocity
     0.0,                       #emit dir randomness
     0,
     0,
    ),
    ("bow_fire", psf_billboard_3d|psf_global_emit_dir|psf_always_emit|psf_randomize_size|psf_randomize_rotation, "prt_mesh_fire_1",
     10, 0.75, 0.1, 0.03, 10.0, 0.0,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.5, 0.8), (1, 0),        #alpha keys
     (0.5, 1.0), (1, 0.9),      #red keys
     (0.5, 0.7),(1, 0.3),       #green keys
     (0.5, 0.2), (1, 0.0),      #blue keys
     (0, 0.15),   (0.4, 0.3),   #scale keys
     (0.04, 0.04, 0.01),      #emit box size
     (0, 0, 0.5),               #emit velocity
     0.0,                       #emit dir randomness
     200,                       #rotation speed
     0.5                        #rotation damping
    ),

    ("bow_smoke", psf_billboard_3d|psf_global_emit_dir|psf_always_emit, "prtcl_dust_a",
     8, 0.2, 0.2, -0.2, 10.0, 0.1,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.5, 0.25), (1, 0),       #alpha keys
     (0.0, 0.2), (1, 0.1),      #red keys
     (0.0, 0.2),(1, 0.09),      #green keys
     (0.0, 0.2), (1, 0.08),     #blue keys
     (0, 0.5),   (0.8, 2.5),    #scale keys
     (0.1, 0.1, 0.1),           #emit box size
     (0, 0, 1.5),               #emit velocity
     0.1                        #emit dir randomness
    ),

    ("bow_fire_sparks", psf_billboard_3d|psf_global_emit_dir|psf_always_emit|psf_randomize_size,  "prt_sparks_mesh_1",
     15, 0.5, 0.2, 0, 10.0, 0.05,     #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
     (0.66, 1), (1, 0),          #alpha keys
     (0.1, 0.7), (1, 0.7),      #red keys
     (0.1, 0.5),(1, 0.5),       #green keys
     (0.1, 0.1), (1, 0.1),      #blue keys
     (0.1, 0.05),   (1, 0.05),  #scale keys
     (0.1, 0.1, 0.1),           #emit box size
     (0, 0, 0.9),               #emit velocity
     0.0,                       #emit dir randomness
     0,
     0,
    ),

###MODIFICADO - PARTICULAS ARCOS Y FLECHAS DE FUEGO FIN###

Son olarak bu linkteki dosyaları indirin ve kurun.

 
Bu kod kalerde ve şehirlerde olan asker sayısı gibi köylerdede gözükür.

Kodun Sahibi : Tinerfe

Kullanmak için ona teşekkür etmelisiniz.
Başlayalım!

module_game_menus'te aratın.

Code:
],"Door to the village center."),

Altına bunu ekleyin.

Code:
("village_station_troops",
      [	  
		(party_get_slot, ":town_lord", "$current_town", slot_town_lord),
	    (str_clear, s10),
		  
	    (assign, ":player_can_draw_from_garrison", 0), 
		(try_begin), #option 1 - player is town lord
		  (eq, ":town_lord", "trp_player"),
		  (assign, ":player_can_draw_from_garrison", 1),
		(else_try), #option 2 - town is unassigned and part of the player faction
		  (store_faction_of_party, ":faction", "$g_encountered_party"),
		  (eq, ":faction", "fac_player_supporters_faction"),			
		  (neg|party_slot_ge, "$g_encountered_party", slot_town_lord, active_npcs_begin), #ie, zero or -1

		  (assign, ":player_can_draw_from_garrison", 1),
		(else_try), #option 3 - town was captured by player
		  (lt, ":town_lord", 0), #ie, unassigned
		  (store_faction_of_party, ":village_faction", "$g_encountered_party"),
		  (eq, "$players_kingdom", ":village_faction"),
		  
		  (eq, "$g_encountered_party", "$g_castle_requested_by_player"),

		  (str_store_string, s10, "str_retrieve_garrison_warning"),
		  (assign, ":player_can_draw_from_garrison", 1),
		(else_try),
		  (lt, ":town_lord", 0), #ie, unassigned
		  (store_faction_of_party, ":village_faction", "$g_encountered_party"),
		  (eq, "$players_kingdom", ":village_faction"),
		  
		  (store_party_size_wo_prisoners, ":party_size", "$g_encountered_party"),
		  (eq, ":party_size", 0),
			
		  (str_store_string, s10, "str_retrieve_garrison_warning"),
		  (assign, ":player_can_draw_from_garrison", 1),
		(else_try),
		  (party_slot_ge, "$g_encountered_party", slot_town_lord, active_npcs_begin),
		  (store_faction_of_party, ":village_faction", "$g_encountered_party"),
		  (eq, "$players_kingdom", ":village_faction"),
		  
		  (troop_slot_eq, "trp_player", slot_troop_spouse, ":town_lord"),		    

		  (assign, ":player_can_draw_from_garrison", 1),
		(try_end),

        (eq, ":player_can_draw_from_garrison", 1),
      ],
      "Manage the garrison {s10}",
      [
        (change_screen_exchange_members,1),
      ])

Bitmiştir.
 
Rhotromir`in ricasıyla bende bir çeviri yapayım dedim ve modumda kullandığım asker oranı barı kodunu sizler için çevirdim :grin:
evet başlayalım ilk olarak
module_presentations.pynin en altına şu kodu ekleyin tabi ] den önce :smile:
Code:
##################################################
##### troop_ratio_bar 
##################################################
  ("troop_ratio_bar",prsntf_read_only,0,[
      (ti_on_presentation_load,
       [
        (assign, "$presentation_troop_ratio_bar_active", 1),
        (set_fixed_point_multiplier, 1000),
        
        (create_mesh_overlay, "$g_presentation_obj_1", "mesh_status_troop_ratio_bar"),
        (position_set_x, pos1, 30),
        (position_set_y, pos1, 700),
        (overlay_set_position, "$g_presentation_obj_1", pos1),
        
        (position_set_x, pos1, 35),
        (position_set_y, pos1, 713),
        
        (create_mesh_overlay, "$g_presentation_obj_2", "mesh_white_plane"),
        (overlay_set_color, "$g_presentation_obj_2", 0xAA1F1F),
        (overlay_set_position, "$g_presentation_obj_2", pos1),
        
        (create_mesh_overlay, "$g_presentation_obj_3", "mesh_white_plane"),
        (overlay_set_color, "$g_presentation_obj_3", 0x1F1FAA),
        (overlay_set_position, "$g_presentation_obj_3", pos1),
     
        (create_mesh_overlay, "$g_presentation_obj_4", "mesh_white_plane"),
        (overlay_set_color, "$g_presentation_obj_4", 0x1FAA1F),
        (overlay_set_position, "$g_presentation_obj_4", pos1),
        
        (create_mesh_overlay, "$g_presentation_obj_5", "mesh_status_troop_ratio_bar_button"),
        (position_set_x, pos1, 35),
        (position_set_y, pos1, 700),
        (overlay_set_position, "$g_presentation_obj_5", pos1),
        
        (create_mesh_overlay, "$g_presentation_obj_6", "mesh_status_troop_ratio_bar_button"),
        (position_set_x, pos1, 275),
        (position_set_y, pos1, 700),
        (overlay_set_position, "$g_presentation_obj_6", pos1),

        (create_mesh_overlay, "$g_presentation_obj_7", "mesh_status_troop_ratio_bar_button"),
        (create_mesh_overlay, "$g_presentation_obj_8", "mesh_status_troop_ratio_bar_button"),
        
        (presentation_set_duration, 999999),
       ]),
      (ti_on_presentation_run,
       [
        (store_trigger_param_1, ":cur_time"),
        
        (set_fixed_point_multiplier, 1000),
        (assign, ":player_count", 0),
        (assign, ":ally_count", 0),
        (assign, ":enemy_count", 0),
        (assign, ":total_count", 0),
        
        (try_for_agents, ":cur_agent"),
          (agent_is_human, ":cur_agent"),
          (agent_is_alive, ":cur_agent"),
          (agent_get_party_id, ":agent_party", ":cur_agent"),
          (try_begin),
            (eq, ":agent_party", "p_main_party"),
            (val_add, ":player_count", 1),
          (else_try),
            (agent_is_ally, ":cur_agent"),
            (val_add, ":ally_count", 1),
          (else_try),
            (val_add, ":enemy_count", 1),
          (try_end),
        (try_end),
        (val_add, ":total_count", ":player_count"),
        (val_add, ":total_count", ":ally_count"),
        (val_add, ":total_count", ":enemy_count"),

        (position_set_x, pos1, 12000),
        (position_set_y, pos1, 300),
        (overlay_set_size, "$g_presentation_obj_2", pos1),
     
        (store_add, ":ally_percent", ":player_count", ":ally_count"),
        (val_mul, ":ally_percent", 12000),
        (val_div, ":ally_percent", ":total_count"),
        (position_set_x, pos1, ":ally_percent"),
        (position_set_y, pos1, 300),
        (overlay_set_size, "$g_presentation_obj_3", pos1),
     
        (store_mul, ":player_percent", ":player_count", 12000),
        (val_div, ":player_percent", ":total_count"),
        (position_set_x, pos1, ":player_percent"),
        (position_set_y, pos1, 300),
        (overlay_set_size, "$g_presentation_obj_4", pos1),
        
        (store_add, ":ally_percent_2", ":player_count", ":ally_count"),
        (val_mul, ":ally_percent_2", 240),
        (val_div, ":ally_percent_2", ":total_count"),
        (val_add, ":ally_percent_2", 35),
        (position_set_x, pos1, ":ally_percent_2"),
        (position_set_y, pos1, 700),
        (overlay_set_position, "$g_presentation_obj_7", pos1),
        
        (store_mul, ":player_percent_2", ":player_count", 240),
        (val_div, ":player_percent_2", ":total_count"),
        (val_add, ":player_percent_2", 35),
        (position_set_x, pos1, ":player_percent_2"),
        (position_set_y, pos1, 700),
        (overlay_set_position, "$g_presentation_obj_8", pos1),
        
        (try_begin),
          (eq, "$presentation_troop_ratio_bar_active", 1),
          (gt, ":cur_time", 200),
          (game_key_clicked, gk_view_orders),
          (assign, "$presentation_troop_ratio_bar_active", 0),
          (presentation_set_duration, 0),
          (start_presentation, "prsnt_battle"),
        (try_end),
       ]),
       
     ]),
##################################################
##### troop_ratio_bar
##################################################

Sonra şu kodu aratın
Code:
        (try_end),
        (try_begin),
          (gt, ":cur_time", 200),
          (game_key_clicked, gk_view_orders),
          (try_for_agents, ":cur_agent"),
            (agent_set_slot, ":cur_agent", slot_agent_map_overlay_id, 0),
          (try_end),
          (presentation_set_duration, 0),
ve altına bunu ekleyin
Code:
##################################################
##### troop_ratio_bar
##################################################
          (start_presentation, "prsnt_troop_ratio_bar"),
##################################################
##### troop_ratio_bar
##################################################

Sonrada module_meshes.pynin en altına
Code:
##################################################
##### troop_ratio_bar
##################################################
  ("status_troop_ratio_bar", 0, "slider_hor", 0, 0, 0, 0, 0, 0, 1, 1, 1),
  ("status_troop_ratio_bar_button", 0, "handle_hor", 0, 0, 0, 0, 0, 0, 1, 1, 1),
##################################################
##### troop_ratio_bar
##################################################

Son olarak module_mission_template.pyde şu kodu aratın
Code:
      (1, 4, ti_once, [(main_hero_fallen)],
          [
              (assign, "$pin_player_fallen", 1),
              (str_store_string, s5, "str_retreat"),
              (call_script, "script_simulate_retreat", 10, 20, 1),
              (assign, "$g_battle_result", -1),
              (set_mission_result, -1),
              (call_script, "script_count_mission_casualties_from_agents"),
              (finish_mission, 0)]),

      common_battle_inventory,      
      common_battle_order_panel,
ve altına bunu yapışıtrın
Code:
##################################################
##### troop_ratio_bar
##################################################
      (0, 0, ti_once, [], [(start_presentation, "prsnt_troop_ratio_bar")]),
##################################################
##### troop_ratio_bar
##################################################
Ve bu kadar bana ve rubik `e teşekkür etmeyi unutmayın iyi kodlamalar. :grin:
 
Rhotromir said:
Bu kod benim moddada var ama TR forumda kullananı göremedim o yüzden çevireyim dedim.Bu kod haritada köprü ikonunun üstünde savaşa tutulursa köprüyle savaş yaparsınız.

Kodun sahibi : Arch3r

Sahnenin sahibi : taken

Kodu kullanmak için bu 2'sine teşekkür etmelisiniz.

Başlayalım.

module_game_menus'te şu kodu arayın.

Code:
("encounter_attack",[

Şöyle bir kod bölümü çıkacak o bölümün arasına siyah yazıları ekleyin gördüğünüz gibi.
  "Charge the enemy.",[
                                (assign, "$g_battle_result", 0),
                                (assign, "$g_engaged_enemy", 1),
                                (call_script, "script_calculate_renown_value"),
                                (call_script, "script_calculate_battle_advantage"),
                                (set_battle_advantage, reg0),
                                (set_party_battle_mode),
                                (try_begin),
                                  (eq, "$g_encounter_type", enctype_fighting_against_village_raid),
                                  (assign, "$g_village_raid_evil", 0),
                                  (set_jump_mission,"mt_village_raid"),
                                  (party_get_slot, ":scene_to_use", "$g_encounter_is_in_village", slot_castle_exterior),
                                  (jump_to_scene, ":scene_to_use"),
                                (else_try),
                                  (eq, "$g_encounter_type", enctype_catched_during_village_raid),
                                  (assign, "$g_village_raid_evil", 0),
                                  (set_jump_mission,"mt_village_raid"),
                                  (party_get_slot, ":scene_to_use", "$g_encounter_is_in_village", slot_castle_exterior),
                                  (jump_to_scene, ":scene_to_use"),
                                (else_try), #Arch3r#
                                  (party_get_position,pos1,"p_main_party"),
                                    (party_get_position,pos2,"p_bridge_1"),
                                    (get_distance_between_positions,":cur_distance",pos1,pos2),
                                    (lt,":cur_distance",100),
                                    (assign, ":scene_to_use", "scn_bridge_1"),
                                  (set_jump_mission,"mt_lead_charge"),
                                  (jump_to_scene, ":scene_to_use"),
                                (else_try),
                                  (party_get_position,pos1,"p_main_party"),
                                    (party_get_position,pos2,"p_bridge_2"),
                                    (get_distance_between_positions,":cur_distance",pos1,pos2),
                                    (lt,":cur_distance",100),
                                    (assign, ":scene_to_use", "scn_bridge_2"),
                                  (set_jump_mission,"mt_lead_charge"),
                                  (jump_to_scene, ":scene_to_use"),
                                (else_try),
                                  (party_get_position,pos1,"p_main_party"),
                                    (party_get_position,pos2,"p_bridge_3"),
                                    (get_distance_between_positions,":cur_distance",pos1,pos2),
                                    (lt,":cur_distance",100),
                                    (assign, ":scene_to_use", "scn_bridge_3"),
                                  (set_jump_mission,"mt_lead_charge"),
                                  (jump_to_scene, ":scene_to_use"),
                                (else_try),
                                  (party_get_position,pos1,"p_main_party"),
                                    (party_get_position,pos2,"p_bridge_4"),
                                    (get_distance_between_positions,":cur_distance",pos1,pos2),
                                    (lt,":cur_distance",100),
                                    (assign, ":scene_to_use", "scn_bridge_4"),
                                  (set_jump_mission,"mt_lead_charge"),
                                  (jump_to_scene, ":scene_to_use"),
                                (else_try),
                                  (party_get_position,pos1,"p_main_party"),
                                    (party_get_position,pos2,"p_bridge_5"),
                                    (get_distance_between_positions,":cur_distance",pos1,pos2),
                                    (lt,":cur_distance",100),
                                    (assign, ":scene_to_use", "scn_bridge_5"),
                                  (set_jump_mission,"mt_lead_charge"),
                                  (jump_to_scene, ":scene_to_use"),
                                (else_try),
                                  (party_get_position,pos1,"p_main_party"),
                                    (party_get_position,pos2,"p_bridge_6"),
                                    (get_distance_between_positions,":cur_distance",pos1,pos2),
                                    (lt,":cur_distance",100),
                                    (assign, ":scene_to_use", "scn_bridge_6"),
                                  (set_jump_mission,"mt_lead_charge"),
                                  (jump_to_scene, ":scene_to_use"),
                                (else_try),
                                  (party_get_position,pos1,"p_main_party"),
                                    (party_get_position,pos2,"p_bridge_7"),
                                    (get_distance_between_positions,":cur_distance",pos1,pos2),
                                    (lt,":cur_distance",100),
                                    (assign, ":scene_to_use", "scn_bridge_7"),
                                  (set_jump_mission,"mt_lead_charge"),
                                  (jump_to_scene, ":scene_to_use"),
                                (else_try),
                                  (party_get_position,pos1,"p_main_party"),
                                    (party_get_position,pos2,"p_bridge_8"),
                                    (get_distance_between_positions,":cur_distance",pos1,pos2),
                                    (lt,":cur_distance",100),
                                    (assign, ":scene_to_use", "scn_bridge_8"),
                                  (set_jump_mission,"mt_lead_charge"),
                                  (jump_to_scene, ":scene_to_use"),
                                (else_try),
                                  (party_get_position,pos1,"p_main_party"),
                                    (party_get_position,pos2,"p_bridge_9"),
                                    (get_distance_between_positions,":cur_distance",pos1,pos2),
                                    (lt,":cur_distance",100),
                                    (assign, ":scene_to_use", "scn_bridge_9"),
                                  (set_jump_mission,"mt_lead_charge"),
                                  (jump_to_scene, ":scene_to_use"),
                                (else_try),
                                  (party_get_position,pos1,"p_main_party"),
                                    (party_get_position,pos2,"p_bridge_10"),
                                    (get_distance_between_positions,":cur_distance",pos1,pos2),
                                    (lt,":cur_distance",100),
                                    (assign, ":scene_to_use", "scn_bridge_10"),
                                  (set_jump_mission,"mt_lead_charge"),
                                  (jump_to_scene, ":scene_to_use"),
                                (else_try),
                                  (party_get_position,pos1,"p_main_party"),
                                    (party_get_position,pos2,"p_bridge_11"),
                                    (get_distance_between_positions,":cur_distance",pos1,pos2),
                                    (lt,":cur_distance",100),
                                    (assign, ":scene_to_use", "scn_bridge_11"),
                                  (set_jump_mission,"mt_lead_charge"),
                                  (jump_to_scene, ":scene_to_use"),
                                (else_try),
                                  (party_get_position,pos1,"p_main_party"),
                                    (party_get_position,pos2,"p_bridge_12"),
                                    (get_distance_between_positions,":cur_distance",pos1,pos2),
                                    (lt,":cur_distance",100),
                                    (assign, ":scene_to_use", "scn_bridge_12"),
                                  (set_jump_mission,"mt_lead_charge"),
                                  (jump_to_scene, ":scene_to_use"),
                                (else_try),
                                  (party_get_position,pos1,"p_main_party"),
                                    (party_get_position,pos2,"p_bridge_13"),
                                    (get_distance_between_positions,":cur_distance",pos1,pos2),
                                    (lt,":cur_distance",100),
                                    (assign, ":scene_to_use", "scn_bridge_13"),
                                  (set_jump_mission,"mt_lead_charge"),
                                  (jump_to_scene, ":scene_to_use"),
                                (else_try),
                                  (party_get_position,pos1,"p_main_party"),
                                    (party_get_position,pos2,"p_bridge_14"),
                                    (get_distance_between_positions,":cur_distance",pos1,pos2),
                                    (lt,":cur_distance",100),
                                    (assign, ":scene_to_use", "scn_bridge_14"),
                                  (set_jump_mission,"mt_lead_charge"),
                                  (jump_to_scene, ":scene_to_use"),
#                                (else_try),
#                                  (party_get_position,pos1,"p_main_party"),
#                                    (party_get_position,pos2,"p_bridge_15"),
#                                    (get_distance_between_positions,":cur_distance",pos1,pos2),
#                                    (lt,":cur_distance",100),
#                                    (assign, ":scene_to_use", "scn_bridge_15"),
#                                  (set_jump_mission,"mt_lead_charge"),
#                                  (jump_to_scene, ":scene_to_use"),

                                (else_try),
                                  (set_jump_mission,"mt_lead_charge"),
                                  (call_script, "script_setup_random_scene"),
                                (try_end),

Ardından module_scenes'te en alta yani '']''dan önce şunu yapıştırın.

Code:
  ("bridge_1",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c", 
    [],[], "outer_terrain_plain"),
  ("bridge_2",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c", 
    [],[], "outer_terrain_plain"),
  ("bridge_3",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c", 
    [],[], "outer_terrain_plain"),
  ("bridge_4",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c", 
    [],[], "outer_terrain_plain"),
  ("bridge_5",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c", 
    [],[], "outer_terrain_plain"),
  ("bridge_6",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c", 
    [],[], "outer_terrain_plain"),
  ("bridge_7",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c", 
    [],[], "outer_terrain_plain"),
  ("bridge_8",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c", 
    [],[], "outer_terrain_plain"),
  ("bridge_9",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c", 
    [],[], "outer_terrain_plain"),
  ("bridge_10",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c", 
    [],[], "outer_terrain_plain"),
  ("bridge_11",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c", 
    [],[], "outer_terrain_plain"),
  ("bridge_12",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c", 
    [],[], "outer_terrain_plain"),
  ("bridge_13",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c", 
    [],[], "outer_terrain_plain"),
  ("bridge_14",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c", 
    [],[], "outer_terrain_plain"),
#  ("bridge_15",sf_generate,"none", "none", (0,0),(120,120),-100,"0x3a078bb2000589630000667200002fb90000179c", 
#    [],[], "outer_terrain_plain"),

Sonra module_parties'de en aşağıya yani '']''dan önce şunu ekleyin.

Code:
#  bridge_a
  ("bridge_1","Zendar Memorial Highway",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(11.56, 59.89),[], 90),
  ("bridge_2","Kelredan Kantilever",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(2.14, 34.13),[], 64),
  ("bridge_3","Curin Channel",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-66.92, 72.98),[], 10),
  ("bridge_4","Buillin Bridge",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-76.94, 67.25),[], 90),
  ("bridge_5","Oxenstierna Overpass",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(82.16, 79.18),[], 135),

#  ("bridge_6","6",icon_bridge_snow_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(85.60, 64.32),[], 120),
#  ("bridge_7","7",icon_bridge_snow_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(82.47, 43.28),[], 75),
#  ("bridge_8","8",icon_bridge_snow_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(79.46, 21.19),[], 55),

  ("bridge_9","Dramug Drivethrough",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(62.13, 48.21),[], 60),
  ("bridge_10","Slezkh Span",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(71.05, 54.55),[], 35),
  ("bridge_11","Ilvia Intersection",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-54.85, -41.40),[], 90),
  ("bridge_12","Fearichen Ford",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(12.17, 79.57),[], 135),
  ("bridge_13","Kulum Krossing",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(17.16, 81.16),[], 90),
  ("bridge_14","Udiniad Underpass",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(21.88, 78.80),[], 75),
  ("bridge_15","Pagundur Passageway",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-68.01, -29.60),[], 15),
####################
#NEW
####################
  ("bridge_16","Verden Viaduct",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-100.063,48.4162),[], 10),
  ("bridge_17","Aldelen Arch",icon_bridge_a|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(-94.6534,81.2015),[], 64),
#  ("bridge_18","18",icon_bridge_b|pf_is_static|pf_always_visible|pf_no_label, no_menu, pt_none, fac_neutral,0,ai_bhvr_hold,0,(106.375,80.02),[], 90),

Ardından şu linkteki dosyayı indirin.

scn_'yle başlayan dosyaları modunuzun sceneobj klasörüne atın artık bir köprü ikonunun üstündeyken savaşırsanız köprü üstünde savaşırsınız.




bu kodda bir sorun olabilirmi yada misyonmu eksik anlatılanların hepsini uyguladım dosyaları indrdim scneobj klasörüne atım herşey tamam modul dosyası hatada vermedi oyuna girdim köprüye gittim savaş alanına girdim ama alanda ne düşman var ne bişey sadece bir köprü okadar
 
Çeviren : YusufPaşa
Teşekkür Edilmesi Gereken : Chel


Dövüş Yetenekleri Kiti
Bunlar yazdığım dövüş yetenekleri,ve savaş dinamiklerine bir şey eklediklerini düşününün ve süvari-piyade oyuncular arasında dengeye yardım eder.Bazıları eski,geri kalanları yeni.Modunuza ya da oyununuza eklemekte,düzenlemekte,kullanmakta özgürsünüz.Eğer bunu test etmek istiyorsanız halihazırda uygulanan EGIII v.0.91 modunu indirebilirsiniz.(Link imzamda)
KOD:
Yardım mesajı
module_mission_templates.py’de misyonun en üstüne ekleyin.Örneğin; common_battle_mission_start misyonunun en üstüne…
Code:
abilities_help_on = (0, 0, 0,[(key_clicked, key_n),
            (tutorial_message, "@Combat abilities ^^J : RAGE, +5 Power strike, +5 Power throw, +5 Agility, lasts for 2xStrength sec, requires 14 Strength ^^K : FOCUS, +10xIntelligence to weapon proficiencies, +5 Agility, lasts for 2xIntelligence sec, requires 14 Intelligence ^^O : SPRINT, +7 Athletics, +15 Agility, lasts for 2xAgility seconds, requires 14 Agility ^^T : WHISTLE FOR HORSE, call a horse to come to you, more than one with higher Charisma, requires 14 Charisma ^^Y : FIRST AID, treat your immediate wounds to recover 3xFirstAid+Intelligence hitpoints, requires 14 Intelligence ^^U : BATTLECRY, rally your wounded troops to fight and recover 3xLeadership+Charisma percent of their hitpoints ^^B : WARCRY, unleash a fearsome cry to terrify weaker oppnents around you ^^G : TAUNT, attract the attention of your enemies, more with higher charisma^^All combat abilites can be used every 60 seconds in battle ^^Press M to see several other important changes ^^Press H to close help."),
], [])         
abilities_help_extra = (0, 0, 0,[(key_clicked, key_m),
            (tutorial_message, "@ blank."),
], [])         
abilities_help_off = (0, 0, 0,[(key_clicked, key_h),
            (tutorial_message, "@ "),
], [])       
Tecrübeleri ayarlayan(harcamaları yapan)scriptler
module_scripts.py’e yapıştır.Örneğin en alta…
Code:
  ("rage_exp_penalty",
    [(store_character_level,":level","trp_player"),
     (val_mul,":level",-8),
     (add_xp_to_troop,":level","trp_player"),
     (assign,reg1,":level"),
       (display_message, "@You spent {reg1} experience points.",0x6495ed),  	 
     ]),

    ("sprint_exp_penalty",
    [(store_character_level,":level","trp_player"),
     (val_mul,":level",-6),
     (add_xp_to_troop,":level","trp_player"),
     (assign,reg1,":level"),
       (display_message, "@You spent {reg1} experience points.",0x6495ed),  	 
     ]),

    ("focus_exp_penalty",
    [(store_character_level,":level","trp_player"),
     (val_mul,":level",-10),
     (add_xp_to_troop,":level","trp_player"),
     (assign,reg1,":level"),
       (display_message, "@You spent {reg1} experience points.",0x6495ed),  	 
     ]),
Yardım mesajı (town_center gibi savaş dışı misyonlara yapıştırıp savaş dışında okuyabilirsin.)
Code:
# EGIII ABILITIES
 abilities_help_on,
 abilities_help_extra,
 abilities_help_off,

(3, 0, ti_once, [], [
                (display_message,"@Press N for help",0x6495ed), 
         ]),
		 
     (1, 0, ti_once, [], [
                (assign, "$ability", 1),	 ]),
At ıslığı/Atı çağırma(Yazdıktan sonra Mercenary’nin bunu biraz daha farklı yaptığını farkettim.Onun versiyonunda savaşa girince sadece kendi atınızı çağırabiliyorsunuz.Yeterli karizmanız varsa herhangi bir atı çağırabileceğiniz gibi yaptım.Eğer daha fazla karizmanız varsa birden fazla at çağırıp küçük bir müfreze yaratabilirsiniz :grin:
Code:
# EGIII Whistle for horse

     (0, 0, 60, [(key_clicked, key_t),(store_attribute_level,"$attribute","trp_player",3),(ge,"$attribute",14),(neg|main_hero_fallen)], [
                 (play_sound,"snd_horse_low_whinny"),
                               
      (get_player_agent_no, ":player_agent"),
      (agent_get_position, pos1, ":player_agent"),
	(store_sub,":ch_bonus","$attribute",14),
	(val_div,":ch_bonus",-2),
	(assign,":whistled",":ch_bonus"),
	(try_for_agents,":agent"),
	
         (agent_is_alive,":agent"),
         (neg|agent_is_human,":agent"),
		 (neg|ge,":whistled",1),
		 (agent_get_position, pos2, ":agent"),
		 (get_distance_between_positions,":distance",pos2,pos1),
		 (ge,":distance",250),

(agent_set_scripted_destination,":agent",pos1,1),
(val_add,":whistled",1),

	(try_end),	
	(display_message,"@You whistle for a horse!",0x6495ed),	
	(call_script, "script_sprint_exp_penalty"),   
         ]),
Alay(Düşman askerleriyle alay ederek kendinize çekmenize yarar.Karizmanız ne kadar çoksa o kadar çok asker gelir)
Code:
# EGIII taunt

     (0, 0, 60, [(key_clicked, key_g),(store_attribute_level,"$attribute","trp_player",3),(neg|main_hero_fallen)], [
                 (play_sound,"snd_man_warcry"),
                               
      (get_player_agent_no, ":player_agent"),
      (agent_get_position, pos1, ":player_agent"),
	(store_sub,":ch_bonus","$attribute",0),
	(val_div,":ch_bonus",-3),
	(assign,":whistled",":ch_bonus"),
	(try_for_agents,":agent"),
	
         (agent_is_alive,":agent"),
         (agent_is_human,":agent"),
		 (neg|agent_is_ally,":agent"),
		 (neg|ge,":whistled",1),
		 (agent_get_position, pos2, ":agent"),
		 (get_distance_between_positions,":distance",pos2,pos1),
		 (ge,":distance",600),
		 
            (agent_set_scripted_destination,":agent",pos1,1),
            (val_add,":whistled",1),

	(try_end),	
	(display_message,"@You taunt your enemies!",0x6495ed),
	(call_script, "script_rage_exp_penalty"),   
         ]),
	(0, 4, 60, [(key_clicked, key_g),(neg|main_hero_fallen)
	 
	 ], [
                 
	(try_for_agents,":agent"),
	 (agent_is_alive,":agent"),
         (agent_is_human,":agent"),
		 (neg|agent_is_ally,":agent"),
(agent_clear_scripted_mode,":agent"),
	(try_end),	

         ]),
Savaş çığlığı(Çevrenizdeki düşmanları korkutup kaçırmanıza yarar.Örneğin etrafınızda etten duvar örmüş piyadeler varsa bu özelliği kullanarak kaçabilirsiniz.)
Code:
#EGIII WARCRY 

     (0, 0, 60, [(key_clicked, key_b),(neg|main_hero_fallen)
	 
	 ], [
                 
(play_sound,"snd_man_victory"),
              
      (get_player_agent_no, ":player_agent"),
      (agent_get_position, pos1, ":player_agent"),
	  (store_character_level,":level","trp_player"),
	 # (agent_set_animation, ":player_agent", "anim_cheer"),
      (val_mul,":level",2),
	  (val_add,":level",1),

	(try_for_agents,":agent"),
		(set_fixed_point_multiplier, 1),
         (agent_is_alive,":agent"),
         (agent_is_human,":agent"),
		 (neg|agent_is_ally,":agent"),
		 
		 (agent_get_troop_id,":trp_agent", ":agent"),
		 (store_character_level,":troop_level",":trp_agent"),
		 (ge,":level",":troop_level"),
		 (agent_get_position, pos2, ":agent"),
		 (get_distance_between_positions,":distance",pos2,pos1),
		 (lt,":distance",500),
		 
		 (set_fixed_point_multiplier, 10),
		 
		 (position_get_x,":player_x",pos1),
		 (position_get_y,":player_y",pos1),
		 (position_get_x,":enemy_x",pos2),
		 (position_get_y,":enemy_y",pos2),

		 (store_sub,":difference_x",":enemy_x",":player_x"),
		 (val_mul,":difference_x",12),

		 (store_sub,":difference_y",":enemy_y",":player_y"),
		 (val_mul,":difference_y",12),
		 
		 (val_add,":enemy_x",":difference_x"),
		 (val_add,":enemy_y",":difference_y"),
		 
		 (position_set_x,pos2,":enemy_x"),
		 (position_set_y,pos2,":enemy_y"),
		 
		 (agent_set_scripted_destination,":agent",pos2,1),
	(try_end),	

	(display_message,"@You unleash a fearsome cry!",0x6495ed),
        (set_fixed_point_multiplier, 1),
	(call_script, "script_focus_exp_penalty"),   
         ]),
	
	(0, 5, 60, [(key_clicked, key_b),(neg|main_hero_fallen)
	 
	 ], [
                 
	#(display_message,"@Enemies regain their courage!",0x6495ed),
	(try_for_agents,":agent"),
	 (agent_is_alive,":agent"),
         (agent_is_human,":agent"),
		 (neg|agent_is_ally,":agent"),
(agent_clear_scripted_mode,":agent"),
	(try_end),	

         ]),	 
	(0, 7, 60, [(key_clicked, key_b),(neg|main_hero_fallen)
	 
	 ], [
                 
	(try_for_agents,":agent"),
	 (agent_is_alive,":agent"),
         (agent_is_human,":agent"),
		 (neg|agent_is_ally,":agent"),
(agent_clear_scripted_mode,":agent"),
	(try_end),	

         ]),
İlkyardım(Canınızı arttırır.)S
Code:
# EGIII first aid

     (0, 0, 60, [(key_clicked, key_y),(store_attribute_level,"$attribute","trp_player",2),(ge,"$attribute",14),(neg|main_hero_fallen)], [
                 (play_sound,"snd_man_grunt_long"),
                               
      (get_player_agent_no, ":player_agent"),
	  (store_skill_level,":first_aid","skl_first_aid","trp_player"),
      
	(store_sub,":int_bonus","$attribute",0),
	(val_mul,":first_aid",3),
	(store_agent_hit_points,":life",":player_agent",1),
	(val_add,":first_aid",":int_bonus"),
	(val_add,":life",":first_aid"),
	(agent_set_hit_points,":player_agent",":life",1),
(agent_set_animation, ":player_agent", "anim_strike_abdomen_front"), 
	(assign,reg1,":first_aid"),
       
(display_message,"@You treat your wounds! (recover {reg1} hitpoints)",0x6495ed),		 
	(call_script, "script_focus_exp_penalty"),   
         ]),
Savaş narası(Askerlerinize moral verir ve onların canını arttırır.)
Code:
# battlecry

     (0, 0, 60, [(key_clicked, key_u),(store_attribute_level,"$attribute","trp_player",3),(neg|main_hero_fallen),
	 (play_sound,"snd_man_warcry"),
	 ], [
(get_player_agent_no, ":player_agent"),
(try_begin),
		(agent_get_class ,":blah", ":player_agent"),
		(neq,":blah",grc_cavalry),
  		(agent_set_animation, ":player_agent", "anim_cheer"),
		 (try_end),
         ]),	
    (0, 2, 60, [(key_clicked, key_u),(store_attribute_level,"$attribute","trp_player",3),(neg|main_hero_fallen),
	 
	 (get_player_agent_no, ":player_agent")
	 ], [

	(store_skill_level,":leadership","skl_leadership","trp_player"),
     (get_player_agent_no, ":player_agent"), 
	(store_sub,":cha_bonus","$attribute",0),
	(val_mul,":leadership",3),
	(try_for_agents,":agent"),
	

         (agent_is_alive,":agent"),
         (agent_is_human,":agent"),
		 (agent_is_ally,":agent"),
		 (neg|eq,":agent",":player_agent"),
		 (store_agent_hit_points,":life",":agent",0),
		 (try_begin),
		(agent_get_class ,":blah", ":agent"),
		(neq,":blah",grc_cavalry),
  		(agent_set_animation, ":agent", "anim_cheer"),
		 (try_end),
		 
	(val_add,":life",":cha_bonus"),
	(val_add,":life",":leadership"),
	(agent_set_hit_points,":agent",":life",0),		 
	#(agent_get_horse,":horse",":agent"),
	(agent_play_sound, ":agent", "snd_man_victory"),
		  #(agent_set_animation, ":agent", "anim_cheer"),
		 (try_end),
		 (store_add,":recovery",":leadership",":cha_bonus"),
		 (assign,reg1,":recovery"),
(display_message,"@You rally your men! (wounded troops recover {reg1} % hitpoints)",0x6495ed),		 
	(call_script, "script_rage_exp_penalty"),   
         ]),
Öfke
Code:
		 # rage NEW9
        
     (0, 0, 60, [(key_clicked, key_j), (store_attribute_level,"$attribute","trp_player",0),(ge,"$attribute",14),(eq,"$ability",1),(neg|main_hero_fallen)], [
                 (play_sound,"snd_man_victory"),
                 (display_message,"@You rage in battle!",0x6495ed),                 
                 (reset_mission_timer_b),

                 (assign, "$ability", 2),
                 (store_attribute_level,"$attribue2","trp_player",0),
                 (val_mul,"$attribue2",2),

                 (store_skill_level,"$iron","skl_ironflesh","trp_player"),
                 (store_skill_level,"$strike","skl_power_strike","trp_player"),
                 (store_skill_level,"$draw","skl_power_draw","trp_player"),
                 (store_skill_level,"$throw","skl_power_throw","trp_player"),                 
                 
                 (troop_raise_skill,"trp_player","skl_power_strike",5),
                 #(troop_raise_skill,"trp_player","skl_power_draw",5),
                 (troop_raise_skill,"trp_player","skl_ironflesh",5),
                 (troop_raise_skill,"trp_player","skl_power_throw",5),

                 (store_skill_level,"$ironnew","skl_ironflesh","trp_player"),
                 (store_skill_level,"$strikenew","skl_power_strike","trp_player"),
                 (store_skill_level,"$drawnew","skl_power_draw","trp_player"),
                 (store_skill_level,"$thrownew","skl_power_throw","trp_player"),                 
         
                 (troop_raise_attribute,"trp_player",1,5),

            
         ]),

     (1, 0, 0, [(store_mission_timer_b,"$timer"),(gt,"$timer","$attribue2"),(eq,"$ability",2)], [

                 (val_sub,"$iron","$ironnew"),
                 (val_sub,"$strike","$strikenew"),
                 (val_sub,"$draw","$drawnew"),
                 (val_sub,"$throw","$thrownew"),             

                 (troop_raise_skill,"trp_player","skl_ironflesh","$iron"),
                 (troop_raise_skill,"trp_player","skl_power_strike","$strike"),
                 (troop_raise_skill,"trp_player","skl_power_draw","$draw"),
                 (troop_raise_skill,"trp_player","skl_power_throw","$throw"),

                 (troop_raise_attribute,"trp_player",1,-5),                    

                 (display_message,"@Your rage dies down...",0x6495ed),
                 (call_script, "script_rage_exp_penalty"),       

                 (assign, "$ability", 1),

         ]),


     (1, 0, 0, [(main_hero_fallen),(eq,"$ability",2)], [

                 (val_sub,"$iron","$ironnew"),
                 (val_sub,"$strike","$strikenew"),
                 (val_sub,"$draw","$drawnew"),
                 (val_sub,"$throw","$thrownew"),             

                 (troop_raise_skill,"trp_player","skl_ironflesh","$iron"),
                 (troop_raise_skill,"trp_player","skl_power_strike","$strike"),
                 (troop_raise_skill,"trp_player","skl_power_draw","$draw"),
                 (troop_raise_skill,"trp_player","skl_power_throw","$throw"),

                 (troop_raise_attribute,"trp_player",1,-5),                    

                 (display_message,"@Your rage dies down...",0x6495ed),
                 (call_script, "script_rage_exp_penalty"),       

                 (assign, "$ability", 1),

         ]),      

     (ti_tab_pressed, 0, 0, [(eq,"$ability",2)], [

                 (val_sub,"$iron","$ironnew"),
                 (val_sub,"$strike","$strikenew"),
                 (val_sub,"$draw","$drawnew"),
                 (val_sub,"$throw","$thrownew"),             

                 (troop_raise_skill,"trp_player","skl_ironflesh","$iron"),
                 (troop_raise_skill,"trp_player","skl_power_strike","$strike"),
                 (troop_raise_skill,"trp_player","skl_power_draw","$draw"),
                 (troop_raise_skill,"trp_player","skl_power_throw","$throw"),

                 (troop_raise_attribute,"trp_player",1,-5),                    

                 (display_message,"@Your rage dies down... ",0x6495ed),
                 (call_script, "script_rage_exp_penalty"),       

                 (assign, "$ability", 1),

         ]),      

# rage end     
Sürat
Code:
# sprint NEW8

     (0, 0, 60, [(key_clicked, key_o),(store_attribute_level,"$attribute","trp_player",1),(ge,"$attribute",14),(eq,"$ability",1),(neg|main_hero_fallen)], [
                 (play_sound,"snd_man_victory"),
                 (display_message,"@You push yourself to the limit!",0x6495ed),                 
                 (reset_mission_timer_b),

                 (assign, "$ability", 3),
                 (store_attribute_level,"$attribue2","trp_player",1),
                 (val_mul,"$attribue2",2),

                 (store_skill_level,"$athletics","skl_athletics","trp_player"),

                 (troop_raise_skill,"trp_player","skl_athletics",7),         
                 (troop_raise_attribute,"trp_player",1,15),

                 (store_skill_level,"$athleticsnew","skl_athletics","trp_player"),                 



            
         ]),

     (1, 0, 0, [(store_mission_timer_b,"$timer"),(gt,"$timer","$attribue2"),(eq,"$ability",3)], [

                 (val_sub,"$athletics","$athleticsnew"),

                 (troop_raise_skill,"trp_player","skl_athletics","$athletics"),

                 (troop_raise_attribute,"trp_player",1,-15),                    

                 (display_message,"@You are out of breath... ",0x6495ed),
                 (call_script, "script_sprint_exp_penalty"),       

                 (assign, "$ability", 1),

         ]),

     (1, 0, 0, [(main_hero_fallen),(eq,"$ability",3)], [

                 (val_sub,"$athletics","$athleticsnew"),

                 (troop_raise_skill,"trp_player","skl_athletics","$athletics"),

                 (troop_raise_attribute,"trp_player",1,-15),                    

                 (display_message,"@You are out of breath... ",0x6495ed),
                 (call_script, "script_sprint_exp_penalty"),       

                 (assign, "$ability", 1),
         ]),      

     (ti_tab_pressed, 0, 0, [(eq,"$ability",3)], [

                   (val_sub,"$athletics","$athleticsnew"),

                 (troop_raise_skill,"trp_player","skl_athletics","$athletics"),

                 (troop_raise_attribute,"trp_player",1,-15),                    

                 (display_message,"@You are out of breath.. ",0x6495ed),
                 (call_script, "script_sprint_exp_penalty"),       

                 (assign, "$ability", 1),
         ]),      


# sprint end
Odak
Code:
# focus NEW8

     (0, 0, 60, [(key_clicked, key_k),(store_attribute_level,"$attribute","trp_player",2),(ge,"$attribute",14),(eq,"$ability",1),(neg|main_hero_fallen)], [

                 (display_message,"@You focus on your weapon completely!",0x6495ed),                 
                 (reset_mission_timer_b),

                 (assign, "$ability", 4),
                 (store_attribute_level,"$attribue2","trp_player",2),
                 (store_attribute_level,"$bonus","trp_player",2),

                 (val_mul,"$bonus",10),                 
                 (val_mul,"$attribue2",2),

                (troop_raise_proficiency_linear,"trp_player",0,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",1,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",2,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",3,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",4,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",5,"$bonus"),                          

                 (troop_raise_attribute,"trp_player",1,5),

            
         ]),

     (1, 0, 0, [(store_mission_timer_b,"$timer"),(gt,"$timer","$attribue2"),(eq,"$ability",4)], [

                 (val_mul,"$bonus",-1),

                (troop_raise_proficiency_linear,"trp_player",0,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",1,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",2,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",3,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",4,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",5,"$bonus"),           

                 (troop_raise_attribute,"trp_player",1,-5),                    

                 (display_message,"@Your lose your focus...",0x6495ed),
                 (call_script, "script_focus_exp_penalty"),       

                 (assign, "$ability", 1),

         ]),

      (1, 0, 0, [(main_hero_fallen),(eq,"$ability",4)], [

                 (val_mul,"$bonus",-1),

                (troop_raise_proficiency_linear,"trp_player",0,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",1,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",2,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",3,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",4,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",5,"$bonus"),           

                 (troop_raise_attribute,"trp_player",1,-5),                    

                 (display_message,"@Your lose your focus... ",0x6495ed),
                 (call_script, "script_focus_exp_penalty"),       

                 (assign, "$ability", 1),
         ]),      

     (ti_tab_pressed, 0, 0, [(eq,"$ability",4)], [

                 (val_mul,"$bonus",-1),

                (troop_raise_proficiency_linear,"trp_player",0,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",1,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",2,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",3,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",4,"$bonus"),
                (troop_raise_proficiency_linear,"trp_player",5,"$bonus"),           

                 (troop_raise_attribute,"trp_player",1,-5),                    

                 (display_message,"@Your lose your focus... ",0x6495ed),
                 (call_script, "script_focus_exp_penalty"),       

                 (assign, "$ability", 1),


         ]),      

# focus end     

NOT:Nadiren(Ben bunun olduğunu görmedim ama insanlar rapor etti.Neden veya ne zaman olduğundan emin değilim)Öfke/Sürat/Odak özellikleri geri gitmiyor ve sonsuza kadar kalıyor.
Şunu module_triggers.py’ye ekleyerek bu problemi çözebilirsiniz.
-KOD-

Eğer çeviri yapmak istiyorsanız ekibe gelebilirsiniz.Arada bir atmaya başlayacağım.
 
Şu yeteneklerde her zaman söylemişimdir bug var, daha önce ben moduma eklerken bunu farketmiştim, düzeltmeye üşendim açıkcası. Çünkü şöyle bir durum var, atletizm skilli skill kullanıldığında yükseltiliyor atıyorum, kayıt edilirken ilk baştaki veri kayıt ediliyor, +7 yapıldığında atıyorum 2+7 9 oluyor, ancak mesela skill aktifken +1 atletizm verdiğimizde 10 a çıktığında geri dönerken 2-10=-8 hesaplayıp tekrar 2 ye düşürüyor, yani verdiğimiz +1 puan orada kalmıyor, o yüzden verilen atletizm miktarı kaç ise o kayıt edilip o kadar silinmeli, ayrıca, bu tarz yeteneklerin 7-8. seviyeden sonra etkisi kalmıyor sadece gösteriş oluyor, 10 seviye olunca etkisi tamamen gidiyor tabi.

Diğer yandan şöyle bir şeyi merak ettim, bu köylere garnizon ekleme zaten kolay bir iş orada sorun yok ama garnizon ekleyince garnizon olarak görüyor mu? Yoksa yine lordlar gelip yağmalıyorlar mı kafalarına göre :smile: Eğer yağmalıyorlarsa sadece gösteriş için garnizon koymak kod sayılmaz, gereksiz bir kod parçası olabilir anca :smile:

Köprü savaşları ise benim gözümde bayağı vasat bir kodlama, sadece try_for_range ile kısa bir kodla halledilebilecek iken her köprü için tek tek veri tanımlanmış, halbuki kodu kullanan yeni köprü eklemeye kalksa bir de kodu editlemesi gerekecek, bu tarz bir döngü ile işini basitce halledebilirdi. Hatta sınırlandırmamak için module_constants.py içine p_bridge_1 i bridges_start, p_bridge_15 + 1 ide bridges_end gibi tanımlayıp kodla hiç oynamadan oyuncunun yeni köprü ekleyip sadece constant verisini değiştirmesini sağlayabilirdi.

Code:
(else_try),
  (assign, ":continue", 0),
  (party_get_position, pos1, "p_main_party"),
  (try_for_range, ":bridge", "p_bridge_1", "p_bridge_15" + 1),
    (party_get_position, pos2, ":bridge"),
    (get_distance_between_positions, ":dist", pos1, pos2),
    (lt, ":dist", 100),
    (assign, ":continue", 1),
    (store_sub, ":scene", ":bridge", "p_bridge_1"),
    (val_add, ":scene", "scn_bridge_1"),
  (try_end),
  (eq, ":continue", 1),
  (set_jump_mission,"mt_lead_charge"),
  (jump_to_scene, ":scene"),

Her neyse neden bu kadar uzun yorum yaptığıma gelirsek, son zamanlarda her dakika OSP türkçe çevirileri gibi konular görmeye başladım forumda, yok yabancı mod çevirileri yok osp çevirileri yok kod çevirileri, o bir türlü vazgeçemediğiniz yabancı arkadaşların kodlarından kat kat iyisini yazabilecek Türk kodcular var aramızda, ayrıca o çevirisini yaptığınız kodların kat kat iyisini siz de yazabilirsiniz. Elbette osp olan güzel şeyleri kullanmak isteyebilirsiniz anlayabilirim, ki bende hoşuma giden şeyleri kendi modumda kullanıyorum, ama genellikle kendimce düzenliyorum sistemleri çünkü zaten bir ton bugları oluyor ya da daha güzel fikirler için kullanıyorum, hatta buna basit örnek verebilirim ki buz'un taverna animasyonlarını alıp ateş başında kamp sahnesini yapması bile ne kadar yaratıcı ve özgün olduğu apaçık belli yani bir insan istedikten sonra var olan fikirleri alıp bunlardan esinlenerek daha iyi şeyler çıkarabilir. Ayrıca yanılmıyorsam frozenpainter idi sanırım oda dans animasyonları ile handa dans eden bir kadın yapmıştı, ki oda çok özgün ve yaratıcı gelmişti bana.

O yüzden bu çevirilere harcayacağınız zamanı, kendinize ayırıp o osp lerin fikirlerini alıp daha iyisini yapmaya çalışın, yani çeviri yapmayı bırakıp kendiniz bir şeyler yapmayı deneyin, deneyin ki bir gün yabancılar oturup Türkçe'den yabancı dile çevirsinler kodlarınızı. Ayrıca bir şeyleri geliştirmeye başladığınızda kendinizi de geliştirirsiniz, kendinizi geliştirince başkalarının gelişmesine de yardımcı olabilirsiniz, böylece bana balık verme balık tutmayı öğret döngüsü başlar. Ama böyle hazır OSPleri Türkçeye çevirince hali hazırda bulunan Türk modlarının %99'u sadece OSP pack gibi bir şeye dönüşüyor, kimse bir şeyler yapayım havasına girmiyor, modelciler model yapmakla uğraşmıyor çünkü yabancı forumda paylaşmasa onun modellerinide kullanan yok, yada yabancı biri yapmadı diye ilgi çekmiyor, çünkü diplomacy modunda  kullanılmıyor.

Böyle çevirileri alıp modlarına yükleyenlerin sonradan bu çevirilerden aldığı kodlar hatalı yada eksikse hata alınca ne yapacağını dahi bilemiyorlar. Çünkü kodlama tecrübesi yok, bir script eksik dediğinde nereye bakacağını bilmeyen kişiler görüyorum. (try_begin) ile (try_end) döngüsünü bilmeyenler var, tuple hatasının ne olduğunu bilmeyenler var. Bunun nedeni de bu tarz çeviriler.  O yüzden üzülüyorum bir yerde, bu kadar seneden sonra halen daha yeni kodlamaya başlayan birinin yardım alabileceği bir konu yok. Yada varsa bile uzunca konuları okumakla uğraşmaktansa aman alırım ospleri koyarım mod yaparım kafası oluşmuş durumda. Zaten modların %99'unun olayı savaştan sonra kazanılan parayı 10k yapmak, turnuvada kazanılan parayı 100k yapmak, başlangıçta oyuncuya köy/kale/şehir vermek. Direkt kral olarak başlamak.

Her neyse çok fazla uzattım, bu tabi ki benim fikrim tamamen, ancak eğer kendinizi geliştirmek istiyorsanız bugünden başlayın ve yabancılardan yada illede yabancı olması gerekmiyor, Türk forumculardan fikirleri alın, kodları varsa kodlarını örnek alın, ama kendiniz daha iyisini yapın, elbette hiç osp kullanmayın demiyorum, güzel şeyleri kullanın, ama bu konuları çevireceğinize, yukarda verdiğim örnekteki gibi köprü savaşlarının kodunu geliştirebilirsiniz mesela, yada köprü savaşını daha geniş çaplı yapabilirsiniz, daha özgün bir şekilde yapabilirsiniz, mesela deniz savaşları ile köprü savaşını birleştirebilirsiniz (köprüye yakın bir gemiyle savaşa girince köprüde gemi savaşı yapılır gibi) Yada ne bileyim mesela köprü mantığını alıp geliştirip dağ savaşlarını da özel sahneleyebilirsiniz, dağda kapışınca daha dağımsı bir sahne açılır gibi vesaire. Ama böyle bir şeyleri Türkçe'ye çevirmek size ne bilgi nede tecrübe kazandırmaz, yani benim size önerim, fikirleri alın, daha iyisini yapın, yine tabi fikir için teşekkür edersiniz, kodlardan örnek aldıysanız kod içinde teşekkür edersiniz, ama yaptığınız sistemde ben yaptım diyebileceğiniz şeyler olsun. Mesela hatalı sistemleri alıp çevirip atmayın, düzenleyin, hataları giderin, hatta aklınıza ekstra bir şey gelirse geliştirin öyle atın.

İyi forumlar herkese.
 
Ama işte, sizde bizi anlamıyorsunuz. Kodlara bakın anlarsınız diyorsunuz ama af edersiniz, kodlara mal gibi bakıyoruz ve hiç bir şey anlamıyoruz. Ve bize işin mantığını anlatan konular ise maalesef sınırlı sayıda, daha fazla yararlanamıyoruz ama tabi bizde kendimizce bir şeyler üretmeye çalışıyoruz ama maalesef ki buda vasat kalıyor. Ve çevirilerden medet umuyoruz, çünkü gerçekten anlayamıyoruz mantığını, mesela ben module_dialogs`dan öteye çıkamıyorum. İşte asıl bu konuda sizin, bize yardımcı olmanız lazım. Zira sizde bu yollardan geçtiniz ve eminim ki sizde ilk zamanlar neler hissetiğimizi, az çok anlıyor olmalısınız. Bize öyle bir yol çizin ki devamını biz getirebilelim. :wink:
 
Porshy said:
O yüzden bu çevirilere harcayacağınız zamanı, kendinize ayırıp o osp lerin fikirlerini alıp daha iyisini yapmaya çalışın, yani çeviri yapmayı bırakıp kendiniz bir şeyler yapmayı deneyin, deneyin ki bir gün yabancılar oturup Türkçe'den yabancı dile çevirsinler kodlarınızı. Ayrıca bir şeyleri geliştirmeye başladığınızda kendinizi de geliştirirsiniz, kendinizi geliştirince başkalarının gelişmesine de yardımcı olabilirsiniz, böylece bana balık verme balık tutmayı öğret döngüsü başlar.

Yıllardır yapmaya çalıştığım şey bu. İnsanlara balık tutmasını göstermek. :smile:
RoadWarriror said:
Ama işte, sizde bizi anlamıyorsunuz. Kodlara bakın anlarsınız diyorsunuz ama af edersiniz, kodlara mal gibi bakıyoruz ve hiç bir şey anlamıyoruz. Ve bize işin mantığını anlatan konular ise maalesef sınırlı sayıda, daha fazla yararlanamıyoruz ama tabi bizde kendimizce bir şeyler üretmeye çalışıyoruz ama maalesef ki buda vasat kalıyor. Ve çevirilerden medet umuyoruz, çünkü gerçekten anlayamıyoruz mantığını, mesela ben module_dialogs`dan öteye çıkamıyorum. İşte asıl bu konuda sizin, bize yardımcı olmanız lazım. Zira sizde bu yollardan geçtiniz ve eminim ki sizde ilk zamanlar neler hissetiğimizi, az çok anlıyor olmalısınız. Bize öyle bir yol çizin ki devamını biz getirebilelim. :wink:

https://forums.taleworlds.com/index.php/topic,284464.0.html
https://forums.taleworlds.com/index.php/topic,182830.0.html
https://forums.taleworlds.com/index.php/topic,314284.0.html

Bu üçü yeter de artar bence. Yabancı forumda da öyle dolu dolu kod dersi yok. Herkes kendine müslüman.

Ben kodlamaya başladığımda ortalıkta bir tek Efe Karacar'ın yaptığı şu çeviri vardı adam akıllı. Geri kalanların neredeyse tamamı OSP çevirisiydi. Ben de ilkte tabii ki çevirilerden kodlar kullanıyordum. Sonra hayaller kurmaya başladım şunu şöyle yapsam bunu böyle yapsam diye, bu kodları yazanlar nasıl yazmış diye baktım. modül sistem dosyalarını araştırdım. Ve aralarında header_operations diye bir dosya buldum. Daha sonraları ID_ uzantılı dosyaların, module_ uzantılı dosyalarda kullanılan "x'lere" değer verdiğini gördüm. Mesela trooplar. İlk üç troop sırasıyla x, y ve z olsun module_ dosyalarında. ID_troops'ta ilk üç troopun şöyle listelendiğini gördüm;

Code:
trp_player = 0
trp_multiplayer_profile_troop_male = 1
trp_multiplayer_profile_troop_female = 2

Buradan da module_ uzantılı dosyalarda ne var ne yok her şeyin bir liste halinde değer verilerek oyuna aktarıldığını farkettim. Operasyonlar da buna dahil. Normalde module_build, operasyonları şöyle okuyor;

Code:
(30, 20, 40),

peki baştaki 30 neyi sembolize ediyor? Tabii ki de operasyon ismini;

Code:
ge           = 30  # greater than or equal to -- (ge,<value>,<value>),

Ben bu şekilde öğrendim her şeyi.  :smile:
 
Bugün çevirilerimi inceledim ve sadece özelliğin nasıl ekleneceğini berbat bir şekilde anlatmışım.Hyper ve Porshy haklılar.1 aya daha detaylı açıklama ile geri dönüş yaparım diye düşünüyorum.O zaman ise üstteki arkadaş gibi soru soranlar sormaz ve daha açık anlarlar.
 
Back
Top Bottom