Spawnen da wo man Offline gegangen ist

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
  • Die Koordinaten, vom letzten Punkt (wenn Dini) so speichern:
    new Flaot:X, Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    dini_FloatSet(Spielerdatei, "X", X);
    dini_FloatSet(Spielerdatei, "Y", Y);
    dini_FloatSet(Spielerdatei, "Z", Z);
    Und dann beim Spawnen laden lassen, und dort Spawnen lassen.

  • Da fehlt noch einiges musst auch VirtualWorld, Interior eventuell auch noch speichern...


    Poste doch mal was du probiert hast


    Wer sagt überhaupt das er dini nutzt? ^^


    Was für ein Speichersystem nutzt du?

  • also ich benutze dini :D


    das habe ich drin gehabt :/ aber ich habs nicht hinbekommen :/


    OnPlayerConnect


    LoadAccount(playerid);
    SetPlayerPos(playerid, pX,pY,pZ);




    OnPlayerDisconnect


    GetPlayerPos(playerid, pX,pY,pZ);SavePlayer(playerid);

  • stock SavePlayer(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"loggedin",GetPVarInt(playerid,"loggedin"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    dini_IntSet(Spielerdatei,"Paytime",GetPVarInt(playerid,"Paytime"));
    }
    return 1;
    }

  • Du machst bei OnPlayerDisconnect das:
    new Flaot:X, Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    dini_FloatSet(Spielerdatei, "X", X);
    dini_FloatSet(Spielerdatei, "Y", Y);
    dini_FloatSet(Spielerdatei, "Z", Z);


    Dann bei OnPlayerSpawn machst du das:
    new Float:X,Float:Y,Float:Z;
    X = dini_Float(Spielerdatei,"X");
    Y = dini_Float(Spielerdatei,"Y");
    Z = dini_Float(Spielerdatei,"Z");
    SetPlayerPos(playerid,X,Y,Z);


    So wird dann der Spieler wieder an seiner letzten Position wieder Spawnen.

    Einmal editiert, zuletzt von T4125Gamer ()

  • stock SavePlayer(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    new
    Flaot:X, Float:Y,Float:Z;


    GetPlayerPos(playerid,X,Y,Z);
    dini_FloatSet(Spielerdatei, "X", X);
    dini_FloatSet(Spielerdatei, "Y", Y);
    dini_FloatSet(Spielerdatei, "Z", Z);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"loggedin",GetPVarInt(playerid,"loggedin"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    dini_IntSet(Spielerdatei,"Paytime",GetPVarInt(playerid,"Paytime"));
    }
    return 1;
    }



    versuch es mal so

    Mit Freundlichen Grüßen
    ̿̿ ̿̿'̿'\̵͇̿̿\[RuS]Mixery/̵͇̿̿/'̿̿ ̿̿ ̿

    Drifting Liebhaber
    ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯