Mam pyt.
"Włożyłem sobie dwa skrypty Kolby do gry i żaden nie działa :(, chodzi tutaj o uderzenia tarczą i o gwizdanie na konia.
Uderzenia tarczą :(w module scripts na końcu)
("cf_agent_shield_bash",
[(store_script_param, ":agent",1),
(agent_get_position,pos1,":agent"),
(agent_set_animation, ":agent", "anim_release_bash"),
(agent_play_sound,":agent","snd_man_grunt"),
(assign,":victim",-1),
(try_for_agents,":possible_victim"),
(agent_is_alive,":possible_victim"),
(agent_is_human,":possible_victim"),
(neq,":possible_victim",":agent"),
(agent_get_class ,":class", ":possible_victim"),
(neq,":class",grc_cavalry),
(agent_get_position,pos2,":possible_victim"),
(get_distance_between_positions,":dist",pos1,pos2),
(lt,":dist",150),
(neg|position_is_behind_position,pos2,pos1),
(assign,":victim",":possible_victim"),
(end_try),
(gt,":victim",-1),
(store_random_in_range,":rand",0,2),
(store_agent_hit_points,":hp",":victim",1),
(val_sub,":hp",":rand"),
(store_random_in_range,":hit_reaction",1,101),
(store_skill_level,":a_shield",skl_shield,":victim"),
(store_skill_level,":v_shield",skl_shield,":agent"),
(try_begin),
(gt,":hp",0),
(agent_set_hit_points,":victim",":hp",1),
(agent_play_sound,":agent","snd_shield_hit_wood_wood"),
(agent_play_sound,":victim","snd_blunt_hit"),
(try_begin),
(gt,":a_shield", ":v_shield"),
(try_begin),
(is_between,":hit_reaction",0,10),
(agent_set_animation, ":victim", "anim_bash_unsuccessful"),
(else_try),
(is_between,":hit_reaction",11,20),
(agent_set_animation, ":victim", "anim_bash_crouch"),
(else_try),
(is_between,":hit_reaction",21,30),
(agent_set_animation, ":victim", "anim_bash_mini_stun"),
(else_try),
(is_between,":hit_reaction",21,79),
(agent_set_animation, ":victim", "anim_bash_stun"),
(else_try),
(is_between,":hit_reaction",80,100),
(agent_set_animation, ":victim", "anim_bash_knocked"),
(end_try),
(else_try),
(lt,":a_shield", ":v_shield"),
(try_begin),
(is_between,":hit_reaction",0,20),
(agent_set_animation, ":victim", "anim_bash_unsuccessful"),
(else_try),
(is_between,":hit_reaction",21,42),
(agent_set_animation, ":victim", "anim_bash_crouch"),
(else_try),
(is_between,":hit_reaction",43,65),
(agent_set_animation, ":victim", "anim_bash_mini_stun"),
(else_try),
(is_between,":hit_reaction",66,92),
(agent_set_animation, ":victim", "anim_bash_stun"),
(else_try),
(is_between,":hit_reaction",93,100),
(agent_set_animation, ":victim", "anim_bash_knocked"),
(end_try),
(else_try),
(eq,":a_shield", ":v_shield"),
(try_begin),
(is_between,":hit_reaction",0,16),
(agent_set_animation, ":victim", "anim_bash_unsuccessful"),
(else_try),
(is_between,":hit_reaction",17,33),
(agent_set_animation, ":victim", "anim_bash_crouch"),
(else_try),
(is_between,":hit_reaction",34,50),
(agent_set_animation, ":victim", "anim_bash_mini_stun"),
(else_try),
(is_between,":hit_reaction",51,89),
(agent_set_animation, ":victim", "anim_bash_stun"),
(else_try),
(is_between,":hit_reaction",90,100),
(agent_set_animation, ":victim", "anim_bash_knocked"),
(end_try),
(end_try),
(else_try),
(agent_play_sound,":agent","snd_shield_hit_wood_wood"),
(agent_play_sound,":victim","snd_blunt_hit"),
(agent_deliver_damage_to_agent,":agent",":victim"),
(end_try),
]),
W mission_templates :
(assign, "$pin_player_fallen", 1),
(str_store_string, s5, "str_retreat"),
(call_script, "script_simulate_retreat", 10, 20),
(assign, "$g_battle_result", -1),
(set_mission_result,-1),
(call_script, "script_count_mission_casualties_from_agents"),
(finish_mission,0)]),
common_battle_inventory,
#AI Tiggers
(ti_before_mission_start, 0, 0, [], [(assign,"$bash_readiness",0)]),
(0.1, 0, 0, [], [(val_add,"$bash_readiness",1),]),
(0, 0, 0, [(game_key_is_down, gk_defend),(game_key_clicked, gk_attack),],
[(assign,":continue",0),
(get_player_agent_no,":player"),
(agent_is_alive,":player"),
(try_for_range,":shield","itm_wooden_shield","itm_heraldic_mail_with_surcoat"),
(agent_has_item_equipped,":player",":shield"),
(assign,":continue",1),
(end_try),
(eq,":continue",1),
(agent_get_horse,":horse",":player"),
(neg|gt,":horse",0),
(ge,"$bash_readiness",10),
(assign,"$bash_readiness",0),
(call_script,"script_cf_agent_shield_bash",":player"),
]),
(1.0, 0, 0, [],
[(get_player_agent_no,":player"),
(try_for_agents,":agent"),
(agent_is_alive,":agent"),
(agent_is_human,":agent"),
(neq,":agent",":player"),
(agent_get_class ,":class", ":agent"),
(neq,":class",grc_cavalry),
(assign,":continue",0),
(try_for_range,":shield","itm_wooden_shield","itm_heraldic_mail_with_surcoat"),
(agent_has_item_equipped,":agent",":shield"),
(assign,":continue",1),
(end_try),
(eq,":continue",1),
(assign,":chances",0),
(agent_get_team,":team",":agent"),
(agent_get_position,pos1,":agent"),
(try_for_agents,":other"),
(agent_is_alive,":other"),
(agent_is_human,":other"),
(agent_get_class ,":class", ":other"),
(neq,":class",grc_cavalry),
(agent_get_team,":otherteam",":other"),
(neq,":team",":otherteam"),
(agent_get_position,pos2,":other"),
(get_distance_between_positions,":dist",pos1,pos2),
(neg|position_is_behind_position,pos2,pos1),
(lt,":dist",200),
(val_add,":chances",1),
(end_try),
(store_agent_hit_points,":health",":agent",0),
(val_mul,":health",-1),
(val_add,":health",100),
(val_div,":health",10),
(val_mul,":chances",":health"),
(store_random_in_range,":rand",1,25),
(lt,":rand",":chances"),
(call_script,"script_cf_agent_shield_bash",":agent"),
(end_try),]),
I zmieniony kod w module animations :
### Unused human animations start from here.
# strike_fall_back_rise_after_bashed
["bash_knocked", acf_enforce_all|acf_align_with_ground,
[2.0, "anim_human", blow+5400, blow+5453, arf_blend_in_2],
],
# strike_chest_front_stop
["bash_stun", acf_enforce_all,
[1.5, "anim_human", blow+5000, blow+5010, arf_blend_in_3],
],
# strike_chest_front_stop
["bash_mini_stun", acf_enforce_all,
[0.6, "anim_human", blow+5000, blow+5010, arf_blend_in_3],
],
# anim jump end
["bash_crouch", acf_enforce_all|acf_enforce_lowerbody,
[0.5, "anim_human", 280, 290, arf_blend_in_3],
],
# strike_head_front_left
["bash_unsuccessful", acf_enforce_all,
[0.55, "anim_human", blow+0, blow+10, arf_blend_in_3],
],
["release_bash", acf_enforce_all|acf_right_cut|acf_parallels_for_look_slope,
[0.62, "anim_human", combat+5710, combat+5740, blend_in_release],
],
["unused_human_anim_7", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_8", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_9", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_10", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_11", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_12", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_13", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_14", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_15", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_16", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_17", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_18", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_19", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_20", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_21", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_22", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_23", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_24", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_25", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_26", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_27", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_28", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_29", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_30", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_31", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_32", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_33", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_34", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_35", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_36", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_37", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_38", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_39", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_40", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_41", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_42", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_43", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_44", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_45", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_46", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_47", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_48", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_49", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_50", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_51", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_52", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_53", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_54", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_55", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_56", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_57", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_58", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_59", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_60", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_61", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_62", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_63", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_64", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_65", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_66", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_67", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_68", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_69", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_70", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_71", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_72", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_73", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_74", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_75", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_76", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_77", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_78", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_79", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_80", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_81", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_82", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_83", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_84", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_85", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_86", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_87", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_88", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_89", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_90", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_91", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_92", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_93", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_94", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_95", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_96", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_97", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_98", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_99", 0, [1.0, "anim_human", 0, 1, 0]],
["unused_human_anim_100", 0, [1.0, "anim_human", 0, 1, 0]],
Gwizdanie na konia :(w mission templates, w misie lead_charge w sekci AI Triggers)
#AI Tiggers
(ti_before_mission_start, 0, 0, [], [(assign,"$bash_readiness",0)]),
(0.1, 0, 0, [], [(val_add,"$bash_readiness",1),]),
( (0, 0, 60, [(key_clicked, key_t),(store_attribute_level,"$attribute","trp_player",3),(ge,"$attribute",14),(neg|main_hero_fallen)], [
(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"),
]),
(eq,":continue",1),
(assign,":chances",0),
(agent_get_team,":team",":agent"),
(agent_get_position,pos1,":agent"),
(try_for_agents,":other"),
(agent_is_alive,":other"),
(agent_is_human,":other"),
(agent_get_class ,":class", ":other"),
(neq,":class",grc_cavalry),
(agent_get_team,":otherteam",":other"),
(neq,":team",":otherteam"),
(agent_get_position,pos2,":other"),
(get_distance_between_positions,":dist",pos1,pos2),
(neg|position_is_behind_position,pos2,pos1),
(lt,":dist",200),
(val_add,":chances",1),
(end_try),
(store_agent_hit_points,":health",":agent",0),
(val_mul,":health",-1),
(val_add,":health",100),
(val_div,":health",10),
(val_mul,":chances",":health"),
(store_random_in_range,":rand",1,25),
(lt,":rand",":chances"),
W module scripts na końcu :
(is_between,":hit_reaction",17,33),
(agent_set_animation, ":victim", "anim_bash_crouch"),
(else_try),
(is_between,":hit_reaction",34,50),
(agent_set_animation, ":victim", "anim_bash_mini_stun"),
(else_try),
(is_between,":hit_reaction",51,89),
(agent_set_animation, ":victim", "anim_bash_stun"),
(else_try),
(is_between,":hit_reaction",90,100),
(agent_set_animation, ":victim", "anim_bash_knocked"),
(end_try),
(end_try),
(else_try),
(agent_play_sound,":agent","snd_shield_hit_wood_wood"),
(agent_play_sound,":victim","snd_blunt_hit"),
(agent_deliver_damage_to_agent,":agent",":victim"),
(end_try),
]),
("sprint_exp_penalty",
[(store_character_level,":level","trp_player"),
(val_mul,":level",-200),
(add_xp_to_troop,":level","trp_player"),
]),
A wyskakuje coś takiego :
(is_between,":hit_reaction",17,33),
(agent_set_animation, ":victim", "anim_bash_crouch"),
(else_try),
(is_between,":hit_reaction",34,50),
(agent_set_animation, ":victim", "anim_bash_mini_stun"),
(else_try),
(is_between,":hit_reaction",51,89),
(agent_set_animation, ":victim", "anim_bash_stun"),
(else_try),
(is_between,":hit_reaction",90,100),
(agent_set_animation, ":victim", "anim_bash_knocked"),
(end_try),
(end_try),
(else_try),
(agent_play_sound,":agent","snd_shield_hit_wood_wood"),
(agent_play_sound,":victim","snd_blunt_hit"),
(agent_deliver_damage_to_agent,":agent",":victim"),
(end_try),
]),
("sprint_exp_penalty",
[(store_character_level,":level","trp_player"),
(val_mul,":level",-200),
(add_xp_to_troop,":level","trp_player"),
]),
Wie ktoś ocb ?