Hallo liebe Brotfischer. Ich bin momentan an meinem Script dran und wollte die Class-Selection gerne nach Bedarf abrufen. Wenn der Spieler das Erste Mal auf den Server kommt, kann er sich seinen Skin in der Class-Selection aussuchen und dann spawnen, die darauffolgenden Male wird er direkt gespawnt und behält somit seinen Skin, den ich beim ersten Mal gleich mit abgespeichert habe. Jetzt ist das Problem nur, dass ich noch einen Login bzw. Register Dialog habe, der natürlich auch noch dazu kommen muss, deswegen habe ich mir das so gedacht, dass ich "wenn der Spieler connectet", er direkt Spawnen soll, dies soll aber verhindert werden per "OnPlayerRequestSpawn". Dann wäre die Class-Selection damit umgangen, ich zeige dem Spieler dann durch das Callback "OnPlayerRequestSpawn" den Login oder Register Dialog und danach soll er "richtig spawnen". Die Sache mit dem "richtig spawnen" ist das eigentlich Problem. Bis zum aufzeigen des Login Dialogs komme ich schon, aber wenn man sich dann einloggt, dann wird der Spieler zwar gespawnt, aber leider nach den Coords, die per AddPlayerClass definiert wurden. Gibts da irgendeinen Trick, dass sich dann das SpawnPlayer auf das Callback OnPlayerSpawn bezieht?
SpawnPlayer - Funktion Problem
- FACE
- Geschlossen
- Erledigt
-
-
Äh du missverstehst wohl etwas. Also SpawnPlayer(playerid); ruft public OnPlayerSpawn(playerid) auf. Das AddPlayerClass verlangt auch nicht die Koordinate wo der Spieler bei der Skinauswahl steht, sondern den Spawnpunkt er bekommt beim Skin. Bedeutet Jeder Skin kann einen eigenen Spawnpoint haben zB der CJ in LosSantos, The Truth in LV und Co... Du müsstest also die Spawnpunkte in OnPlayerSpawn neu definieren. Schick uns mal deinen OnPlayerSpawn public hier rein, dann schauen wir mal was nicht klappt ^^.
-
Nein das ist nicht das Problem. Er spawnt immer die Spieler in LV, dort wo sie, zumindest bei mir per AddPlayerClass ihre ürsprünglichen Spawn Coords gesetzt haben.
Das Problem ist, dass genau OnPlayerSpawn "nicht" abgerufen wird, und ich möchte gerne wissen, wie das funktioniert.Bei OnPlayerConnect lasse ich den Spieler spawnen mit SpawnPlayer(playerid). Würde er nun auf OnPlayerSpawn zugreifen, hätte ich keinerlei Probleme, aber er spawnt die Spieler nunmal in LV, bei diesem Standart Spawn. Folglich greift er nicht auf OnPlayerSpawn zu.
Wenn SpawnPlayer nicht unter OnPlayerConnect verwendet wird, klappts ja ulkiger Weise, nur in diesem einen Fall nicht.
-
Lass den Spieler doch nur einmal überhaupt dahin kommen
Erster Besuch -> Nichts
Nächste besuche -> OnPlayerConnect -> SetTimerEx (2seks) -> SpawnPlayer