Wie mache ich es mit Timestamp, das man Befehle nur z.b jede 2.5Sekunden nutzen kann?
mfg
Wie mache ich es mit Timestamp, das man Befehle nur z.b jede 2.5Sekunden nutzen kann?
mfg
Entweder mit einem Timer oder ein Timestamp getso
new stamp = gettime() + 2; // sind jetzt 2 Sekunden
if(gettime() >= stamp)
{
//2 Sekunden sind um | Halbe sekunden geehen glaube ich nicht
}
Irgendwo oben
new GlobalVariable;
Im Befehl
if(GlobalVariable > gettime())return error;
GlobalVariable = gettime()+3;//das sind 3 Sekunden
Mit 2,5 Sekunden wüsste ich jetzt nicht wie das geht, daher 3 da es auf einer halben sekunde ja nicht ankommt^^
Sollte aber so klappen
Alles anzeigenIrgendwo oben
new GlobalVariable;
Im Befehl
if(GlobalVariable > gettime())return error;
GlobalVariable = gettime()+3;//das sind 3 Sekunden
Mit 2,5 Sekunden wüsste ich jetzt nicht wie das geht, daher 3 da es auf einer halben sekunde ja nicht ankommt^^
Sollte aber so klappen
Alles anzeigenIrgendwo oben
new GlobalVariable;
Im Befehl
if(GlobalVariable > gettime())return error;
GlobalVariable = gettime()+3;//das sind 3 Sekunden
Mit 2,5 Sekunden wüsste ich jetzt nicht wie das geht, daher 3 da es auf einer halben sekunde ja nicht ankommt^^
Sollte aber so klappen
Klappt i.wie nicht, kann immer noch den Befehl dauerhaft ausführen
COMMAND:a(playerid,params[])
{
new time;
new grund[31],str[128];
if(sscanf(params,"s[31]",grund)) return SendClientMessage(playerid,COLOR_GRAU,"BENUTZE: /a [Nachricht]");
if(pInfo[playerid][pAdmin] > 0){
format(str,128,"** %s %s: %s **",GetAdminName(playerid),PlayerName(playerid),grund);
SendAdminMessage(0xFF00EBFF,str);
}else{
if(time > gettime())return SendClientMessage(playerid,COLOR_GRAU," Du kannst nur jede 2Sekunden ein Report versenden!");
format(str,128,"** (/a)dmin Report von %s - Nachricht: %s**",PlayerName(playerid),grund);
SendAdminMessage(COLOR_LIGHT_RED,str);
SendClientMessage(playerid,COLOR_GELB,"Report versendet!");
time = gettime()+3;
}
return 1;
}
Alles anzeigen
Klappt i.wie nicht, kann immer noch den Befehl dauerhaft ausführen
COMMAND:a(playerid,params[])
{
new time;
new grund[31],str[128];
if(sscanf(params,"s[31]",grund)) return SendClientMessage(playerid,COLOR_GRAU,"BENUTZE: /a [Nachricht]");
if(pInfo[playerid][pAdmin] > 0){
format(str,128,"** %s %s: %s **",GetAdminName(playerid),PlayerName(playerid),grund);
SendAdminMessage(0xFF00EBFF,str);
}else{
if(time > gettime())return SendClientMessage(playerid,COLOR_GRAU," Du kannst nur jede 2Sekunden ein Report versenden!");
format(str,128,"** (/a)dmin Report von %s - Nachricht: %s**",PlayerName(playerid),grund);
SendAdminMessage(COLOR_LIGHT_RED,str);
SendClientMessage(playerid,COLOR_GELB,"Report versendet!");
time = gettime()+3;
}
return 1;
}
Nimm mal meinen beavis hat ne dreher drinne glaub ich
Ausserdem beachte 2 | 3 Sekundne ist wenig Zeit
beavis hat ne dreher drinne glaub ich
Nö
Die Time deklarierung gehört außerhalb des Commands, da er immer auf 0 ist wenn er den eingibt
Daher hab ich auch beigeschrieben das er es Global deklarieren soll
Nö
Die Time deklarierung gehört außerhalb des Commands, da er immer auf 0 ist wenn er den eingibt
Daher hab ich auch beigeschrieben das er es Global deklarieren soll
Stimmt garnicht gesehen ... sry
new AChatTime[MAX_PLAYERS];
COMMAND:a(playerid,params[])
{
new grund[31],str[128];
if(sscanf(params,"s[31]",grund)) return SendClientMessage(playerid,COLOR_GRAU,"BENUTZE: /a [Nachricht]");
if(pInfo[playerid][pAdmin] > 0){
format(str,128,"** %s %s: %s **",GetAdminName(playerid),PlayerName(playerid),grund);
SendAdminMessage(0xFF00EBFF,str);
}else{
if(AChatTime[playerid] > gettime())return SendClientMessage(playerid,COLOR_GRAU," Du kannst nur jede 2Sekunden ein Report versenden!");
format(str,128,"** (/a)dmin Report von %s - Nachricht: %s**",PlayerName(playerid),grund);
SendAdminMessage(COLOR_LIGHT_RED,str);
SendClientMessage(playerid,COLOR_GELB,"Report versendet!");
AChatTime[playerid] = gettime()+3;
}
return 1;
}
Nö
Die Time deklarierung gehört außerhalb des Commands, da er immer auf 0 ist wenn er den eingibt
Daher hab ich auch beigeschrieben das er es Global deklarieren soll
Oh man bin ich dumm, habe ich vergessen.
Danke klappt.
Die Abfrage wäre vor dem sscanf teil sinnvoller
(handy sry)
Die Abfrage wäre vor dem sscanf teil sinnvoller
(handy sry)
Will aber das Admins so viel schreiben wollen wie die wollen, nur bei Usern 2Sekunden Pause pro Report.
mfg
Will aber das Admins so viel schreiben wollen wie die wollen, nur bei Usern 2Sekunden Pause pro Report.
mfg
Das von Tommyx3 müsste gehen.. Wie meinst du das? Admins sollen Reports schreiben ohne Ende?