Jump to content
Unity Insider Forum
Sign in to follow this  
Overload

Photon Countdown Custom Properties ?

Recommended Posts

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 :-)

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...