Spieler wird nicht richtig gespeichert

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, ich habe das Problem wenn ein Spieler sich einen Perso kauft und relogt muss er sich den neu kaufen, es wird also nicht gespeichert das gleiche Problem ist auch mit dem Geld..



    Perso befehl:


    if(strcmp(cmdtext,"/personalausweis",true)==0)
    {
    if(GetPVarInt(playerid,"Perso") == 1) return SendClientMessage(playerid, ROT, "Du hast bereits einen Personalausweis.");
    {
    if(IsPlayerInRangeOfPoint(playerid,5,1713.5156,-1659.3950,20.2224))
    {
    if(!HatSpielerGeld(playerid,20)) return SendClientMessage(playerid,ROT,"Du hast nicht genug Geld! [$20]");
    {
    SetPVarInt(playerid,"Perso",1);
    SendClientMessage(playerid,GRÜN,"Du hast dir ein Personalausweis gekauft!");
    GameTextForPlayer(playerid,"~r~-20$",3000,1);
    }
    }
    }
    return 1;


    Stock zum Speichern:


    stock SpielerSpeichern(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(dini_Exists(Spieler))
    {
    dini_IntSet(Spieler,"Adminlevel",sSpieler[playerid][Adminlevel]);
    dini_IntSet(Spieler,"Level",sSpieler[playerid][Level]);
    dini_IntSet(Spieler,"Fraktion",sSpieler[playerid][Fraktion]);
    dini_IntSet(Spieler,"Team",sSpieler[playerid][Team]);
    dini_IntSet(Spieler,"Perso",sSpieler[playerid][Perso]);
    dini_IntSet(Spieler,"Geld",sSpieler[playerid][Geld]);
    }
    return 1;
    }


    Hoffe ihr könnt mir helfen

  • Statt (Beim Speichern)
    dini_IntSet(Spieler,"Perso",sSpieler[playerid][Perso]);


    muss das so:
    dini_IntSet(Spieler,"Perso",GetPVarInt(playerid,"Perso"));


    _____________________________________________________________________________________________


    oder (Beim Perso Befehl)
    statt
    SetPVarInt(playerid,"Perso",1);


    so:


    sSpieler[playerid][Perso] = 1;





    Kannst dir eins von beiden Aussuchen (Ich würds übers enum machen :) )

    ~~ Motorradfahrer aus Leidenschaft :love: ~~


    ~~ Supermoto ~~

  • Ich machs dir Komplett....

    stock SpielerSpeichern(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(dini_Exists(Spieler))
    {
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPlayerScore(Spieler,dini_Int(Spielerdatei,"Level"));
    SetPVarInt(Spieler,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(Spieler,"Team",dini_Int(Spielerdatei,"Team"));
    SetPVarInt(Spieler,"Perso",dini_Int(Spielerdatei,"Perso"));
    SetPVarInt(Spieler,"Geld",dini_Int(Spielerdatei,"Geld"));
    }
    return 1;
    }


    MfG

    Man soll weder annehmen noch besitzen, was man nicht wirklich zum Leben braucht.




  • Dir ist aber schon bewusst, dass er einen Spieler Speichern will und nicht Laden..


    Somit ist deins vollkommen falsch, da du die Sachen laden lässt :).
    ___________________________________________________________________________________-



    Ich habs dir ja oben erklärt, wie du die Zeilen Changen musst ;) @Bumblebee:

    ~~ Motorradfahrer aus Leidenschaft :love: ~~


    ~~ Supermoto ~~

  • Falsch Gelesen sorry ^^


    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.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Team",GetPVarInt(playerid,"Team"));
    }
    return 1;
    }


    MfG

    Man soll weder annehmen noch besitzen, was man nicht wirklich zum Leben braucht.