Spielerposition beim ausloggen 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
  • Hallo Community,
    Ich brauche etwas für mein Selfmade.
    Also ich möchte wenn der Spieler sich z.b. am BSN ausloggt und er sich wieder einloggt das er wieder da spawnt wo er sich ausgeloggt hat.
    Ich hab die SuFu benutzt aber nix gescheites gefunden.
    Teilweise hab ich's auch einfach nicht verstanden.
    Wäre nett wenn mir einer das machen könnte und dazu noch erklären könnte.
    Ich wollte das mit PVarInt's machen.


    Mit freundlichen Grüßen,
    kingdome

  • Speicher die Position doch einfach wenn er sich ausloggt.

    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);


    und dann einfach speichern
    Da kannste nicht mit PVars arbeiten

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • stock SpielerSpeichern(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.ini",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Prem",GetPVarInt(playerid,"Prem"));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Job",GetPVarInt(playerid,"Job"));
    }
    return 1;
    }

  • Wenn der Spieler sich ausloggt musst du seine Position in einer Datei/Datenbank speichern und
    diese beim Connecten auslesen, quasi so:

    OnPlayerDisconnect(playerid, reason)
    {
    SavePlayer(playerid);
    }


    stock SavePlayer(playerid)
    {
    new Float:X, Float:Y, Float:Z;
    new data[124], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(data,sizeof(data),"/Accounts/%s.ini",name);
    GetPlayerPos(playerid,X,Y,Z);
    dini_FloatSet(data,"LastX",X);
    dini_FloatSet(data,"LastY",Y);
    dini_FloatSet(data,"LastZ",Z);
    }


    Dánn wenn sein Account geladen wird:


    stock LoadPlayer(playerid)
    {
    new name[MAX_PLAYER_NAME], data[64];
    new Float:X, Float:Y, Float:Z;
    GetPlayerName(playerid,name,sizeof(name));
    format(data,sizeof(data),"/Accounts/%s.ini",name);
    X = dini_Float(data,"LastX");
    Y = dini_Float(data,"LastY");
    Z = dini_Float(data,"LastZ");
    SetPlayerPos(playerid,X,Y,Z);
    }


    Kann sein das es Fehler enthält habs hier im Editor geschrieben.
    Müsste aber funktionieren.

  • stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin"))
    {
    new Spielerdatei[64],Float:x,Float:y,Float:z;
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    GetPlayerPos(playerid,x,y,z);//auslesen der Pos
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Prem",GetPVarInt(playerid,"Prem"));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Job",GetPVarInt(playerid,"Job"));
    dini_FloatSet(Spielerdatei,"X",x);
    dini_FloatSet(Spielerdatei,"Y",y);
    dini_FloatSet(Spielerdatei,"Z",z);
    }
    return 1;
    }

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • new Float:X,Float:Y,Float:Z;
    X = dini_Float(data,"X");
    Y = dini_Float(data,"Y");
    Z = dini_Float(data,"Z");
    SetPlayerPos(playerid,X,Y,Z);

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • bei mir klappt das ihren wie nicht
    tock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    new Float:X,Float:Y,Float:Z;
    SetPlayerPos(playerid,X,Y,Z);
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);//accs
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));//Level
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));//gelp
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));//adminlevel
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));//fraktion
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));//banned
    SetPVarInt(playerid,"Warn",dini_Int(Spielerdatei,"Warn"));//warn
    SetPVarInt(playerid,"Autoschein",dini_Int(Spielerdatei,"Autoschein"));//autoschein
    SetPVarInt(playerid,"Waffenschein",dini_Int(Spielerdatei,"Waffenschein"));//waffenschein
    SetPVarInt(playerid,"Freezed",dini_Int(Spielerdatei,"Freezed"));//frezzet
    SetPVarInt(playerid,"Supporter",dini_Int(Spielerdatei,"Supporter"));//Supporter
    SetPVarInt(playerid,"tutorial",dini_Int(Spielerdatei,"tutorial"));//Supporter
    SetPlayerWantedLevel(playerid,dini_Int(Spielerdatei,"Wanteds"));//wanted
    pInfo[playerid][Bank] = dini_Int(Spielerdatei, "Bank");//bank
    SetPVarInt(playerid,"Ticket",dini_Int(Spielerdatei,"Ticket"));//Ticket
    X = dini_Float(Spielerdatei,"X");
    Y = dini_Float(Spielerdatei,"Y");
    Z = dini_Float(Spielerdatei,"Z");
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);//auslesen der Pos
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"PayDay",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    //dini_IntSet(Spielerdatei,"Hp",GetPlayerHealth(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Mannlich",GetPVarInt(playerid,"Mannlich"));
    dini_IntSet(Spielerdatei,"Weiblich",GetPVarInt(playerid,"Weiblich"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Warn",GetPVarInt(playerid,"Warn"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    dini_IntSet(Spielerdatei,"Autoschein",GetPVarInt(playerid,"Autoschein"));
    dini_IntSet(Spielerdatei,"Motorradschein",GetPVarInt(playerid,"Motorradschein"));
    dini_IntSet(Spielerdatei,"Waffenschein",GetPVarInt(playerid,"Waffenschein"));
    dini_IntSet(Spielerdatei,"Freezed",GetPVarInt(playerid,"Freezed"));
    dini_IntSet(Spielerdatei,"Wanteds",GetPVarInt(playerid,"Wanteds"));
    dini_IntSet(Spielerdatei,"Handrang",GetPVarInt(playerid,"Handrang"));
    dini_IntSet(Spielerdatei,"Duty",GetPVarInt(playerid,"Duty"));
    dini_IntSet(Spielerdatei,"Jailtime",GetPVarInt(playerid,"Jailtime"));
    dini_IntSet(Spielerdatei,"Jail",GetPVarInt(playerid,"Jail"));
    dini_IntSet(Spielerdatei,"Ticket",GetPVarInt(playerid,"Ticket"));
    dini_IntSet(Spielerdatei,"PaydayMenuten",GetPVarInt(playerid,"PaydayMenuten"));
    dini_IntSet(Spielerdatei,"tutorial",GetPVarInt(playerid,"tutorial"));
    dini_IntSet(Spielerdatei,"Supporter",GetPVarInt(playerid,"Supporter"));
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Arbeit",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Bank",pInfo[playerid][Bank]);
    dini_IntSet(Spielerdatei,"Geschlecht",GetPVarInt(playerid,"Geschlecht"));
    dini_FloatSet(Spielerdatei,"X",x);
    dini_FloatSet(Spielerdatei,"Y",y);
    dini_FloatSet(Spielerdatei,"Z",z);
    }
    return 1;
    }
    hab ich was vergessen ?

  • X = dini_Float(Spielerdatei,"X");
    Y = dini_Float(Spielerdatei,"Y");
    Z = dini_Float(Spielerdatei,"Z");


    hier unter

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Klappt ihren wie noch imma nicht


    Noch mal vielleicht ist da ja ihren was ka
    public OnPlayerSpawn(playerid)
    {
    if(Jail(playerid))
    {
    new string[40];
    format(string,sizeof(string),"Du musst noch %d Minuten sitzen",GetPVarInt(playerid,"Jailtime"));//2490
    SetTimer("verhaftet", 60000, 0);
    SetPlayerPos(playerid,226.7976,108.4855,999.0156);
    SetPlayerFacingAngle(playerid,357.7066);
    SetPlayerInterior(playerid,10);
    SendClientMessage(playerid,ORANGE,"Du hast deine Zeit im Knast noch nicht ganz Abgesehen");
    return 1;
    }
    UpdateStats(playerid);
    SetTimerEx("UpdateStats", 10000, 1, "%i", playerid);
    GangZoneShowForPlayer(playerid, no[0], 0xFF000096);
    GangZoneShowForPlayer(playerid, no[1], 0xFF000096);
    if(sc[playerid] == true) {
    SetPlayerPos(playerid,px[playerid],py[playerid],pz[playerid]); }
    {
    SetPlayerColor(playerid, WEIS);
    }
    {
    SetPlayerPos(playerid,-2581.8469,310.1796,5.1797);
    SetPlayerFacingAngle(playerid,86.7459);
    }
    if(pFirstLog[playerid] == true)
    {
    if(GetPVarInt(playerid, "tutorial") < 1)
    {
    SetPlayerPos(playerid,-2581.8469,310.1796,5.1797);
    TogglePlayerControllable(playerid,false);
    TutTime[playerid] = 1;
    TutTimer[playerid] = SetTimerEx("Tutorial",1000,1,"i",playerid);
    SetPVarInt(playerid,"tutorial",1);
    }
    }
    if(Admin(playerid,3))
    {
    SendClientMessage(playerid,ROT,"|___________ Admin ___________|");
    SendClientMessage(playerid,GELB,"Du hast dich als Admin angemeldet.");

    }
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
    LadeSpielerWaffen(playerid);
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{}
    case 1:{SetPlayerPos(playerid,polizeispawn);}
    case 2:{SetPlayerPos(playerid,medicspawn);}
    case 3:{SetPlayerPos(playerid,Ordnungsamd);}
    case 4:{SetPlayerPos(playerid,feuerwehr);}


    }
    return 1;
    }


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    new Float:X,Float:Y,Float:Z;
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);//accs
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));//Level
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));//gelp
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));//adminlevel
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));//fraktion
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));//banned
    SetPVarInt(playerid,"Warn",dini_Int(Spielerdatei,"Warn"));//warn
    SetPVarInt(playerid,"Autoschein",dini_Int(Spielerdatei,"Autoschein"));//autoschein
    SetPVarInt(playerid,"Waffenschein",dini_Int(Spielerdatei,"Waffenschein"));//waffenschein
    SetPVarInt(playerid,"Freezed",dini_Int(Spielerdatei,"Freezed"));//frezzet
    SetPVarInt(playerid,"Supporter",dini_Int(Spielerdatei,"Supporter"));//Supporter
    SetPVarInt(playerid,"tutorial",dini_Int(Spielerdatei,"tutorial"));//Supporter
    SetPlayerWantedLevel(playerid,dini_Int(Spielerdatei,"Wanteds"));//wanted
    pInfo[playerid][Bank] = dini_Int(Spielerdatei, "Bank");//bank
    SetPVarInt(playerid,"Ticket",dini_Int(Spielerdatei,"Ticket"));//Ticket
    X = dini_Float(Spielerdatei,"X");
    Y = dini_Float(Spielerdatei,"Y");
    Z = dini_Float(Spielerdatei,"Z");
    SetPlayerPos(playerid,X,Y,Z);
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);//auslesen der Pos
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"PayDay",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    //dini_IntSet(Spielerdatei,"Hp",GetPlayerHealth(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Mannlich",GetPVarInt(playerid,"Mannlich"));
    dini_IntSet(Spielerdatei,"Weiblich",GetPVarInt(playerid,"Weiblich"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Warn",GetPVarInt(playerid,"Warn"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    dini_IntSet(Spielerdatei,"Autoschein",GetPVarInt(playerid,"Autoschein"));
    dini_IntSet(Spielerdatei,"Motorradschein",GetPVarInt(playerid,"Motorradschein"));
    dini_IntSet(Spielerdatei,"Waffenschein",GetPVarInt(playerid,"Waffenschein"));
    dini_IntSet(Spielerdatei,"Freezed",GetPVarInt(playerid,"Freezed"));
    dini_IntSet(Spielerdatei,"Wanteds",GetPVarInt(playerid,"Wanteds"));
    dini_IntSet(Spielerdatei,"Handrang",GetPVarInt(playerid,"Handrang"));
    dini_IntSet(Spielerdatei,"Duty",GetPVarInt(playerid,"Duty"));
    dini_IntSet(Spielerdatei,"Jailtime",GetPVarInt(playerid,"Jailtime"));
    dini_IntSet(Spielerdatei,"Jail",GetPVarInt(playerid,"Jail"));
    dini_IntSet(Spielerdatei,"Ticket",GetPVarInt(playerid,"Ticket"));
    dini_IntSet(Spielerdatei,"PaydayMenuten",GetPVarInt(playerid,"PaydayMenuten"));
    dini_IntSet(Spielerdatei,"tutorial",GetPVarInt(playerid,"tutorial"));
    dini_IntSet(Spielerdatei,"Supporter",GetPVarInt(playerid,"Supporter"));
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Arbeit",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Bank",pInfo[playerid][Bank]);
    dini_IntSet(Spielerdatei,"Geschlecht",GetPVarInt(playerid,"Geschlecht"));
    dini_FloatSet(Spielerdatei,"X",x);
    dini_FloatSet(Spielerdatei,"Y",y);
    dini_FloatSet(Spielerdatei,"Z",z);
    }
    return 1;
    }
    ihren was vergessen ?