Doppelte XP Bonus

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
  • Hallo,



    ich habe micn mal an einen Befehl rangewagt wo die XP also der Timer auf die Hälfte eingestellt werden soll


    ocmd:doubletbonus(playerid,params[])
    {
    new zeit,zeitt,string[128],grund[128];
    if(!isAdmin(playerid,5)) return SendClientMessage(playerid,CL_ORANGE,"Du bist nicht berechtigt!");
    if(sscanf(params,"is",zeit,grund)) return SendClientMessage(playerid,CL_ORANGE,"Benutzung: /doubletbonus [Zeit] [Grund]");
    if(zeit < 19 || zeit > 61) return SendClientMessage(playerid,CL_ORANGE,"Zeit zwischen 20 und 60 Minuten!");
    new length = strlen(grund);
    if(length < 4) return SendClientMessage(playerid,RED,"Verwende mindestens 4 Buchstaben für den Grund!");
    KillTimer("MinutenTimer");
    SetTimer("MinutenTimer",30000,true);
    format(string,sizeof(string),"Der Doppelte Bonus wurde für %i Minuten aktiviert,Grund:%s",zeit,grund);
    SendClientMessage(playerid,CL_GREEEN,string);
    zeitt = (zeit*1000)*60;
    printf("Zeit=%i zeitt=%i",zeit,zeitt);
    SetTimerEx("doublekill",zeit,false,"");
    return 1;
    }


    nun ist in der Zeile mit dem "KillTimer" ein Error
    argument type Mismatch (type 1)



    vlt könnt ihr mir helfen


    LG Stormi

  • Unter die Includes:
    new mTimer = -1;


    Dort wo du den Timer startest (OnGameModeInit?):
    mTimer = SetTimer("MinutenTimer",60000,true);


    Der Befehl:
    ocmd:doubletbonus(playerid,params[])
    {
    new zeit,zeitt,string[128],grund[128];
    if(!isAdmin(playerid,5)) return SendClientMessage(playerid,CL_ORANGE,"Du bist nicht berechtigt!");
    if(sscanf(params,"is",zeit,grund)) return SendClientMessage(playerid,CL_ORANGE,"Benutzung: /doubletbonus [Zeit] [Grund]");
    if(zeit < 19 || zeit > 61) return SendClientMessage(playerid,CL_ORANGE,"Zeit zwischen 20 und 60 Minuten!");
    new length = strlen(grund);
    if(length < 4) return SendClientMessage(playerid,RED,"Verwende mindestens 4 Buchstaben für den Grund!");
    if(mTimer != -1) KillTimer(mTimer);
    mTimer = SetTimer("MinutenTimer",30000,true);
    format(string,sizeof(string),"Der Doppelte Bonus wurde für %i Minuten aktiviert,Grund:%s",zeit,grund);
    SendClientMessage(playerid,CL_GREEEN,string);
    zeitt = (zeit*1000)*60;
    printf("Zeit=%i zeitt=%i",zeit,zeitt);
    SetTimerEx("doublekill",zeit,false);
    return 1;
    }