swat243 Geschrieben 27. August 2015 Melden Share Geschrieben 27. August 2015 Hallo Leute, Ich habe das Problem,das ich keine Room List abrufen kann,also man klickt auf Refresh und für jeden raum soll ein Button gespawnt werden. weiß Jemand was es ist,ich habe getestet ob man direkt mit der IP verbinden kann zum server und das funktioniert gut,aber er findet keinen einzigen server bei der List :/ Die Button werden dann via GirdLayout ein geordnet,also ist das kein Problem Script: using UnityEngine; using System.Collections; using UnityEngine.UI; using System.Collections.Generic; public class ServerManager : MonoBehaviour { // Use this for initialization void Start () { PhotonNetwork.ConnectUsingSettings ("ZombieManiaV0.00"); } // Update is called once per frame public void Update () { } public Text ServerName; public Text ServerPort; public GameObject canvas; public void CreateServer() { Debug.Log ("Create server now"); RoomOptions roomOP = new RoomOptions (){isVisible = true, maxPlayers = 6}; PhotonNetwork.CreateRoom(ServerName.text+ServerPort.text,roomOP,TypedLobby.Default); DontDestroyOnLoad (canvas); Application.LoadLevel(1); } public Transform player; public Vector3 Spawn; public Text ServerIP; public void ConnectToIP(){Debug.Log("Joined:" +ServerIP.text.ToString() ); PhotonNetwork.JoinRoom (ServerIP.text); DontDestroyOnLoad (canvas); Application.LoadLevel(1);} public void OnJoinedRoom() { Destroy (canvas); Debug.Log ("Finshed to creating a room"); GameObject player1 = (GameObject)PhotonNetwork.Instantiate (player.name,Spawn, Quaternion.identity, 0); Transform solider = player1.transform.FindChild ("player"); Transform cam = player1.transform.Find ("camkeep/cam"); PlayerMovement playerMove = solider.GetComponent<PlayerMovement> ();playerMove.enabled = true; SetAtctiveFalseIfNOMIne CamEnable = cam.GetComponent<SetAtctiveFalseIfNOMIne> ();CamEnable.enabled = true; } public Vector2 BeginToListServers; public Button serverSign; public GameObject serverGrid; public static List<Button>servers = new List<Button>(); public void RefreshServerList() { Debug.Log ("Looking for server"); servers.Clear (); RoomInfo[] infoRooms = PhotonNetwork.GetRoomList(); foreach(RoomInfo raum in infoRooms ) { Debug.Log("Created server"); Button server = (Button)Instantiate(serverSign,BeginToListServers,Quaternion.identity); server.name = raum.name+" | "+raum.playerCount+" / "+raum.maxPlayers; server.transform.parent = serverGrid.transform; servers.Add(server); } } } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Djeurissen Geschrieben 28. August 2015 Melden Share Geschrieben 28. August 2015 Dir wurde das schon öfters gesagt, poste bitte nicht immer dein komplettes Skript und lass uns dann suchen. Erklär dein Problem genauer, keiner hier weiß was du genau machen willst und wie du es umsetzt. Und keiner hat Lust sich dann mit deinem Code rumzuschlagen. Deshalb bitte ich dich, erklär dein Problem genauer und schmeiß nicht immer mit Code durch die Gegend... Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
swat243 Geschrieben 28. August 2015 Autor Melden Share Geschrieben 28. August 2015 Das Problem ist,das wenn ich ein server auf habe,dass die Liste Nichts Anzeigt,obwohl ein server verfügbar ist :/ Das hier ist der Abschnitt wo alles passiert,wenn man auf den BUtton klickt ,wird dieser abschnitt ausgeführt und werden via GridLayout in der richtigen position gebracht Wenn der Abschnitt ausgeführt wird debugt er "Looking for server" und das macht er.Dann macht erst das Array Leer wo die Server Button drin gesammelt werden und entleert ja die alten server buttons,dann wird für jeden Server den es gibt ein BUtton gespawnt und das parent bei der server Grid gesetzt und der Name wird mit dem Daten befüllt. public void RefreshServerList() { Debug.Log ("Looking for server"); servers.Clear (); RoomInfo[] infoRooms = PhotonNetwork.GetRoomList(); foreach(RoomInfo raum in infoRooms ) { Debug.Log("Created server"); Button server = (Button)Instantiate(serverSign,BeginToListServers,Quaternion.identity); server.name = raum.name+" | "+raum.playerCount+" / "+raum.maxPlayers; server.transform.parent = serverGrid.transform; servers.Add(server); } Das Problem ist jetzt,das eigentlich ein server Button auftauchen sollte,aber es passiert nichts,hab auch geguckt ,ob die RefreshServer void ausgeführt wird und das wird sie. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mark Geschrieben 28. August 2015 Melden Share Geschrieben 28. August 2015 Dann müsstest du im Editor auch den entsprechenden Button zu sehen bekommen, also im Inspektor. Hast du dir den mal angesehen? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
swat243 Geschrieben 28. August 2015 Autor Melden Share Geschrieben 28. August 2015 Also es passiert garnichts wenn ich auf refresh klicke :/ Das script abschnitt wird auf jedemfall ausgeführt und das Objekt was gespawnt wird ist ein Button das in den Resources Ordner ist. Könntet ihr mir sagen was ihr soo macht um eure server list zu bekommen ? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Djeurissen Geschrieben 28. August 2015 Melden Share Geschrieben 28. August 2015 Wird Created Server ausgegeben? Wenn ja, bist du sicher das der Button nicht im Inspector zu finden ist? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
swat243 Geschrieben 28. August 2015 Autor Melden Share Geschrieben 28. August 2015 Also der server wird erstellt,man kann ja den namen eingeben und direkt joinen,hab ich schon getestet.Also der Button der Gespannt wird ist in den resources folder und ist ein prefab Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MaZy Geschrieben 28. August 2015 Melden Share Geschrieben 28. August 2015 Ich finde es witzig wie du Ipadresse und Port Eingabe bei Photon simulierst, obwohl alles da mit Lobbies und Räumen funktionieren xD. Mach mal bei RerfreshList mal Debug.log rein, so ungefähr wie bei mir. foreach(RoomInfo raum in infoRooms ) { Debug.log("Raum gefunden: " + raum) } Natürlich brauchst du andere Zeilen nicht löschen. Und dann guck mal ob du beim Refreshen Raum gefunden irgendwo steht Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
swat243 Geschrieben 28. August 2015 Autor Melden Share Geschrieben 28. August 2015 Der hat kein Raum gefunden ,obwohl ich einen auf habe Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
swat243 Geschrieben 28. August 2015 Autor Melden Share Geschrieben 28. August 2015 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MaZy Geschrieben 28. August 2015 Melden Share Geschrieben 28. August 2015 Dein Bild ist leider unscharf für mich ^^. Am besten benutzt du http://imgur.com/ Kannst dann so posten: http://i.imgur.com/Qjifowp.jpg Jetzt weiß du, dass dein Problem nicht an UI liegt, sondern an Photon. Irgendwas ist da falsch. Kannst nach RoomInfo[] infoRooms = PhotonNetwork.GetRoomList(); einfach Debug.log("Anzahl der Räume: " + infoRooms.count); machen oder lenght machen. Weiß gerade nicht welches richtig war ^^. Logischerweise alles größer 0 bedeutet das da mindestens ein Raum existiert. Achja mir fällt noch was ein. Vielleicht ist dein Raum den du erstellst als Privat deklariert. Musst du mal gucken. Bei meinem Flapping Crew sieht so aus und ist sichtbar. public void hostGame(int maxplayers, string uniquegame, string roomname, string comment) { RoomOptions roomOp = new RoomOptions(); roomOp.maxPlayers = (byte)maxplayers; PhotonNetwork.JoinOrCreateRoom(roomname, roomOp, TypedLobby.Default); } Aber ich sehe du hast IsVisible = true. Sollte eigentlich gehen.. hmmm. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
swat243 Geschrieben 28. August 2015 Autor Melden Share Geschrieben 28. August 2015 Auf dem Bild ist nur zu sehen das ich ein server auf hab und 22 mal auf den Refresh button war und 22 mal debug wurde,das ich auf refresh war XD Tja dann muss ich halte die Zwei Alternative nutzen Random joining und direkt über Server adresse verbinden(Also nur der Name XD ip klingt professioneller genau wie port ), Also auf Multiplayer könnte ich gar nicht mehr verzichten für mein Spiel ,wäre jaa langweilig wenn man alleine gegen zombie wellen verteidigt Unity ist auch vollen bugs einmal haben die inputs von der UI nicht mehr regiert,als in mitten in ein Projekt war und es konnte weg XD oder wenn ein Build fertig hab und auf Full screen geh ist die UI Gui und Ray total verbuggt und ist nicht mehr spiel bar mehr Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
swat243 Geschrieben 28. August 2015 Autor Melden Share Geschrieben 28. August 2015 Also mir Passiert es immer das da irgendein Bug ist XD 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.