Skripta: Moja
Opis problema: Aaa napravio areu i timer sve ok odbrojava ali samo kad jednog stavim uredu je i ostale koga god stavim ne odbrojava mu timer nikako neznam kako to da napravim mucim se par dana nista opet...
Dio skripte: // ?
Pa daj na timer vamo da vidimo
Evo CMD za areu gdje zatvara igraca:
YCMD:area(playerid, params[], help)
{
if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pGS] >= 4)
{
new playa;
new razlog[128];
new id, minute;
if(sscanf(params, "uds[128]", id, minute, razlog)) return SCM(playerid, ZUTA, "Koristi | {FFFFFF}/zatvori [Id/DioImena][Minute][Razlog]");
if(PlayerInfo[id][pZatvoren] == 1) return SCM(playerid, SIVA, "Taj igrac je ztvoren od strane LSPD-a");
if(minute < 1) return SCM(playerid, SIVA, "Nemoze ispod 1");
PlayerInfo[id][pArea] = 1;
PlayerInfo[id][pAreaVremena] = minute*60;
new rand = random(sizeof(gRandomAreaSpawns));
AC_BS_SetPlayerPos(id, gRandomAreaSpawns[rand][0], gRandomAreaSpawns[rand][1], gRandomAreaSpawns[rand][2]);
new str[128];
format(str,sizeof(str), "Zatvoreni ste od strane Admina/GXa %s-a na %d sekundi || Razlog: %s", ImePrezime(playerid), PlayerInfo[id][pAreaVremena], razlog);
SCM(id, BELA, str);
new string3[128];
format(string3,sizeof(string3),"Zatvorili ste igraca %s",ImePrezime(playa));
SCM(playerid,BELA,string3);
}
return 1;
}
Evo sad gdje mi timer i provjere:
forward zatvorenarea(playerid);
public zatvorenarea(playerid)
{
PlayerInfo[playerid][pAreaVremena] --;
if(PlayerInfo[playerid][pAreaVremena] == 0)
{
PlayerInfo[playerid][pArea] = 0;
//PlayerInfo[playerid][pAreaVremena] = 0;
KillTimer(unarea);
GameTextForPlayer(playerid, "Slobodan", 1000, 3);
SetPlayerHealth(playerid,0);
return 1;
}
return 1;
}
i ovo pod OnGameModeInit:
unarea = SetTimer("zatvorenarea", 800, true);
Ako jos sta treba reci ?
timer mora ic sa foreachom, ovako stavi
forward zatvorenarea();
public zatvorenarea()
{
foreach(Player, i)
{
if(PlayerInfo[i][pAreaVremena] > 0)PlayerInfo[i][pAreaVremena] --;
if(PlayerInfo[i][pAreaVremena] == 0)
{
//PlayerInfo[i][pArea] = 0;
PlayerInfo[i][pAreaVremena] = 0;
KillTimer(unarea);
GameTextForPlayer(i, "Slobodan", 1000, 3);
SetPlayerHealth(i,0);
return 1;
}
}
return 1;
}
jos sam ti ja nest promjenio...
Nece opet isto sad nikako ne odbrojava ni meni ni drugima..
forward zatvorenarea();
public zatvorenarea()
{
foreach(Player, i)
{
PlayerInfo[i][pAreaVremena] --;
if(PlayerInfo[i][pAreaVremena] == 0)
{
PlayerInfo[i][pArea] = 0;
//PlayerInfo[i][pAreaVremena] = 0;
KillTimer(unarea);
GameTextForPlayer(i, "Slobodan", 1000, 3);
SetPlayerHealth(i,0);
return 1;
}
}
return 1;
}
evo probaj onda ovako, tebi je radilo ovako samo je foreach dodan
Brate i tako sam probao nista ja stavi na srw sebe ok stavim drugog Nista ne odbrojava a meni sve ok samo meni nikom vise koga prvog stavim tome je ok al ostalim nece odbrojava uvijek stoji isto...