Skripta koju koristim: UP
Detaljan opis problema: Napravio sam cmd /stuck za odglavljivanje igraca. I pokusavam da napravim timer da moze tu cmd da koristi svakih 30 sekundi i ne ide mi ako moze neko da mi objasni kako bio bih zahvalan. Hvala!
Dio skripte: /
Neke slike/video za lakse dobivanje pomoci(neobavezno): /
Postavi tu CMD ovde
CMD:stuck(playerid,params[],help)
{
#pragma unused help
if(UlogovanProvjera[playerid] == 0) return SCM(playerid,-1,"Moras se ulogovati da bi koristio ovu komandu!");
new string[128], igrac;
if(StavljeneLisice[playerid] == 1) return SCM(playerid,-1,"Ne mozes dok imas lisice!");
if(IgracTazovan[playerid] == 1) return SCM(playerid,-1,"Ne mozes dok si tazovan!");
if(Zavezan[playerid] == 1) return SCM(playerid, -1, "Ne mozes dok si zavezan");
if(PlayerInfo[playerid][pZatvor] != 0) return SCM(playerid, -1, "Ne mozes dok si u zatvoru");
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
SetPlayerPos(playerid, slx, sly, slz+2);
TogglePlayerControllable(igrac, 1);
format(string,sizeof(string),"[DEBUG] Uspesno ste se odbagovali!");
SCM(playerid,0xFF6347AA,string);
return 1;
}
Jednostavno, ovo stavis na pocetak
[pawn]new stuckTimerZaIgraca[MAX_PLAYERS]; // definiÅ¡eÅ¡ varijablu koja će Äuvati za svakog igraÄa da li je koristio stuck ili ne
forward stuckTimer(playerid);//ovo je timer[/pawn]
Pod onplayerconnect ovo
[pawn]stuckTimerZaIgraca[playerid] = 0; // postavljas mu ovu varijablu na 0 da se ne bi ubagovalo[/pawn]
u svojoj komandi stuck dodas ovako nesto
[pawn]if(stuckTimerZaIgraca[playerid] != 0) return SendClientMessage(playerid, -1, "Morate saÄekati 30 sekundi prije ponovnog koristenja"); // provjera, ako varijabla nije jednaka 0 onda ce ispisati ovu poruku ukoliko jest onda ce se izvristi kod ispod
stuckTimerZaIgraca[playerid] = 1;
SetTimerEx("stuckTimer", 30000, false, "i", playerid); // pokreces timer[/pawn]
i na kraju timer sam dodas ga ispod komande
[pawn]public stuckTimer(playerid)
{
stuckTimerZaIgraca[playerid] = 0;
}[/pawn]