OnPlayerDeath Stoppt?

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
  • Heyho, ich finde keinen Fehler mein OnPlayerDeath im Script stoppt immer:


    public OnPlayerDeath(playerid, killerid, reason)
    {
    PData[playerid][Gestorben]++;
    SendClientMessage(playerid,CM3,"1");
    PData[killerid][Gemordet]++;
    SendClientMessage(playerid,CM3,"2");
    return 1;
    }



    Die 1 wird mir gesendet, die 2 nicht? Es gibt irgendwie ein Problem mit mit "PData[killerid][Gemordet]++;", habe es nur mit Selbstmord getestet.


    Was gibt es für Reasons? bzw. welche Reason wäre Selbstmord?


    E1: Titel Rechtschreibung.
    E2: E1 Vermerk vergessen.

    Why do programmers always mix up Halloween and Christmas?
    Oct 31 == Dec 25

    Einmal editiert, zuletzt von TPO ()

  • Ja ich weiß was killerid ist.. Doch mir wird die 2 im Chat nicht gesendet, nur die 1 also gibt es ein Problem in der Zeile! Darum geht es mir eigentlich..


    E: Neo, danke doch wo liegt da dann mein Fehler?



    enum Pdatad{Team,Tode,Morde,};new PData[MAX_PLAYERS][Pdatad];

    Why do programmers always mix up Halloween and Christmas?
    Oct 31 == Dec 25

  • Hmm ... auch wenn es eigentlich unlogisch ist: Wird die Variable denn um 1 höher gesetzt, wenn du zuerst die ClientMessages sendest und dann die Variablen erhöhst? :S
    Ansonsten kann ich es eigentlich nicht erklären ... Die Variable ist ja nicht gleich nach einem Tod über 500, also kann das von NeoPhoenix auch nicht so richtig zutreffen. :/

  • Zitat

    Wird die Variable denn um 1 höher gesetzt, wenn du zuerst die ClientMessages sendest und dann die Variablen erhöhst?

    Das hat doch null zusammenhang oO



    Edit:
    Achja NeoPhoenix: Die Variable ist ja noch nicht über 500, war gerade mal 3.. Oder wie meinst du das?

    Why do programmers always mix up Halloween and Christmas?
    Oct 31 == Dec 25

    Einmal editiert, zuletzt von TPO ()

  • Wenn killerid wirklich INVALID_PLAYER_ID ist, sprengt es ja theoretisch den rahmen der variable. Warum machst du nicht ne abfrage ob killerid != INVALID_PLAYER_ID ist und setzt nur dann die variable hoch?
    public OnPlayerDeath(playerid, killerid, reason)
    {
    PData[playerid][Gestorben]++;
    SendClientMessage(playerid,CM3,"1");
    if(killerid != INVALID_PLAYER_ID)
    {
    PData[killerid][Gemordet]++;
    SendClientMessage(playerid,CM3,"2");
    }
    return 1;
    }
    Ansonsten lass dir halt mal die variable ausgeben ^^

    The fact is, I am right. And if you think I'm wrong, you are wrong.