Skripta koju koristim: UP
Detaljan opis problema: Problem je u tome sto sam odradio anti chat spam, ali anticmd me muci vec danima znaci odradio sam sve lepo varijablu per player koja se postqvi na true kada kuca komandu pod onplayercommandperformed pod proverom if success i ne znam dakle ne znam sta da radim, kod je u redu ali nikad nisam radio sa ycmd evo sta se desi komanda radi normalno samo stojos ispise da moras da sacekas dva minuta pomoc..
Dio skripte: dam
A da probas ovako nesto pod OnPlayerCommandPerformed
if(PlayerInfo[playerid][pAdmin] == 0) Commands[playerid] ++;
if(Commands[playerid] >= 1)
{
KillTimer(CommandsTimer[playerid]);
CommandsTimer[playerid] = SetTimerEx("ResetCommands", 1500, false, "i", playerid);
if(Commands[playerid] == 5) SendClientMessage(playerid, COLOR_ASKQ,"Ako nastavite raditi Command Spam dobicete kick !");
if(Commands[playerid] == 10)
{
Kick(playerid);
}
Burazeru, veze s vezom nema to sto ti pricas ja pitam lepo za public ti mi dajes neki kod koji mi ne treba :$
Evo ga moj:
Pod onplayercommandperformed
if(success)
{
if(CMDTimer[playerid] == 1)
{
SCM(playerid, -1, "{00C0FF}[MOD:RP]{FFFFFF} Komande mozete koristiti svake 2 sekunde.");
return 0;
}
if(CMDTimer[playerid] == 0)
{
CMDTimer[playerid] = 1;
SetTimerEx("CMDT", 2000, 0, "d", playerid);
return 1;
}
}
i imam taj tajmer CMDT koji postavlja varijablu CMDTimer na 0 za igraca poz.. zz poy
ovako?
if(success)
{
if(CMDTimer[playerid] == 1)
{
SCM(playerid, -1, "{00C0FF}[MOD:RP]{FFFFFF} Komande mozete koristiti svake 2 sekunde.");
return 0;
}
else if(CMDTimer[playerid] == 0)
{
CMDTimer[playerid] = 1;
SetTimerEx("CMDT", 2000, 0, "d", playerid);
return 1;
}
}
Ne, pokusavao sam i to ali nista, ja mislim da je problem taj sto se taj public poziva nakon kucanja komande i komanda obavi sve i onda tek ispise deo pod onplayercommandperformed..
Nisam to nigde procitao, samo pretpostavljam
Pojasni malo...
Sta tu ima da se pojasni, na primer kucam /stuck i onda ovo bude:
Prvo ispise ovo:
MOD:RP | Sada ste osvezeni i mozete se pomerati.
A odmah nakon toga kucam /stuck:
MOD:RP | Sada ste osvezeni i mozete se pomerati.
MOD:RP | Komande mozete koristiti svake 2 sekunde.
To je to nema sta vise :P Imate kod samo ne znam gde da ga stavim.. Mozda pod OnPlayerText.. Hmmm sumnjam
Probaj ovako
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
if(!success) SCM (playerid, -1, "* Komanda ne postoji !");
if(CMDTimer[playerid] == 1)
{
SCM (playerid, -1, "{00C0FF}[MOD:RP]{FFFFFF} Komande mozete koristiti svake 2 sekunde.");
return 1;
}
if(CMDTimer[playerid] == 0)
{
CMDTimer[playerid] = 1;
SetTimerEx("CMDT", 2000, false, "i", playerid);
}
return 1;
}
forward CMDT(playerid);
public CMDT(playerid)
{
CMDTimer[playerid] = 0;
return 1;
}