AniProGuy2 Geschrieben 15. Juli 2017 Melden Share Geschrieben 15. Juli 2017 Hallo Community, Ich habe ein Problem mit den PlayerPrefs, das ich allein einfach nicht lösen kann. Das Prinzip dessen, was ich machen will, ist recht simpel erklärt. Ich mache ein Multiplayer Spiel mit der Photon Engine und dabei gibt es eine Integer "HostOrClient" in den Playerprefs, die jenachdem ob man hostet oder joint auf 0 oder 1 gesetzt wird. Damit wird dann in der Lobby-Scene gearbeitet, also z.B. ob man das Spiel starten kann oder ob man ein neues Passwort setzen kann usw. Das Problem ist nur, dass wenn ich beim joinen die Integer auf "1" setze und dann in der Lobby-Scene abfrage, sie dort immernoch als "0" angegeben wird. Wenn ich in der Registry nachschaue, ist sie aber dort auch "1". Das ist der Scriptteil für das Joinen. Im Prinzip wird durch das Klicken des Buttons einfach die "JoinRoom" Methode aufgerufen. Nachdem man in den Photon Room gejoint ist, kommt dann "OnJoinedRoom" zurück und man kommt öffnet die Lobby-Scene. // join room void JoinRoom () { PlayerPrefs.SetInt ("HostOrClient", 1); joinedRoom = true; PhotonNetwork.JoinRoom (roomInfo.Name); } // open lobby public void OnJoinedRoom () { if (joinedRoom) SceneManager.LoadScene ("Lobby"); } Und in der Lobby-Scene wird dann dieses Script hier aufgerufen (nur der wichtige Teil versteht sich). Ausgegeben wird dann aber "0" und nicht "1" // start void Start () { print (PlayerPrefs.GetInt ("HostOrCLient")); Könnt ihr mir helfen? Ich verstehe das echt nicht. Wenn ich dann übrigens das Spiel starte (also das eigentliche Level lade) und dort nochmal die Integer abfrage, ist sie dann "1" o.O Danke schonmal im Voraus, MfG, AniProGuy Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 15. Juli 2017 Melden Share Geschrieben 15. Juli 2017 Ich könnte jetzt wilde Theorien und Lösungen anbieten, aber vermutlich ist es nur ein Syntaxfehler, du hast beim String statt "...Client" "...CLient" geschrieben und dieser ist vermutlich "case sensitive", d.h. du fragst den falschen Key ab: print (PlayerPrefs.GetInt ("HostOrCLient")); ändere mal zu => print (PlayerPrefs.GetInt ("HostOrClient")); Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
AniProGuy2 Geschrieben 15. Juli 2017 Autor Melden Share Geschrieben 15. Juli 2017 Dazu kann ich nur sagen: "verdammt ist mir das peinlich!" Danke xD Damit haben 2 Stunden des verzweifelten Suchens ein Ende! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 15. Juli 2017 Melden Share Geschrieben 15. Juli 2017 Es hätte es auch fast übersehen und wollte schon mit Coroutinen oder statischer Klasse anfangen Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.