Position beim Ausloggen Speichern und beim Spawnen Laden?

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
  • Hallo Community,


    Ich habe ein Problem und zwar funktioniert bei mir das Speichern und Laden der Position nicht !
    Und ich kann mir einfach nicht erklären warum :/


    Code:

    Spoiler anzeigen

    OnPlayerRequestClass:
    new Spielerdatei[64];//Wir erstelllen uns eine neue Spielerdatei, in der die Daten des Spielers gespeichert werden sollen
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.storizon",SpielerName(playerid)); //Wir formatieren die Spielerdatei um, und sagen so dem Script , dass die Daten in dem Scriptfiles Ordner unseres Servers im Ordner "Accounts" gespeichert werden sollen....(Man kann auch /Accounts/%s.txt nehmen,wobei ich .storizon jedoch schöner finde..%s ist der String zum Abfragen des Spielernamens...
    SetSpawnInfo(playerid,0,GetPVarInt(playerid,"Skin"),dini_Float(Spielerdatei,"PosX"),dini_Float(Spielerdatei,"PosY"), dini_Float(Spielerdatei,"PosZ"),0,0,0,0,0,0,0);
    SpawnPlayer(playerid);

    Spoiler anzeigen
    OnPlayerSpawn:
    new Spielerdatei[64];
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.storizon",SpielerName(playerid));
    SetSpawnInfo(playerid,0,GetPVarInt(playerid,"Skin"),dini_Float(Spielerdatei,"PosX"),dini_Float(Spielerdatei,"PosY"), dini_Float(Spielerdatei,"PosZ"),0,0,0,0,0,0,0);
    OnPlayerDisconnect:
    new Spielerdatei[64];//Wir erstelllen uns eine neue Spielerdatei, in der die Daten des Spielers gespeichert werden sollen
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.storizon",SpielerName(playerid));
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    dini_FloatSet(Spielerdatei,"PosX", x);
    dini_FloatSet(Spielerdatei,"PosY", y);
    dini_FloatSet(Spielerdatei,"PosZ", z);
    SpielerSpeichern(playerid);


    Mit Freundlichen Grüßen
    - Kevin

  • mach mal anstatt
    dini_FloatSet(Spielerdatei,"PosX", x);
    dini_FloatSet(Spielerdatei,"PosY", y);
    dini_FloatSet(Spielerdatei,"PosZ", z);



    SetPVarInt(playerid,"PosX",x);
    SetPVarInt(playerid,"PosY",y);
    SetPVarInt(playerid,"PosZ",z);


    und dann unter OnPlayerSpawn
    SetPlayerPos(playerid,GetPVarInt(playerid,"PosX"),GetPVarInt(playerid,"PosY"),GetPVarInt(playerid,"PosZ"));