Geld und Kills speichern sich nicht

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 scripte gerade an einem DM Server. Bei mir wird alles gespeichert außer Geld und Kills.
    Kann mir einer helfen?


    enum SpielerDaten
    {
    Adminlevel,
    Gang,
    Banned,
    Geld,
    Kills
    };


    public OnPlayerDeath(playerid, killerid, reason)
    {
    SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
    GivePlayerMoney(killerid,150);
    GivePlayerMoney(playerid,0);
    GameTextForPlayer(killerid,"~w~Kill",1000,3);
    SendDeathMessage(killerid, playerid, reason);
    sSpieler[killerid][Kills] = GetPlayerScore(killerid);
    return 1;
    }


    Register stock:
    dini_IntSet(Spieler,"Geld",0);
    dini_IntSet(Spieler,"Kills",0);


    Spieler speichern:
    dini_IntSet(Spieler,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spieler,"Kills",GetPlayerScore(playerid));


    Spieler laden:
    sSpieler[playerid][Geld] = dini_Int(Spieler,"Geld");
    GivePlayerMoney(playerid,sSpieler[playerid][Geld]);
    sSpieler[playerid][Kills] = dini_Int(Spieler,"Kills");
    sSpieler[playerid][Kills] = SetPlayerScore(playerid,sSpieler[playerid][Kills]);


    Man soll pro Kill 150€ bekommen und einen Score. Dies soll gespeichert werden und der Score ist gleichzeitig die anzahl der Kills.
    Wenn man spawnt soll man den Score, der bei Kills ist wieder bekommen.


    Wenn man jedoch spawnt, bekommt man kein Geld und die Kills sind auf 0.


    Was habe ich falsch gemacht?


    Danke im Voraus.

  • Laden:
    stock SpielerLaden(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))
    {
    sSpieler[playerid][Adminlevel] = dini_Int(Spieler,"Adminlevel");
    sSpieler[playerid][Gang] = dini_Int(Spieler,"Gang");
    sSpieler[playerid][Banned] = dini_Int(Spieler,"Banned");
    sSpieler[playerid][Geld] = dini_Int(Spieler,"Geld");
    GivePlayerMoney(playerid,sSpieler[playerid][Geld]);
    sSpieler[playerid][Kills] = dini_Int(Spieler,"Kills");
    sSpieler[playerid][Kills] = SetPlayerScore(playerid,sSpieler[playerid][Kills]);
    if(sSpieler[playerid][Banned] == 1)
    {
    SendClientMessage(playerid,ROT,"Du bist permanent gebannt!");
    Kick(playerid);
    }
    }
    return 1;
    }


    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);
    {
    dini_IntSet(Spieler,"AdminLevel",sSpieler[playerid][Adminlevel]);
    dini_IntSet(Spieler,"Gang",sSpieler[playerid][Gang]);
    dini_IntSet(Spieler,"Banned",sSpieler[playerid][Banned]);
    dini_IntSet(Spieler,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spieler,"Kills",GetPlayerScore(playerid));
    }
    return 1;
    }


  • enum SpielerDaten
    {
    Adminlevel,
    Gang,
    Banned,
    Kills
    };


    public OnPlayerDeath(playerid, killerid, reason)
    {
    sSpieler[killerid][Kills]++;
    SetPlayerScore(killerid, sSpieler[killerid][Kills]);
    GivePlayerMoney(killerid,150);
    GameTextForPlayer(killerid,"~w~Kill",1000,3);
    SendDeathMessage(killerid, playerid, reason);
    return 1;
    }



    stock SpielerLaden(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler, sizeof(Spieler),"/Spieler/%s.txt",Sname);
    sSpieler[playerid][Adminlevel] = dini_Int(Spieler,"Adminlevel");
    sSpieler[playerid][Gang] = dini_Int(Spieler,"Gang");
    sSpieler[playerid][Banned] = dini_Int(Spieler,"Banned");
    GivePlayerMoney(playerid,dini_Int(Spieler,"Geld"));
    sSpieler[playerid][Kills] = dini_Int(Spieler,"Kills");
    SetPlayerScore(playerid,dini_Int(Spieler,"Kills"));
    if(sSpieler[playerid][Banned] == 1)
    {
    SendClientMessage(playerid,ROT,"Du bist permanent gebannt!");
    Kick(playerid);
    }
    return 1;
    }



    stock SpielerSpeichern(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler, sizeof(Spieler),"/Spieler/%s.txt",Sname);
    dini_IntSet(Spieler,"AdminLevel",sSpieler[playerid][Adminlevel]);
    dini_IntSet(Spieler,"Gang",sSpieler[playerid][Gang]);
    dini_IntSet(Spieler,"Banned",sSpieler[playerid][Banned]);
    dini_IntSet(Spieler,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spieler,"Kills",sSpieler[playerid][Kills]);
    return 1;
    }


    //edit: ich hab dir jz mal Geld aus dem enum gelöscht, da du einfach beim disconnect und spawn das geld abfragen bzw speichern kannst :D