Hallo ,
Hab eine Frage ,
Wenn ich ein Befehl habe und man soll den nicht jede Sec benutzen können z.B. nur alle 5 Min wie kann ich das machen ,
Das man den Befehl nur alle 5 Min machne kann . ?
Lg TIme
Hallo ,
Hab eine Frage ,
Wenn ich ein Befehl habe und man soll den nicht jede Sec benutzen können z.B. nur alle 5 Min wie kann ich das machen ,
Das man den Befehl nur alle 5 Min machne kann . ?
Lg TIme
Das kannst du mit Timern machen oder mit Ticks.
Ich benutzt dazu immer Ticks.
new
tickCommand1[MAX_PLAYERS];
#define TICK_COMMAND1_BLOCK 60*5*1000
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
new
tickNow = GetTickCount();
if( (tickCommand1[playerid] + (TICK_COMMAND1_BLOCK) ) < tickNow){
return SendClientMessage(playerid,COLOR_YELLOW,"Du kannst diesen befehl nur alle 5 Minuten benutzen");
}
tickCommand1[playerid] = tickNow;
// Was passieren soll ab hier.
return 1;
}
return 0;
}
Mit GetTickCount() erhälst du eine Wert der angibt vor wievielen MS der Server gestartet wurde.Damit kannst du arbeiten und an Hand dieses Wertes berechnen ob seit dem angegeben Tick-Wert bis zum erneuten eingeben des Befehles eine bestimmte Zeit verstrichen ist.
Ist vielleicht bisher schwer zu verstehen .