Position speichern

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
  • Also, mal ne frage :)
    Wie mache ich es das eine alte Position aufgerufen wird?


    Also der spieler stirbt aber danach wird der wieder an diese Position geportet :P

  • Wenn bei OnPlayerDeath nichts weiter steht, dann springt er automatisch zu OnPlayerSpawn (so wie ich das bisher beobachtet habe)


    und dann machst du einfach:


    Oben im Kopf:
    new Float:respawnx, Float:respawny, Float:respawnz;



    unter OnPlayerDeath:



    GetPlayerPos(playerid, respawnx, respawny, respawnz);


    und dann unter OnPlayerSpawn:


    SetPlayerPos(playerid, respawnx, respawny, respawnz);


    //UNGETESTET


    Gruß Real

  • Wird nicht funktionieren.
    Was, wenn plötzlich mehrere Spieler auf die Variable zugreifen? Dann wird sie überschrieben.


    Mach es so:

    public OnPlayerDeath(playerid)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    SetPVarFloat(playerid, "xpos", x);
    SetPVarFloat(playerid, "ypos", y);
    SetPVarFloat(playerid, "zpos", z);
    }



    public OnPlayerSpawn(playerid)
    {
    SetPlayerPos(playerid, GetPVarFloat(playerid,"xpos"), GetPVarFloat(playerid,"ypos"), GetPVarFloat(playerid,"zpos"));
    }


    LG.

  • Alles klar, und wie setze ich noch den Interior falls man in einem Interior stirbt? ;)
    danke schonmal im vorraus

  • Ist mir bewusst mit GetplayerInterior() und SetplayerInterior() aber das prinzip von "float" kann ich damit auch eine Abfrage für interiors basteln?