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