Problem mit dem GMX Befehl

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 zusammen


    ich möchte das man beim GMX Befehl eine Zeit eingeben muss,nach der der GMX durchgeführt werden soll.


    Hier der Befehl:


    ocmd:gmx(playerid, params[])
    {
    new Grund[50],string[120],time;
    if(!IstSpielerEinAdmin(playerid,7))return SendClientMessage(playerid,Rot,"Du bist nicht befugt diesen Befehl zu nutzen!!");
    if(sscanf(params, "sd", Grund,time))return SendClientMessage(playerid, Rot, "Der Befehl lautet: /gmx [Grund] [Zeit bis zum GMX]");
    format(string,sizeof(string),"System Nachricht : %s hat in %d Minuten einen Countdown gesetzt. Grund dafür : %s",GetPVarInt(playerid,"Username"),time,Grund);
    SendClientMessageToAll(Rot,string);
    SetTimer("GMXTimer",time,0);
    for(new i;i<MAX_PLAYERS;i++)
    {
    Kick(i);
    }
    return 1;
    }


    public GMXTimer()
    {
    SendRconCommand("GMX");
    return 1;
    }


    Es werden alle keine Errors oder Warnings angezeigt,nur wird der GMX immer direkt durchgeführt,und nicht nach der eingegebenen Zeit.
    Was ist an dem oben stehenden Befehl falsch?


    Schonmal vielen Dank für eure Antworten :)

  • Die Timer Funktion möchte die Zeit in Milisekunden haben.
    Du verlangst aber eine Eingabe von Minuten, aber du gibst die Zahl direkt an den Timer weiter.
    Gibst du also /gmx 5 ein, wird der Timer nach 5 Milisekunden ausgeführt. Du musst dort also entsprechend die Zeit hochrechnen.
    Als Tipp: 3600 Milisekunden = 60 Sekunden = 1 Minute.