lima-city: Webhosting, Domains und Cloud
0 Pluspunkte 0 Minuspunkte
Wie kann ich in Godot 4 die Scene wechseln so das auch alle anderen Spieler (nicht nur der Server) in die neue Scene geladen werden?
von  

2 Antworten

0 Pluspunkte 0 Minuspunkte

Die Godot Multiplayer-API basiert auf RPC (Remote Procedure Calls). Wenn der Server die Scene wechselt sender er einen RPC an alle Clients und übermittelt ihnen den neuen Scenenamen damit diese die Scene in ihrer lokalen Instanz wechseln.

func switch_scene(scene_name: String) -> void: 
    if get_tree().is_network_server(): 
        rpc("change_scene", scene_name) 
        change_scene(scene_name)

RPC für die Clients.

@rpc("any_peer") 
func change_scene(scene_name: String) -> void: 
    if scenes.has(scene_name): 
        var new_scene_path = scenes[scene_name]
        get_tree().change_scene_to(FileAccess.open(new_scene_path, FileAccess.READ)) 
    else: 
        print("Scene not found: ", scene_name)
von (397 Punkte)  
0 Pluspunkte 0 Minuspunkte
Dazu muss jeder Spieler die Scene in seiner Instanz laden. Am besten du sendest einen RPC an alle Clients und teilst ihnen mit welche Scene sie laden sollen.
von (492 Punkte)  
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Fragen und Antworten bewerten
  • Themen von Fragen bearbeiten
  • Fragen, Antworten und Kommentare bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft.

2.3k Fragen

2.8k Antworten

261 Kommentare

13 Nutzer