本帖最后由 卢森堡的夜幕 于 2026-2-15 13:55 编辑
[color=var(--Ga9)]以下为我的开源代码飞剑术的实现 使用要求:必须对于作者也就是我,致谢,贡献者,Credit等署名 署名为:夜幕 有任何不懂的地方或bug可以私信和评论告诉我 描述:你穿上指定护甲后,胸前会常驻一把召唤剑。这把剑会自动找敌人,不需要你额外按键 以下为主体代码: - ym_summoned_sword = (
- 0.1, 0, 0,
- [],
- [
- (get_player_agent_no, ":ym_0"),
- (agent_is_active, ":ym_0"),
- (agent_is_alive, ":ym_0"),
- (agent_is_human, ":ym_0"),
- (agent_get_item_slot, ":ym_1", ":ym_0", ek_body),
- (ge, ":ym_1", 0),
- (item_get_slot, ":ym_2", ":ym_1", ym_slot_item_0),
- (store_mission_timer_a_msec, ":ym_3"),
- (assign, ":ym_4", 0),
- (agent_get_slot, ":ym_5", ":ym_0", ym_slot_agent_0),
- (try_begin),
- (prop_instance_is_valid, ":ym_5"),
- (agent_get_slot, ":ym_6", ":ym_0", ym_slot_agent_1),
- (gt, ":ym_6", ":ym_3"),
- (assign, ":ym_4", 1),
- (try_end),
- (try_begin),
- (eq, ":ym_4", 1),
- (agent_get_slot, ":ym_7", ":ym_0", ym_slot_agent_2),
- (try_begin),
- (prop_instance_is_valid, ":ym_7"),
- (agent_get_attached_scene_prop, ":ym_8", ":ym_0"),
- (try_begin),
- (eq, ":ym_8", ":ym_7"),
- (agent_set_attached_scene_prop, ":ym_0", -1),
- (try_end),
- (scene_prop_set_visibility, ":ym_7", 0),
- (try_end),
- (agent_set_slot, ":ym_0", ym_slot_agent_2, -1),
- (else_try),
- (try_begin),
- (le, ":ym_2", 0),
- (agent_get_slot, ":ym_9", ":ym_0", ym_slot_agent_2),
- (try_begin),
- (prop_instance_is_valid, ":ym_9"),
- (scene_prop_set_visibility, ":ym_9", 0),
- (scene_prop_set_slot, ":ym_9", ym_slot_scene_prop_0, -1),
- (scene_prop_set_slot, ":ym_9", ym_slot_scene_prop_1, -1),
- (scene_prop_set_slot, ":ym_9", ym_slot_scene_prop_2, 0),
- (scene_prop_set_slot, ":ym_9", ym_slot_scene_prop_3, 0),
- (scene_prop_set_slot, ":ym_9", ym_slot_scene_prop_4, 0),
- (scene_prop_set_slot, ":ym_9", ym_slot_scene_prop_5, 0),
- (try_end),
- (agent_set_slot, ":ym_0", ym_slot_agent_2, -1),
- (else_try),
- (item_get_slot, ":ym_10", ":ym_1", ym_slot_item_1),
- (item_get_slot, ":ym_11", ":ym_1", ym_slot_item_2),
- (item_get_slot, ":ym_12", ":ym_1", ym_slot_item_3),
- (assign, ":ym_13", 7),
- (assign, ":ym_14", -35),
- (assign, ":ym_15", 8),
- (assign, ":ym_16", 13),
- (assign, ":ym_17", 0),
- (try_begin),
- (le, ":ym_10", 0),
- (assign, ":ym_10", 1400),
- (try_end),
- (try_begin),
- (le, ":ym_11", 0),
- (assign, ":ym_11", 40),
- (try_end),
- (try_begin),
- (le, ":ym_12", 0),
- (assign, ":ym_12", 700),
- (try_end),
- (agent_get_slot, ":ym_18", ":ym_0", ym_slot_agent_2),
- (try_begin),
- (neg|prop_instance_is_valid, ":ym_18"),
- (spawn_scene_prop, "spr_sword_prop_ym"),
- (assign, ":ym_18", reg0),
- (scene_prop_set_visibility, ":ym_18", 1),
- (agent_set_slot, ":ym_0", ym_slot_agent_2, ":ym_18"),
- (scene_prop_set_slot, ":ym_18", ym_slot_scene_prop_0, ":ym_0),
- (scene_prop_set_slot, ":ym_18", ym_slot_scene_prop_1, -1),
- (store_mission_timer_a_msec, ":ym_3"),
- (scene_prop_set_slot, ":ym_18", ym_slot_scene_prop_2, ":ym_3"),
- (scene_prop_set_slot, ":ym_18", ym_slot_scene_prop_3, 0),
- (scene_prop_set_slot, ":ym_18", ym_slot_scene_prop_4, 0),
- (scene_prop_set_slot, ":ym_18", ym_slot_scene_prop_5, 0),
- (scene_prop_set_slot, ":ym_18", ym_slot_scene_prop_6, 0),
- (scene_prop_set_slot, ":ym_18", ym_slot_scene_prop_7, 120),
- (try_end),
- (scene_prop_get_slot, ":ym_19", ":ym_18", ym_slot_scene_prop_6),
- (try_begin),
- (eq, ":ym_19", 0),
- (agent_set_attached_scene_prop, ":ym_0", ":ym_18", 0, ":ym_13", 1),
- (agent_set_attached_scene_prop_x, ":ym_0", ":ym_14", 0),
- (agent_set_attached_scene_prop_y, ":ym_0", ":ym_15", 0),
- (agent_set_attached_scene_prop_z, ":ym_0", ":ym_16", 0),
- (try_end),
- (scene_prop_get_slot, ":ym_20", ":ym_18", ym_slot_scene_prop_1),
- (assign, ":ym_21", 0),
- (try_begin),
- (ge, ":ym_20", 0),
- (agent_is_active, ":ym_20"),
- (agent_is_alive, ":ym_20"),
- (agent_is_human, ":ym_20"),
- (agent_get_team, ":ym_22", ":ym_0"),
- (agent_get_team, ":ym_23", ":ym_20"),
- (teams_are_enemies, ":ym_22", ":ym_23"),
- (assign, ":ym_24", ":ym_10"),
- (agent_get_horse, ":ym_25", ":ym_20"),
- (try_begin),
- (ge, ":ym_25", 0),
- (val_mul, ":ym_24", 2),
- (try_end),
- (agent_get_position, pos22, ":ym_0"),
- (agent_get_position, pos23, ":ym_20"),
- (get_distance_between_positions, ":ym_26", pos22, pos23),
- (le, ":ym_26", ":ym_24"),
- (assign, ":ym_21", 1),
- (try_end),
- (try_begin),
- (eq, ":ym_21", 0),
- (assign, ":ym_20", -1),
- (assign, ":ym_27", 100000),
- (agent_get_team, ":ym_22", ":ym_0"),
- (agent_get_position, pos20, ":ym_0"),
- (try_for_agents, ":ym_28"),
- (agent_is_alive, ":ym_28"),
- (agent_is_human, ":ym_28"),
- (agent_get_team, ":ym_29", ":ym_28"),
- (teams_are_enemies, ":ym_22", ":ym_29"),
- (assign, ":ym_30", ":ym_10"),
- (agent_get_horse, ":ym_31", ":ym_28"),
- (try_begin),
- (ge, ":ym_31", 0),
- (val_mul, ":ym_30", 2),
- (try_end),
- (agent_get_position, pos21, ":ym_28"),
- (get_distance_between_positions, ":ym_32", pos20, pos21),
- (lt, ":ym_32", ":ym_27"),
- (le, ":ym_32", ":ym_30"),
- (assign, ":ym_27", ":ym_32"),
- (assign, ":ym_20", ":ym_28"),
- (try_end),
- (scene_prop_set_slot, ":ym_18", ym_slot_scene_prop_1, ":ym_20"),
- (try_end),
- (scene_prop_get_slot, ":ym_19", ":ym_18", ym_slot_scene_prop_6),
- (try_begin),
- (eq, ":ym_19", 1),
- (scene_prop_get_slot, ":ym_33", ":ym_18", ym_slot_scene_prop_4),
- (ge, ":ym_3", ":ym_33"),
- (scene_prop_get_slot, ":ym_34", ":ym_18", ym_slot_scene_prop_7),
- (try_begin),
- (le, ":ym_34", 0),
- (assign, ":ym_34", 120),
- (try_end),
- (try_begin),
- (ge, ":ym_20", 0),
- (agent_is_active, ":ym_20"),
- (agent_is_alive, ":ym_20"),
- (agent_get_team, ":ym_22", ":ym_0"),
- (agent_get_team, ":ym_23", ":ym_20"),
- (teams_are_enemies, ":ym_22", ":ym_23"),
- (prop_instance_get_position, pos31, ":ym_18"),
- (agent_get_bone_position, pos32, ":ym_20", 6, 1),
- (get_distance_between_positions, ":ym_35", pos31, pos32),
- (le, ":ym_35", ":ym_34"),
- (agent_deliver_damage_to_agent, ":ym_0", ":ym_20", ":ym_11"),
- (agent_play_sound, ":ym_20", "snd_metal_hit_high_armor_high_damage"),
- (try_end),
- (scene_prop_set_slot, ":ym_18", ym_slot_scene_prop_6, 0),
- (scene_prop_set_slot, ":ym_18", ym_slot_scene_prop_4, 0),
- (try_end),
- (try_begin),
- (ge, ":ym_20", 0),
- (scene_prop_get_slot, ":ym_19", ":ym_18", ym_slot_scene_prop_6),
- (eq, ":ym_19", 0),
- (store_mission_timer_a_msec, ":ym_3"),
- (scene_prop_get_slot, ":ym_36", ":ym_18", ym_slot_scene_prop_2),
- (ge, ":ym_3", ":ym_36"),
- (agent_get_look_position, pos30, ":ym_20"),
- (scene_prop_get_slot, ":ym_37", ":ym_18", ym_slot_scene_prop_3),
- (store_mul, ":ym_38", ":ym_37", 90),
- (val_add, ":ym_38", ":ym_17"),
- (position_rotate_z, pos30, ":ym_38"),
- (position_move_x, pos30, 95),
- (position_move_z, pos30, 75),
- (agent_get_attached_scene_prop, ":ym_8", ":ym_0"),
- (try_begin),
- (eq, ":ym_8", ":ym_18"),
- (agent_set_attached_scene_prop, ":ym_0", -1),
- (try_end),
- (prop_instance_get_position, pos31, ":ym_18"),
- (get_distance_between_positions, ":ym_39", pos31, pos30),
- (assign, ":ym_40", ":ym_39"),
- (val_div, ":ym_40", 12),
- (agent_get_horse, ":ym_25", ":ym_20"),
- (try_begin),
- (ge, ":ym_25", 0),
- (val_div, ":ym_40", 2),
- (try_end),
- (val_clamp, ":ym_40", 50, 170),
- (prop_instance_animate_to_position, ":ym_18", pos30, ":ym_40"),
- (store_mul, ":ym_41", ":ym_40", 10),
- (store_add, ":ym_42", ":ym_3", ":ym_41"),
- (scene_prop_set_slot, ":ym_18", ym_slot_scene_prop_4, ":ym_42"),
- (scene_prop_set_slot, ":ym_18", ym_slot_scene_prop_6, 1),
- (val_add, ":ym_37", 1),
- (val_mod, ":ym_37", 4),
- (scene_prop_set_slot, ":ym_18", ym_slot_scene_prop_3, ":ym_37"),
- (store_add, ":ym_36", ":ym_3", ":ym_12"),
- (scene_prop_set_slot, ":ym_18", ym_slot_scene_prop_2, ":ym_36"),
- (try_end),
- (try_end),
- (try_end),
- ])
复制代码
|