Wo liegt der fehler im Teamkill system?

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
  • Es passiert nichts, ich kann immer noch so viel killen wie ich will, dabei sollte es 3 mal möglich sein, und beim jedem mal eine Warnung erscheinen. Beim 3 mal sollte er dan gekickt werden. Das passiert aber nicht. (nach dem 3mal muss eine nachricht an alle Spieler gesendet werden wo sein name drauf steht, und das er wegen Teamkill gekickt wurde. Wo liegt der fehler?




    new TeamKillWarns[MAX_PLAYERS];


    public OnPlayerDeath(playerid, killerid, reason)
    {
    SendDeathMessage(killerid, playerid, reason);
    GivePlayerMoney(killerid,2500);
    SendClientMessage(killerid,0xFFFF00FF,"du hast für den Kill 2500$ bekommen!");
    //hier fängt der Teamkill ding an
    if(gTeam[killerid] == gTeam[playerid])
    {
    new str[64];
    TeamKillWarns[killerid] ++;
    format(str,64,"Warnungen: %d/3",TeamKillWarns[killerid]);
    SendClientMessage(killerid,0x0000FFB2,"Wurde wegen wiederholten Teamkill gekickt");
    if(TeamKillWarns[killerid] == 3)
    {
    Kick(killerid);
    }
    }
    return 1;
    }




    An was liegt das?

  • ich werde zwar nach dem 3 mal gekickt, bekomm aber keine Warnungen davor...


    Wen ich dan gekickt werde, bekommen die anderen die nachricht.


    Das problem ist also, das ich nicht drauhingewissen werde das Teamkill verboten ist also so


    beim ersten mal: Bitte kein Teamkill 1/3


    beim zweiten mal: Bitte kein Teamkill 1/2


    Beim dritten mal: bitte kein Teamkill 3/3 du wirst gekickt


    -Kick


    -Nachricht für die Clinets: NAME wurde wegen Teamkill gekickt


    Also die warnungen davor fehlen...Warum


    public OnPlayerDeath(playerid, killerid, reason)
    {
    SendDeathMessage(killerid, playerid, reason);
    GivePlayerMoney(killerid,2500);
    SendClientMessage(killerid,0xFFFF00FF,"du hast für den Kill 2500$ bekommen!");


    if(gTeam[killerid] == gTeam[playerid]) {
    new str[64]; TeamKillWarns[killerid] ++;
    format(str,64,"Warnungen keinen Teamkill!: %d/3",TeamKillWarns[killerid]);
    SendClientMessage(playerid,0xFF0000B2, str); // du musst die Nachricht str auch absenden ;-)
    if(TeamKillWarns[killerid] == 3)
    {
    Kick(killerid); //Hier wird er erst gekickt also erst auch hier die Kickmessage senden
    SendClientMessage(killerid,0x0000FFB2,"Wurde wegen wiederholten Teamkill gekickt");
    }
    }
    return 1;
    }

  • geht auch nicht, es werden keine Warnungen angezeigt...


    public OnPlayerDeath(playerid, killerid, reason)
    {
    SendDeathMessage(killerid, playerid, reason);
    GivePlayerMoney(killerid,2500);
    SendClientMessage(killerid,0xFFFF00FF,"du hast für den Kill 2500$ bekommen!");
    if(gTeam[killerid] == gTeam[playerid]) {
    new str[64]; TeamKillWarns[killerid] ++;
    format(str,64,"Warnungen keinen Teamkill!: %d/3",TeamKillWarns[killerid]);
    SendClientMessage(playerid,0xFF0000B2, str);
    if(TeamKillWarns[killerid] == 3)
    {
    SendClientMessage(killerid,0xFF0000B2, "Warnungen keinen Teamkill!: %d/3");
    SendClientMessage(killerid,0x0000FFB2,"Wurde wegen wiederholten Teamkill gekickt");
    Kick(killerid);
    }
    }
    return 1;
    }

  • public OnPlayerDeath(playerid, killerid, reason)
    {
    SendDeathMessage(killerid, playerid, reason);
    GivePlayerMoney(killerid,2500);
    SendClientMessage(killerid,0xFFFF00FF,"du hast für den Kill 2500$ bekommen!");
    if(gTeam[killerid] == gTeam[playerid]) {
    new str[64]; TeamKillWarns[killerid] ++;
    format(str,64,"Warnungen keinen Teamkill!: %d/3",TeamKillWarns[killerid]);
    SendClientMessage(killerid,0xFF0000B2, str); }
    if(TeamKillWarns[killerid] == 3)
    {
    new string[64];
    format(string,sizeof(string),"%s wurde wegen 3 Maligen Teamkill gekickt.",killerid);
    SendClientMessageToAll(Farbe, string);
    Kick(killerid);
    }
    }
    return 1;
    }


    #e: Fehler

    PN Support? Kannste knicken!