|
以下为我的开源代码双持左轮的实现 使用要求:必须对于作者也就是我,致谢,贡献者,Credit等署名 署名为:夜幕 效果:【【骑砍】双持左轮手枪-哔哩哔哩】 https://b23.tv/ehHw0Jp 有任何不懂的地方或bug可以私信和评论告诉我 双持动作部分则必须使用wse2 - agent_set_personal_animation
- agent_set_default_animations#这俩操作符为wse专属
复制代码以下为主体代码: - m_zuolun_she = (
- 0, 0, 0.05, [],
- [
- (get_player_agent_no, ":ym_1"),
- (agent_is_alive, ":ym_1"),
- (agent_get_wielded_item, ":ym_2", ":ym_1", 0),
- (agent_get_animation,":ym_3",":ym_1",1),
- (agent_get_slot, ":ym_4", ":ym_1", slot_agent_dual_draw_state),
- (agent_get_slot, ":ym_5", ":ym_1", slot_agent_dual_fire_latch),
- (agent_get_slot, ":ym_6", ":ym_1", slot_agent_du_gun),
- (assign, ":ym_7", 0),
- (assign, ":ym_8", 0),
- (try_begin),
- (gt, ":ym_2", 0),
- (item_get_slot, ":ym_8", ":ym_2", slot_item_dual_offhand_scene_prop),
- (gt, ":ym_8", 0),
- (assign, ":ym_7", 1),
- (try_end),
- (try_begin),
- (this_or_next|eq, ":ym_7", 0),
- (eq, ":ym_4", 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_fire_latch, 0),
- (assign, ":ym_5", 0),
- (try_end),
- (try_begin),
- (eq, ":ym_7", 1),
- (eq, ":ym_4", 1),
- (ge, ":ym_6", 1),
- (game_key_is_down, gk_defend),
- (try_begin),
- (neq, ":ym_3", "anim_ready_pistol_zuoyou"),
- (agent_set_animation, ":ym_1", "anim_ready_pistol_zuoyou", 1),
- (try_end),
- (agent_set_slot, ":ym_1", slot_agent_dual_fire_latch, 1),
- (else_try),
- (eq, ":ym_7", 1),
- (eq, ":ym_4", 1),
- (neg|game_key_is_down, gk_defend),
- (eq, ":ym_5", 1),
- (neq, ":ym_3", "anim_du_gun_reload"),
- (eq, ":ym_3", "anim_ready_pistol_zuoyou"),
- (agent_get_slot,":ym_9",":ym_1",slot_agent_du_gun),
- (ge,":ym_9",1),
- (store_mission_timer_c_msec, ":ym_10"),
- (agent_get_slot, ":ym_11", ":ym_1", slot_agent_dual_offhand_last_fire_msec),
- (item_get_speed_rating, ":ym_12", ":ym_2"),
- (assign, ":ym_13", ":ym_12"),
- (val_mul, ":ym_13", 2),
- (val_max, ":ym_13", 60),
- (store_div, ":ym_14", 60000, ":ym_13"),
- (store_sub, ":ym_15", ":ym_10", ":ym_11"),
- (ge, ":ym_15", ":ym_14"),
- (item_get_missile_speed, ":ym_16", ":ym_2"),
- (convert_to_fixed_point, ":ym_16"),
- (agent_set_animation, ":ym_1", "anim_release_pistol_zuo", 1),
- (agent_get_bone_position, pos1, ":ym_1", 19, 1),
- (agent_get_look_position, pos2, ":ym_1"),
- (position_copy_rotation, pos1, pos2),
- (agent_get_bone_position, pos4, ":ym_1", 13, 1),
- (position_move_y, pos4, 28, 0),
- (position_move_z, pos4, 3, 0),
- (position_move_x, pos4, 37),
- (particle_system_burst, "psys_pistol_smoke", pos4, 7),
- (particle_system_burst, "psys_muzzle_flash", pos4, 1),
- (agent_play_sound,":ym_1", "snd_revolver_shot_005"),
- (add_missile, ":ym_1", pos1, ":ym_16", ":ym_2", 0, "itm_cartridges_bolts1", 0),
- (val_sub, ":ym_9", 1),
- (val_max, ":ym_9", 0),
- (agent_set_slot, ":ym_1", slot_agent_du_gun, ":ym_9"),
- (assign, reg0, ":ym_9"),
- (display_message, "@副 枪 子 弹 剩 余 {reg0}"),
- (agent_set_slot, ":ym_1", slot_agent_dual_offhand_last_fire_msec, ":ym_10"),
- (agent_set_slot, ":ym_1", slot_agent_dual_fire_latch, 0),
- (else_try),
- (agent_set_slot, ":ym_1", slot_agent_dual_fire_latch, 0),
- (try_end),
- ])
- ym_du_gun = (
- 1, 0, ti_once, [],
- [
- (get_player_agent_no, ":ym_1"),
- (gt, ":ym_1", -1),
- (agent_set_slot, ":ym_1", slot_agent_dual_offhand_prop_instance, 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_holster_loaded_prop_instance, 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_holster_empty_prop_instance, 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_draw_state, 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_cached_item, -1),
- (agent_set_slot, ":ym_1", slot_agent_dual_fire_latch, 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_offhand_hide_deadline, 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_offhand_last_fire_msec, 0),
- (agent_set_slot, ":ym_1", slot_agent_du_gun, 6),
- ])
- ym_d = (
- 0, 0, 0, [],
- [
- (get_player_agent_no, ":ym_1"),
- (agent_is_alive, ":ym_1"),
- (agent_get_wielded_item, ":ym_2", ":ym_1", 0),
- (agent_get_slot, ":ym_3", ":ym_1", slot_agent_dual_offhand_prop_instance),
- (agent_get_slot, ":ym_4", ":ym_1", slot_agent_dual_holster_loaded_prop_instance),
- (agent_get_slot, ":ym_5", ":ym_1", slot_agent_dual_holster_empty_prop_instance),
- (agent_get_slot, ":ym_6", ":ym_1", slot_agent_dual_draw_state),
- (agent_get_slot, ":ym_7", ":ym_1", slot_agent_dual_cached_item),
- (agent_get_position, pos20, ":ym_1"),
- (position_move_y, pos20, 999999, 0),
- (assign, ":ym_8", 7),
- (assign, ":ym_9", -35),
- (assign, ":ym_10", 8),
- (assign, ":ym_11", 13),
- (assign, ":ym_12", 85),
- (assign, ":ym_13", 0),
- (assign, ":ym_14", 0),
- (assign, ":ym_15", -1),
- (assign, ":ym_16", 0),
- (assign, ":ym_17", 0),
- (assign, ":ym_18", 0),
- (try_begin),
- (gt, ":ym_2", 0),
- (item_get_slot, ":ym_19", ":ym_2", slot_item_dual_offhand_scene_prop),
- (gt, ":ym_19", 0),
- (assign, ":ym_13", 1),
- (assign, ":ym_14", 1),
- (assign, ":ym_15", ":ym_2"),
- (try_end),
- (try_for_range, ":ym_20", 0, 4),
- (agent_get_item_slot, ":ym_21", ":ym_1", ":ym_20"),
- (gt, ":ym_21", 0),
- (item_get_slot, ":ym_22", ":ym_21", slot_item_dual_offhand_scene_prop),
- (gt, ":ym_22", 0),
- (assign, ":ym_14", 1),
- (try_begin),
- (lt, ":ym_15", 0),
- (assign, ":ym_15", ":ym_21"),
- (try_end),
- (try_end),
- (try_begin),
- (gt, ":ym_15", 0),
- (item_get_slot, ":ym_16", ":ym_15", slot_item_dual_offhand_scene_prop),
- (item_get_slot, ":ym_17", ":ym_15", slot_item_dual_holster_loaded_scene_prop),
- (item_get_slot, ":ym_18", ":ym_15", slot_item_dual_holster_empty_scene_prop),
- (try_end),
- (try_begin),
- (eq, ":ym_13", 0),
- (try_begin),
- (eq, ":ym_6", 1),
- (store_mission_timer_c_msec, ":ym_23"),
- (store_add, ":ym_24", ":ym_23", 500),
- (agent_set_slot, ":ym_1", slot_agent_dual_offhand_hide_deadline, ":ym_24"),
- (try_end),
- (agent_set_slot, ":ym_1", slot_agent_dual_draw_state, 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_fire_latch, 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_offhand_last_fire_msec, 0),
- (assign, ":ym_6", 0),
- (try_end),
- (try_begin),
- (eq, ":ym_14", 1),
- (neq, ":ym_15", ":ym_7"),
- (try_begin),
- (gt, ":ym_3", 0),
- (prop_instance_set_position, ":ym_3", pos20),
- (try_end),
- (try_begin),
- (gt, ":ym_4", 0),
- (prop_instance_set_position, ":ym_4", pos20),
- (try_end),
- (try_begin),
- (gt, ":ym_5", 0),
- (prop_instance_set_position, ":ym_5", pos20),
- (try_end),
- (agent_set_slot, ":ym_1", slot_agent_dual_draw_state, 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_offhand_prop_instance, 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_holster_loaded_prop_instance, 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_holster_empty_prop_instance, 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_fire_latch, 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_offhand_hide_deadline, 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_offhand_last_fire_msec, 0),
- (try_begin),
- (gt, ":ym_16", 0),
- (spawn_scene_prop, ":ym_16"),
- (scene_prop_get_num_instances, ":ym_25", ":ym_16"),
- (val_sub, ":ym_25", 1),
- (scene_prop_get_instance, ":ym_3", ":ym_16", ":ym_25"),
- (agent_set_slot, ":ym_1", slot_agent_dual_offhand_prop_instance, ":ym_3"),
- (try_end),
- (try_begin),
- (gt, ":ym_17", 0),
- (spawn_scene_prop, ":ym_17"),
- (scene_prop_get_num_instances, ":ym_26", ":ym_17"),
- (val_sub, ":ym_26", 1),
- (scene_prop_get_instance, ":ym_4", ":ym_17", ":ym_26"),
- (agent_set_slot, ":ym_1", slot_agent_dual_holster_loaded_prop_instance, ":ym_4"),
- (try_end),
- (try_begin),
- (gt, ":ym_18", 0),
- (spawn_scene_prop, ":ym_18"),
- (scene_prop_get_num_instances, ":ym_27", ":ym_18"),
- (val_sub, ":ym_27", 1),
- (scene_prop_get_instance, ":ym_5", ":ym_18", ":ym_27"),
- (agent_set_slot, ":ym_1", slot_agent_dual_holster_empty_prop_instance, ":ym_5"),
- (try_end),
- (agent_set_slot, ":ym_1", slot_agent_dual_cached_item, ":ym_15"),
- (assign, ":ym_6", 0),
- (else_try),
- (eq, ":ym_14", 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_draw_state, 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_cached_item, -1),
- (agent_set_slot, ":ym_1", slot_agent_dual_fire_latch, 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_offhand_last_fire_msec, 0),
- (assign, ":ym_6", 0),
- (try_end),
- (try_begin),
- (key_clicked, key_v),
- (eq, ":ym_13", 1),
- (try_begin),
- (eq, ":ym_6", 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_draw_state, 1),
- (assign, ":ym_6", 1),
- (agent_set_animation, ":ym_1", "anim_revolver_right", 1),
- (agent_set_slot, ":ym_1", slot_agent_dual_fire_latch, 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_offhand_hide_deadline, 0),
- (agent_set_slot, ":ym_1", slot_agent_dual_offhand_last_fire_msec, 0),
- (agent_set_personal_animation, ":ym_1", "anim_ready_pistol", "anim_ready_pistol_zuoyou"),
- (agent_set_personal_animation, ":ym_1", "anim_release_pistol", "anim_release_pistol_you"),
- (agent_set_personal_animation, ":ym_1", "anim_reload_pistol", "anim_du_gun_reload"),
- (agent_set_personal_animation, ":ym_1", "anim_equip_revolver_right", "anim_equip_re"),
- (agent_play_sound, ":ym_1", "snd_dual_gun_draw"),
- (agent_set_animation, ":ym_1", "anim_equip_revolver_right_du",1),
- (display_message, "@双 持:已 掏 枪"),
- (else_try),
- (agent_set_slot, ":ym_1", slot_agent_dual_draw_state, 0),
- (assign, ":ym_6", 0),
- (agent_set_default_animations, ":ym_1"),
- (agent_set_slot, ":ym_1", slot_agent_dual_fire_latch, 0),
- (store_mission_timer_c_msec, ":ym_23"),
- (store_add, ":ym_24", ":ym_23", 450),
- (agent_set_slot, ":ym_1", slot_agent_dual_offhand_hide_deadline, ":ym_24"),
- (agent_set_default_animations, ":ym_1"),
- (agent_set_animation, ":ym_1", "anim_putback_revolver_right_du",1),
- (agent_play_sound, ":ym_1", "snd_put_back_revolver"),
- (agent_set_slot, ":ym_1", slot_agent_dual_fire_latch, 0),
- (display_message, "@双 持:已 收 枪"),
- (try_end),
- (try_end),
- (agent_get_slot, ":ym_3", ":ym_1", slot_agent_dual_offhand_prop_instance),
- (agent_get_slot, ":ym_4", ":ym_1", slot_agent_dual_holster_loaded_prop_instance),
- (agent_get_slot, ":ym_5", ":ym_1", slot_agent_dual_holster_empty_prop_instance),
- (try_begin),
- (eq, ":ym_13", 1),
- (eq, ":ym_6", 1),
- (try_begin),
- (gt, ":ym_3", 0),
- (agent_get_bone_position, pos1, ":ym_1", 13, 1),
- (position_move_y, pos1, 4, 0),
- (position_move_z, pos1, -1, 0),
- (position_rotate_z, pos1, 90),
- (position_rotate_x, pos1, 180),
- (prop_instance_set_position, ":ym_3", pos1),
- (try_end),
- (agent_get_bone_position, pos11, ":ym_1", ":ym_8", 1),
- (position_move_x, pos11, ":ym_9"),
- (position_move_y, pos11, ":ym_10"),
- (position_move_z, pos11, ":ym_11"),
- (position_rotate_z, pos11, ":ym_12"),
- (try_begin),
- (gt, ":ym_4", 0),
- (prop_instance_set_position, ":ym_4", pos20),
- (try_end),
- (try_begin),
- (gt, ":ym_5", 0),
- (prop_instance_set_position, ":ym_5", pos11),
- (try_end),
- (else_try),
- (try_begin),
- (gt, ":ym_3", 0),
- (agent_get_slot, ":ym_28", ":ym_1", slot_agent_dual_offhand_hide_deadline),
- (store_mission_timer_c_msec, ":ym_23"),
- (try_begin),
- (gt, ":ym_28", 0),
- (lt, ":ym_23", ":ym_28"),
- (agent_get_bone_position, pos1, ":ym_1", 13, 1),
- (position_move_y, pos1, 4, 0),
- (position_move_z, pos1, -1, 0),
- (position_rotate_z, pos1, 90),
- (position_rotate_x, pos1, 180),
- (prop_instance_set_position, ":ym_3", pos1),
- (else_try),
- (prop_instance_set_position, ":ym_3", pos20),
- (agent_set_slot, ":ym_1", slot_agent_dual_offhand_hide_deadline, 0),
- (try_end),
- (try_end),
- (try_begin),
- (gt, ":ym_5", 0),
- (prop_instance_set_position, ":ym_5", pos20),
- (try_end),
- (try_begin),
- (eq, ":ym_14", 1),
- (eq, ":ym_6", 0),
- (agent_get_bone_position, pos12, ":ym_1", ":ym_8", 1),
- (position_move_x, pos12, ":ym_9"),
- (position_move_y, pos12, ":ym_10"),
- (position_move_z, pos12, ":ym_11"),
- (position_rotate_z, pos12, ":ym_12"),
- (try_begin),
- (gt, ":ym_4", 0),
- (prop_instance_set_position, ":ym_4", pos12),
- (try_end),
- (else_try),
- (try_begin),
- (gt, ":ym_4", 0),
- (prop_instance_set_position, ":ym_4", pos20),
- (try_end),
- (try_end),
- (try_end),
- ])
复制代码
|