Problem mit Zurücksetzung einer Spielervariable im Timer

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 Leute,


    ich habe einen Anti-Spam auf meinem Server eingerichtet und möchte, dass der Spieler jede Sekunde nur höchst. 2 Befehle eingeben kann.
    Soweit habe ich das so gemacht:


    public OnPlayerText(playerid, text[])
    {
    if(pCmduse[playerid] > 2){SendClientMessage(playerid,0x33CCFFAA,"Du darfst pro Sekunde nur 2 Befehle nutzen!");return 0;}
    pCmduse[playerid] = pCmduse[playerid] + 1;
    .....


    pCmduse ist also die Variable, die im Script mit [MAX_PLAYERS] definiert ist.


    Im Timer, der eine Zeit von einer Sekunde hat und sich permanent wiederholt, hat diese zurücksetzung für die Variable:


    for(new i=0;i<MAX_PLAYERS;i++)
    {
    pCmduse[i] = 0;
    ....


    Jedoch bekomme ich, sobald ich einen zweiten Befehl eingebe, die Meldung (return SendClientMessage.. *siehe oben*)


    Was mache ich falsch? :o