Wie mache ich den Timer für Pause zwischen Nachrichten?
kann mir das jemand erklären wäre nett^^
Wie mache ich den Timer für Pause zwischen Nachrichten?
kann mir das jemand erklären wäre nett^^
was genau meinst du? ![]()
das sie net spammen können?
also nur 1 cmd in 1 sekunde machen können?
cih weiß net mehr genau den befehl aber ich weiß es giebt ihn ![]()
zb. Wenn ich player ID 0 bin und nachricht sende mit command /nachricht. Soll der Player ID 1 nach 10 sek mit command /nachricht erst eine nachricht schreiben können.
achso also sone warte zeit
z.b.
/ad
(werbung)
da dann nur 1 ma in der minute oder so
ich kann wenn sci hbis nachher keiner meldet ma einen suchen habe glaube iwo einen drin ![]()
dann kanncih dir geben
ja danke^^ aber kein GF bitte.
new cannotUSE[MAX_PLAYERS];
if(!strcmp(cmdtext,"/ad",false,3))
{
if(strlen(cmdtext) < 4)return SendClientMessage(playerid,0xFFFFFFFF,"Nutze : /ad [Text]");
if(cannotUSE[playerid])return SendClientMessage(playerid,0xFFFFFFFF,"Bitte warte noch etwas");
new adtext[128];
format(adtext,sizeof adtext,"Werbung : %s",cmdtext[4]);
SendClientMessageToAll(0xFFFFFFFF,adtext);
SetTimerEx("getUse",60000,0,"i",playerid);
cannotUSE[playerid]++;
return 1;
}
forward getUse(playerid);
public getUse(playerid)
{
cannotUSE[playerid]--;
return 1;
}
Sollte so stimmen , ist zwar nicht mit voller Zeit Angabe aber naja
ich kann nur einmal den befehl benutzen dann steht da immer bitte warte noch etwas...
So sollte das nicht sein^^
Jo danach musst du 1 Minute Warten
ja nach 1 minute kann ich den befehl wieder nicht benutzen das meinte ich damit^^
timer funktioniert nicht
Dann hast du wohl noch keine Minute gewartet , sollte sich nach 60 Sekunden normal wieder ein Werbetext schalten lassen
doch klar hab ich gewartet, geht nicht !
Würde hier für keinen Timer benutzen.
new tickLastUse[MAX_PLAYERS];
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext,"/ad",false,3))
{
new
cTick = GetTickCount();
if(strlen(cmdtext) < 4) return SendClientMessage(playerid,0xFFFFFFFF,"Nutze : /ad [Text]");
if( (tickLastUse[playerid] + (10*1000)) > cTick) return SendClientMessage(playerid,0xFFFFFFFF,"Bitte warte noch etwas");
new adtext[128];
format(adtext,sizeof adtext,"Werbung : %s",cmdtext[4]);
SendClientMessageToAll(0xFFFFFFFF,adtext);
tickLastUse[playerid] = cTick;
return 1;
}
return 0;
}
(10*1000)) - Bedeutet 10Sekunden bzw 10000ms / ticks.
Ich möchte das aber mit Timer
siehe überschrift
Erklär mir mal bitte welchen Vorteil ein Timer hat.
Es funktioniert genau so,ist sogar Resourcen schonender ... ![]()
Das mit Gettickcount hab ich ganz vergessen
, Alsheimer lässt grüßen ![]()
ja das klappt danke dia. Aber warum klappt das andere net mit timer? Das möchte ich gerne auch noch wissen ![]()