Probleme mit den Kills und deaths speichern! (ja hab di SuFU genutzt!!!!!)

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
  • Hei ich habe eine Frage die schon des öfteren kam und auch sehr stark in der SuFu vertreten ist. Ich hatte auch schon ein System was funktioniert hat, aber ich habe dann mir sagen lassen das PVarInt besser ist als alles mit enums machen, weil man die enums immer auf null setzten muss wenn ein Spieler den Server verlässt. Mein Problem ist jetzt aber das die Kills und deaths nicht mehr in meiner Dini gespeichert werden :(


    ich habe es so gemacht:



    public OnPlayerDeath(playerid, killerid, reason)



    {
    if(killerid!=INVALID_PLAYER_ID)
    {


    SendDeathMessage(killerid, playerid, reason);
    SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
    GivePlayerMoney(killerid, 100);
    GivePlayerMoney(playerid,-100);
    //SpielerInfo[killerid][kills] ++;
    //SpielerInfo[playerid][deaths] ++;
    new deaths = 1;
    SetPVarInt(playerid,"deaths", deaths);
    new str[100], str2[100], name[50], name2[50];
    GetPlayerName(killerid, name, sizeof(name));
    format(str, sizeof(str), "Du wurdest von --> %s <-- umgebracht", name);
    GetPlayerName(playerid, name2, sizeof(name2));
    format(str2, sizeof(str2), "Du hast --> %s <-- umgebracht", name2);
    SendClientMessage(playerid,COLOR_RED,str);
    SendClientMessage(killerid,COLOR_GREEN,str2);
    }
    else
    {
    SendDeathMessage(killerid,playerid,reason);
    GivePlayerMoney(playerid,-100);
    //SpielerInfo[playerid][deaths] ++;
    new msg1[100];
    format(msg1,sizeof(msg1),"Du hast dich selbst umgebracht!");
    SendClientMessage(playerid,COLOR_RED,msg1);
    }
    return 1;



    }


    ich hab sogar noch die Spielerinfo trinnen lassen damit ihr seht wie ich es früher hatte und es auch gefunkt hat nur jetz haut es nicht mit PVar hin. Ich müsste Enums machen aber ich will es ohne haben ;)^^


    MfG


    /edit: wo ich new deaths = 1;
    SetPVarInt(playerid,"deaths", deaths); gemacht hab wird ja immer wenn er gekillt wird wirds auf 1 gesetzt, aber wie kann ich da machen das es dazugezählt wird. Habe ++, =, 1+ etc versucht aber kommt dann immer error -.-


    Einmal editiert, zuletzt von nehli ()

  • ja weil man die PVarInt mit den FilterScripts super verbinden kann und ich find es nicht so schlecht, aber habe das andere auch gut gefunden^^


    und wenn ich

    new deaths == ++;


    kommt diese Fehlermeldung:
    E:\windows c server\gamemodes\testocmd.pwn(167) : error 029: invalid expression, assumed zero
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

  • Aso, du benutz Filterscripts. Dann is natürlich was anderes ;)
    Zu deinem Prob.:

    //ganz oben im Script
    new deaths;


    //in deiner Klasse
    deaths = GetPVarInt(playerid, "deaths");
    deaths++;
    SetPVarInt(playerid,"deaths", deaths);
    deaths = 0;

  • aber ich hab mitbekommen was er mit klasse meint ;) also ist es egal ob er klasse oder Funktion schreibt, aber richtig wäre Funktion ;) xD


    /edit: Danke euch beiden für die schnelle Hilfe!! Es funkt jetzt 8)