Tode und Kills aufrechnen

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
  • Hey wie kann ich wenn jemand stirbt oder jemand jemanden tötet die Kills und die Tode hochsetzen?
    Ich hab das jetzt so aber das geht nicht. :/


    public OnPlayerDeath(playerid, killerid, reason)
    {
    //Killer +1 Kills
    sInfo[killerid][kills] = ++;
    savePlayer(killerid);
    //Tote +1 Tod
    sInfo[playerid][tode] = ++;
    savePlayer(playerid);
    return 1;
    }

    Mit freundlichen Grüßen,
    Derakar

  • playerid ist gestorben -> Ein Tod mehr
    killerid hat getötet -> Ein Kill mehr


    Jo, müsste so stimmen wenn du das von Winston_Churchill noch beachtest. Bei der Speicher-Funktion gehe ich mal davon aus, dass die die Spieler wie angegeben speichert, aber da die Kill/Death-Variablen wahrscheinlich nicht in der Funktion verändert werden, kannst du auch mehrmals speichern, ohne dass sich was ändern sollte :D

  • Doch das soll ja auch nach dem Tod schon in den Stats stehen. :thumbup:


    EDIT: Es geht aber noch nicht. Wenn ich sterber, dann wird das nicht hochgerechnet.

    Mit freundlichen Grüßen,
    Derakar

  • St

    Doch das soll ja auch nach dem Tod schon in den Stats stehen. :thumbup:


    Steht es, auch wenn du die spieler nicht speichers. Beim Speichern überträgst du die Variablen in eine Dini Datei, MySQL Spalte oder wie auch immer du speicherst.

    Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
    Die, die das behaupten, haben nur vor der Veränderung Angst.
    Es sind dieselben, die erklären, es sei gut so, wie es ist.
    Und wenn Du etwas ändern willst, dann bist Du automatisch Terrorist (Die Ärzte - Deine Schuld)



  • Das ist richtig so, aber ich würde es nicht für nötig sehen, den Spieler nach jedem Tod zu Speichern. Ich würde es eher beim Disconnect machen.
    Doch das soll ja auch nach dem Tod schon in den Stats stehen.


    Ja, jedoch würde ich den Wert einzeln speichern, oder eher bei dem Disconnecten.

  • Beim Speichern überträgst du die Variablen in eine Dini Datei, MySQL Spalte oder wie auch immer du speicherst.

    Ich speicher über MySQL in eine Spalte.

    Am besten lässt du dir beim Sterben mit der printf-Funktion mal die Variablen beider Spieler in der Konsole anzeigen

    Werde ich mal ausprobieren.

    Wo zeigst du den Score an?

    Also ich lasse das im List Dialog ausgeben.

    Mit freundlichen Grüßen,
    Derakar

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • ZU dem Stats ausgeben


    Dafür muss es nicht bei jedem Tod/Kill gespeichert werden ;)


    CODE:
    new Kill[MAX_PLAYERS], Death[MAX_PLAYERS];
    public OnPlayerDeath(playerid, killerid, reason)
    {
    Kill[killerid] ++;
    Death[playerid] ++;
    return 1;
    }


    Dann wenn du es mit %i oder %d je nach dem in einem stats Dialog ausgeben möchtest setzt du einfach an der jeweiligen Float


    Death[playerid] oder Kill[playerid]#


    Hoffe konnte dir Helfen :thumbup:

  • Ok dann bringe sie mal wd zum laufen ^^ aber du hast keine speicherungs fehler oder so wenn doch zeig uns mal deinen saveplayer stock ;)

    Nein Fehler habe ich nicht nur dann den MySQL Fehler...



    savePlayer(playerid)
    {
    if(sInfo[playerid][eingeloggt]==0)return 1;
    //Speichern level,money
    new query[128];
    format(query,sizeof(query),"UPDATE user SET level='%i',cash='%i',bank='%i',alevel='%i',fraktion='%i',rang='%i',skin='%i',wanteds='%i',kills='%i',tode='%i' WHERE id='%i'",sInfo[playerid][level],sInfo[playerid][cash],sInfo[playerid][bank],sInfo[playerid][alevel],sInfo[playerid][fraktion],sInfo[playerid][rang],sInfo[playerid][skin],sInfo[playerid][wanteds],sInfo[playerid][kills],sInfo[playerid][tode],sInfo[playerid][db_id]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }

    Mit freundlichen Grüßen,
    Derakar

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen