From 82295d864207471a96f44cbc894ca0361f7fe442 Mon Sep 17 00:00:00 2001 From: torsten Date: Sun, 15 Feb 2026 13:20:44 +0100 Subject: [PATCH] Multiplayer Visibility, Input Authority --- weltenauge/project.godot | 4 ++++ weltenauge/systems/player/player.tscn | 2 +- weltenauge/systems/player/player_controller.gd | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/weltenauge/project.godot b/weltenauge/project.godot index 3c081e4..dafdc50 100644 --- a/weltenauge/project.godot +++ b/weltenauge/project.godot @@ -23,6 +23,10 @@ GameEvents="*uid://4xof67e363t4" ChatManager="*uid://c351ysuym2mdm" NetworkManager="*uid://tniwwfk5703p" +[global_group] + +players="Verwaltung der Spieler Objekte" + [physics] 3d/physics_engine="Jolt Physics" diff --git a/weltenauge/systems/player/player.tscn b/weltenauge/systems/player/player.tscn index 6a21653..dcda304 100644 --- a/weltenauge/systems/player/player.tscn +++ b/weltenauge/systems/player/player.tscn @@ -7,7 +7,7 @@ [sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_fqfg4"] -[node name="CharacterBody3D" type="CharacterBody3D" unique_id=682006733] +[node name="CharacterBody3D" type="CharacterBody3D" unique_id=682006733 groups=["players"]] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.26067275) script = ExtResource("1_ktl23") interpolation_speed = 5.0 diff --git a/weltenauge/systems/player/player_controller.gd b/weltenauge/systems/player/player_controller.gd index a7ff801..44b949a 100644 --- a/weltenauge/systems/player/player_controller.gd +++ b/weltenauge/systems/player/player_controller.gd @@ -84,6 +84,9 @@ func request_move(target: Vector3): target_position = target func _input(event): + # Ist dieser Avatar nicht der des lokalen Spielers? Wenn ja, sofort abbrechen. + if name.to_int() != multiplayer.get_unique_id(): return + # NUR der Client, der diesen Spieler kontrolliert, darf klicken #if not is_multiplayer_authority(): return if DisplayServer.get_name() == "headless": return # Server ignoriert Klicks