AddPlayerClass - Inkorrekter Spawn

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hi,


    mein Spieler wird nicht entsprechend der Koordinaten, die bei AddPlayerClass angegeben wurden, gespawnt, sondern landet in der Pampa, unter der Map.


    //OnGameModeInit
    AddPlayerClass(105, 1958.3783, 1343.1572, 15.3746, 270.1425, 0, 0, 0, 0, 0, 0);


    //OnPlayerSpawn
    new w = GetPlayerVirtualWorld(playerid);
    switch(w)
    {
    case 0:
    {
    if(JustLoggedIn[playerid] == true)
    {
    //set spawnprotection
    TeleportsLocked[playerid] = false;
    JustLoggedIn[playerid] = false;

    PlayerTextDrawShow(playerid, TD_Morale[playerid][0]);
    PlayerTextDrawShow(playerid, TD_Morale[playerid][1]);
    PlayerTextDrawShow(playerid, TD_Morale[playerid][2]);
    PlayerTextDrawShow(playerid, TD_Morale[playerid][3]);
    }
    //weiterer Code...
    Was übersehe ich?

  • Also, ich hab meinen Code mal exakt mit dem des bare Gamemodes verglichen, und außer dem switch erkenne ich da null Unterschied. Ich hab natürlich auch schon an den Workaround gedacht mit SetPlayerPos unter OnPlayerSpawn, ich wollte aber erst einmal schauen, ob vllt doch irgendein Fehler vorliegt, den ich übersehen habe. Selbst wenn ich debugge, kann ich ja nicht nachverfolgen was er mit den Koordinaten aus AddPlayerClass anstellt... Dann werd ich wohl auf SetPlayerPos ausweichen müssen.


    EDIT: SetPlayerPos funktioniert nicht. O.o


    EDIT 2: Ich hab die Lösung! 8o
    Ich hatte unter der angegebenen if-Abfrage den Boolean JustLoggedIn auf false gesetzt, und darunter kam nochmal eine Abfrage, die das dan abgefangen hat und die Koordinaten übernommen hat, die in globalen Positionsvariablen waren. Diese waren aber leer. Ich habe jetzt unter jede if-Abfrage ein 1 returnt, jetzt klappts!