Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Bugi poslato Jul 08, 2014, 15:06:40 POSLE PODNE

Naslov: [Pomoc] Anti cmd spam na up
Poruka od: Bugi poslato Jul 08, 2014, 15:06:40 POSLE PODNE
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
Naslov: Odg: [Pomoc] Anti cmd spam na up
Poruka od: ▂ ▃ ▅ Rudimental ▅ ▃ ▂ poslato Jul 08, 2014, 17:42:58 POSLE PODNE
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);
}
Naslov: Odg: [Pomoc] Anti cmd spam na up
Poruka od: Bugi poslato Jul 08, 2014, 20:26:30 POSLE PODNE
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
Naslov: Odg: [Pomoc] Anti cmd spam na up
Poruka od: Ino42O poslato Jul 08, 2014, 20:50:26 POSLE PODNE
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;
}
}
Naslov: Odg: [Pomoc] Anti cmd spam na up
Poruka od: Bugi poslato Jul 09, 2014, 11:20:19 PRE PODNE
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
Naslov: Odg: [Pomoc] Anti cmd spam na up
Poruka od: youngdeal poslato Jul 09, 2014, 11:39:27 PRE PODNE
Pojasni malo...
Naslov: Odg: [Pomoc] Anti cmd spam na up
Poruka od: Bugi poslato Jul 09, 2014, 13:20:21 POSLE PODNE
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
Naslov: Odg: [Pomoc] Anti cmd spam na up
Poruka od: ▂ ▃ ▅ Rudimental ▅ ▃ ▂ poslato Jul 09, 2014, 14:55:53 POSLE PODNE
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;
}