SetTimer und KillTimer

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
  • Nabend liebe Breadfishler,
    Ich habe mal eine Frage an euch.
    Also ich möchte einen Befehl für Admins erstellen wenn sie "Aduty" gehen sollen sie ein Godmode bekommen.
    Das habe ich so gemacht:


    forward aduty();


    public aduty()
    {
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    return 1;
    }


    if(strcmp(cmdtext,"/aduty",true)==0)
    {
    if(isPlayerAnAdmin(playerid,5))
    {
    SetTimer("aduty", 2000, true);
    return 1;
    }
    SendClientMessage(playerid, GELB, "Du bist kein Admin!");
    return 1;
    }


    1. Ich möchte gerne den Timer killen mit KillTimer aber ich weiss nicht wie.
    2. Ich bekomme bei den "playerid" 2 Error's C:\Users\Domi\Desktop\Selfmade\gamemodes\selfmade.pwn(508) : error 017: undefined symbol "playerid"
    C:\Users\Domi\Desktop\Selfmade\gamemodes\selfmade.pwn(509) : error 017: undefined symbol "playerid"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.
    public aduty()
    {
    SetPlayerHealth(playerid,100);
    SetPlayerArmour(playerid,100);
    return 1;
    }


    Ich verstehe im Moment nur Bahnhof :)
    Bitte um hilfe.


    Mit freundlichen Grüßen,
    kingdome/Dominik


  • forward aduty(playerid);
    new MyTimer[MAX_PLAYERS];
    //
    if(strcmp(cmdtext,"/aduty",true)==0)
    {
    if(isPlayerAnAdmin(playerid,5))
    {
    if(GetPVarInt(playerid,"ADuty") == 0)
    {
    MyTimer[playerid] = SetTimerEx("aduty", 2000, true,"i",playerid);
    SetPVarInt(playerid,"ADuty",1);
    }
    else
    {
    KillTimer(MyTimer[playerid]);
    SetPVarInt(playerid,"ADuty",0);
    }
    return 1;
    }
    SendClientMessage(playerid, GELB, "Du bist kein Admin!");
    return 1;
    }
    //
    public aduty(playerid)
    {
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    return 1;
    }

  • Okay alles schön und gut.
    Nun komm das hier:
    C:\Users\Domi\Desktop\Selfmade\gamemodes\selfmade.pwn(514) : error 025: function heading differs from prototype
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    //edit
    public aduty(playerid)
    Hier soll der Fehler sein.


    //edit Fehler behoben
    habe bei forward aduty(); das "playerid" in die Klammern setzten vergessen.
    Danke :)


    Mit freundlichen Grüßen,
    kingdome/Dominik