diff --git a/gui/main_menu/version_label.gd b/gui/main_menu/version_label.gd index 97199c6..79270d8 100644 --- a/gui/main_menu/version_label.gd +++ b/gui/main_menu/version_label.gd @@ -8,4 +8,3 @@ func _ready() -> void: func update_version(version: StringName): text = "Текущая версия игры: " + preload("res://version.tres").version + "\n" + version - print(text) diff --git a/players/player/player_input.gd b/players/player/player_input.gd index 4228545..16c4ed2 100644 --- a/players/player/player_input.gd +++ b/players/player/player_input.gd @@ -27,6 +27,7 @@ signal walk_begin signal walk_end signal interact_begin signal interact_end +signal recent_weapon func _process(_delta: float) -> void: if not is_multiplayer_authority(): return @@ -110,6 +111,9 @@ func _unhandled_input(event: InputEvent) -> void: if event.is_action_pressed("plr_jump"): jump_on_server.rpc_id(1) + + if event.is_action_pressed("plr_recent_weapon"): + recent_weapon_on_server.rpc_id(1) @rpc("authority","call_local","reliable") func switch_on_server(slot: StringName) -> void: @@ -180,3 +184,8 @@ func interact_on_server(end: bool) -> void: func jump_on_server() -> void: if not multiplayer.is_server(): return jumped.emit() + +@rpc("authority","call_local","reliable") +func recent_weapon_on_server() -> void: + if not multiplayer.is_server(): return + recent_weapon.emit() diff --git a/project.godot b/project.godot index 8fc3061..7457e99 100644 --- a/project.godot +++ b/project.godot @@ -187,6 +187,11 @@ menu_scoretable={ "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194306,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } +plr_recent_weapon={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":81,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null) +] +} [layer_names] diff --git a/systems/weapon_system/weapon_system.gd b/systems/weapon_system/weapon_system.gd index eadcb1e..9224540 100644 --- a/systems/weapon_system/weapon_system.gd +++ b/systems/weapon_system/weapon_system.gd @@ -35,6 +35,7 @@ func _ready() -> void: player_input.switch_weapon.connect(switch) player_input.alternate_state.connect(alternate_state) player_input.switch_firemode.connect(switch_mode) + player_input.recent_weapon.connect(return_to_previous) await get_tree().process_frame await get_tree().process_frame