extends MultiplayerSynchronizer var direction: Vector2 signal drop signal switch_weapon(to_slot: StringName) signal fire_begin signal fire_end signal alternate_state signal switch_firemode func _input(event: InputEvent) -> void: if not is_multiplayer_authority(): return direction = Input.get_vector("plr_strafe_r","plr_strafe_l", "plr_back","plr_forward") if event.is_action_pressed("plr_ult"): switch_on_server.rpc_id(1,"ultimate") elif event.is_action_pressed("plr_bomb"): switch_on_server.rpc_id(1,"bomb") elif event.is_action_pressed("plr_primary"): switch_on_server.rpc_id(1,"primary") elif event.is_action_pressed("plr_active_first"): switch_on_server.rpc_id(1,"ability_first") elif event.is_action_pressed("plr_active_second"): switch_on_server.rpc_id(1,"ability_second") elif event.is_action_pressed("plr_active_third"): switch_on_server.rpc_id(1,"ability_third") elif event.is_action_pressed("plr_secondary"): switch_on_server.rpc_id(1,"secondary") elif event.is_action_pressed("plr_knife"): switch_on_server.rpc_id(1,"knife") if event.is_action_pressed("plr_fire"): fire_on_server.rpc_id(1,false) if event.is_action_released("plr_fire"): fire_on_server.rpc_id(1,true) if event.is_action_pressed("plr_scope"): alternate_state_on_server.rpc_id(1) if event.is_action_pressed("plr_firemode"): switch_firemode_on_server.rpc_id(1) if event.is_action_pressed("plr_drop"): drop_on_server.rpc_id(1) @rpc("authority","call_local","reliable") func switch_on_server(slot: StringName) -> void: if not multiplayer.is_server(): return switch_weapon.emit(slot) @rpc("authority","call_local","reliable") func drop_on_server() -> void: if not multiplayer.is_server(): return drop.emit() @rpc("authority","call_local","reliable") func fire_on_server(end: bool) -> void: if not multiplayer.is_server(): return if end: fire_end.emit() else: fire_begin.emit() @rpc("authority","call_local","reliable") func alternate_state_on_server() -> void: if not multiplayer.is_server(): return alternate_state.emit() @rpc("authority","call_local","reliable") func switch_firemode_on_server() -> void: if not multiplayer.is_server(): return switch_firemode.emit()