[Hilfe/Frage] Kills und Deaths 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 zusammen,
    ich bin gerade dran ein Script zuerstellen und hänge gerade an dem Problem mit den Kills & Deaths abspeichern. Im prinzip funktioniert es, aber wenn ich Sterbe geht bei Kills +1 und bei Deaths +1. Ich poste am besten mal meinen Code:


    Erstmal SpielerSpeichern:


    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,"Kills",GetPVarInt(playerid,"Kills"));
    dini_IntSet(Spielerdatei,"Deaths",GetPVarInt(playerid,"Deaths"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    }
    return 1;
    }


    LoadAccount:


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Kills",dini_Int(Spielerdatei,"Kills"));
    SetPVarInt(playerid,"Deaths",dini_Int(Spielerdatei,"Deaths"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    Zu dem /stats Befehl:


    if(strcmp(cmdtext,"/stats",true)==0)
    {
    new string[128];
    new fraktname[64];
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{fraktname="Keine";}
    case 1:{fraktname=fraktname1;}
    case 2:{fraktname=fraktname2;}
    case 3:{fraktname=fraktname3;}
    }
    //1 reihe
    SendClientMessage(playerid,HELLBLAU,"|________________Statistik________________|");
    format(string,sizeof(string),"[Name: %s] [Level: %i] [Adminlevel: %i] [Fraktion: %s]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),fraktname);
    SendClientMessage(playerid,HELLBLAU,string);
    //2 reihe
    format(string,sizeof(string),"[Kills: %i] [Deaths: %i]",GetPVarInt(playerid,"Kills"),GetPVarInt(playerid,"Deaths"));
    SendClientMessage(playerid,HELLBLAU,string);
    return 1;
    }


    Und jetzt zu meinem Hauptproblem dem public OnPlayerDeath:


    public OnPlayerDeath(playerid, killerid, reason)
    {
    //Killerid
    GivePlayerMoney(killerid,150);
    {
    SetPlayerScore(killerid,(GetPlayerScore(killerid)+1));
    SetPVarInt(killerid,"Level", GetPVarInt (killerid, "Level") + 1);
    SetPVarInt(killerid,"Kills", GetPVarInt (killerid, "Kills") + 1);
    }

    GivePlayerMoney(playerid,-100);
    {
    SetPVarInt(playerid,"Deaths", GetPVarInt (playerid, "Deaths") + 1);
    }


    //Message
    SendDeathMessage(killerid, playerid, reason);
    GameTextForPlayer(playerid,"~w~Death",1000,3);
    GameTextForPlayer(killerid,"~w~Kill",1000,3);
    return 1;
    }


    ich hoffe mir kann jemannd helfen. Da ich mit dem Scripten noch recht am Anfang stehe.


    MfG Brand

  • public OnPlayerDeath(playerid, killerid, reason)
    {
    //Killerid
    GivePlayerMoney(killerid,150);
    {
    SetPlayerScore(killerid,(GetPlayerScore(killerid)+1));
    SetPVarInt(killerid,"Level", GetPVarInt (killerid, "Level") + 1);
    SetPVarInt(killerid,"Kills", GetPVarInt (killerid, "Kills") + 1);
    }

    GivePlayerMoney(playerid,-100);
    {
    SetPVarInt(playerid,"Deaths", GetPVarInt (playerid, "Deaths") + 1);
    }


    //Message
    SendDeathMessage(killerid, playerid, reason);
    GameTextForPlayer(playerid,"~w~Death",1000,3);
    GameTextForPlayer(killerid,"~w~Kill",1000,3);
    return 1;
    }



    -->



    public OnPlayerDeath(playerid, killerid, reason)
    {
    //Killerid
    GivePlayerMoney(killerid,150);
    SetPlayerScore(killerid,(GetPlayerScore(killerid)+1));
    SetPVarInt(killerid,"Level", GetPVarInt (killerid, "Level") + 1);
    SetPVarInt(killerid,"Kills", GetPVarInt (killerid, "Kills") + 1);

    GivePlayerMoney(playerid,-100);
    SetPVarInt(playerid,"Deaths", GetPVarInt (playerid, "Deaths") + 1);


    //Message
    SendDeathMessage(killerid, playerid, reason);
    GameTextForPlayer(playerid,"~w~Death",1000,3);
    GameTextForPlayer(killerid,"~w~Kill",1000,3);
    return 1;
    }