返回
返回

骑枪一击杀马(武器攻击触发器放骑枪上)

(store_trigger_param_1,":var_0"),                 
(agent_get_team, ":user_team"":var_0"), 
(agent_get_position,pos2,":var_0"),  

(assign, ":distance_closest"1000), #设置范围10m
(assign, ":enemies_closest"-1), #用于存储最近的敌对单位
(try_for_agents, ":enemies"),
    (agent_is_alive, ":enemies"),
    (agent_is_human, ":enemies"),

    (agent_get_position, pos3, ":enemies"),
    (agent_get_team, ":enemies_team"":enemies"),
    (teams_are_enemies, ":user_team"":enemies_team"),

    (get_distance_between_positions, ":distance_abs", pos2, pos3), #获取自己和敌对单位的距离
    (lt, ":distance_abs"":distance_closest"), #只选取设置范围内的敌人
    (assign, ":distance_closest"":distance_abs"),
    (assign, ":enemies_closest"":enemies"),
(try_end),
(try_begin),
    (neq, ":enemies_closest"-1), #当:enemies_closest不为-1即有敌人时
    (agent_get_horse,":enemies_horse",":enemies_closest"), #获取最近敌对单位的马匹
    (try_begin),
        (neg|eq,":enemies_horse",-1), #当获取值不为-1即有马时
        (agent_deliver_damage_to_agent,":enemies_horse",2000), #传递伤害
    (try_end),
(try_end),

近战武器减速士兵 若是骑手则减速马 (武器攻击触发器 放近战武器上)

(store_trigger_param_1,":var_0"),                 
(agent_get_team, ":user_team"":var_0"), 
(agent_get_position,pos2,":var_0"),  

(assign, ":distance_closest"500), #近战范围很小,所以设5m即可
(assign, ":enemies_closest"-1),
(try_for_agents, ":enemies"),
    (agent_is_alive, ":enemies"),
    (agent_is_human, ":enemies"),

    (agent_get_position, pos3, ":enemies"),
    (agent_get_team, ":enemies_team"":enemies"),
    (teams_are_enemies, ":user_team"":enemies_team"),
    (get_distance_between_positions, ":distance_abs", pos2, pos3),
    (lt, ":distance_abs"":distance_closest"),
    (assign, ":distance_closest"":distance_abs"),
    (assign, ":enemies_closest"":enemies"),
(try_end),
(try_begin),
    (neq, ":enemies_closest"-1),
    (agent_get_horse,":enemies_horse",":enemies_closest"),
    (try_begin),
        (neg|eq,":enemies_horse",-1),
        (agent_set_horse_speed_factor, ":enemies_horse"0),
    (else_try),
        (agent_set_speed_limit,":enemies_closest",0),
    (try_end),
(try_end),