Overload Geschrieben 15. April 2018 Melden Share Geschrieben 15. April 2018 Moin liebe Leute, ich habe eine kleine Frage bezüglich eines Countdowns mit PUN innerhalb eines Raumes zu Rundenstart und brauche mal bitte einen Denkanstoß: Mein Plan: (4 Spieler sollen Platz haben in einem Spiel) Spieler drückt "Spielen" -> PUN sucht nach einem offenen Raum und joined sonst wird ein Random Raum erstellt und er joined (alles noch in der Lobby). Sobald ein zweiter Spieler dazu kommt broadcasted der MasterClient -> LoadLevel("Level") und beide laden den Raum. Das klappt ;-) Genau jetzt soll ein Countdown starten der Sekunden bis zum Spielstart zählt und weiteren Spielern Gelegenheit gibt dem Raum noch zu joinen. Wenn die Spielerzahl bereits 4 beträgt soll der Counter auf 5 Sekunden reduziert werden um die Wartezeit zu kürzen. Während der Wartezeit returne ich aus dem Movement Funktionen damit sich kein Spieler bewegen kann. Denke mal mit Bool oder so... Jetzt zu meiner Frage: Wie bekomme ich den Countdown hin, dass alle Spieler die synchronisierte Zeit bekommen ? Ich habe was von Custom Room Properties gelesen was mir auch einleuchtet dafür zu verwenden. Nur leider ist mir die genaue Vorgehensweise nicht ganz klar, da Exitgames das Demo dafür aus Photon entfernt hat. Wann wird wo von wem die Propertie gesetzt und wer wertet die wie aus ? Vielen Dank für eure Mühe :-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MaZy Geschrieben 4. Mai 2018 Melden Share Geschrieben 4. Mai 2018 Ist bissel her, aber... Der Masterclient könnte die Zahl merken. Einmal hat er sowas wie networkCountdown und einmal masterClientCountdown. Er denkt über den logischen Teil und updatet masterClientCountdown (also irgendein Client muss das eh machen), und macht dann irgendwas wie RPC("UpdateTimer", RPCTarget.AllViaServer, masterClientCountdown), damit alle gleichzeitig (je nach Ping ) bekommen. ja und nun muss jeder inklusiv Masterclient networkCountdown aktualisieren. Du meinst Custom Properties. Kann man auch. Das ist sogar interessanter, wenn jemand nachträglich joined, dass es gesynced wird. Da arbeitest du mit hashtable von Photon selbst. Dann einfach die Werte packen und aktualisieren.https://doc.photonengine.com/en-us/pun/current/gameplay/synchronization-and-state Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.