Skripta koju koristim: Svoje nesto
Detaljan opis problema: Pa ocu da nastimam ako je igrac u blizini nekih koordinata tj. ako mu je "[pFreeZona] == 0" da mu ispisuje odreÄ'eni tex, ali isto tako ako se zadrzaje u krugu tih koordinata duze od 30sec da adminima salje poruku da se on tu nalazi duze od 30sec.
Ali ako mu je "[pFreeZona] == 1" da nista ne ispisuje, tj. da je sve ok
Dio skripte: //
Neke slike/video za lakse dobivanje pomoci(neobavezno)://
Pa napravis timer od 1 sec pod OnGameModeInit i napravis novu variablu za igraca npr countfrsona
I onda ovako u tom tajmeru:
foreach(Player,i)
{
if(IsPlayerInRangeOfPoint(playerid, Radius, X,Y,Z))
{
if(PlayerInfo[playerid][pFreeZona] == 0)
{
//Ovdje ide taj text koji hoces da ispisuje...
if(countfrsona[playerid] < 30)
{
countfrsona[playerid] ++;
}
else
{
//Salje ovdje adminima poruku da je duze od 30 sec i opet resetira da ponovo puni tih 30 sec
countfrsona[playerid] = 0;
}
}
}
return 1;
}
Ne razumijem, de ako ti nije problem dat to sve, samo se mucim a nmgu skontat :D
*BUMP*
Rijesio sam za sada,mslm da je sve ok, Hvala na pomoci
Ovo dodas na vrh skripte:
new countfrsona[MAX_PLAYERS];
Onda pod OnPlayerConnect:
countfrsona[playerid] = 0;
Onda pod OnGameModeInit:
SetTimer("tajmer1sek", 1000, true);
i na dno skripte:
Forward tajmer1sek();
Public tajmer1sek()
{
foreach(Player,i)
{
if(IsPlayerInRangeOfPoint(playerid, Radius, X,Y,Z))
{
if(PlayerInfo[playerid][pFreeZona] == 0)
{
//Ovdje ide taj text koji hoces da ispisuje...
if(countfrsona[playerid] < 30)
{
countfrsona[playerid] ++;
}
else
{
//Salje ovdje adminima poruku da je duze od 30 sec i opet resetira da ponovo puni tih 30 sec
countfrsona[playerid] = 0;
}
}
}
}
return 1;
}
Moze lock rijesio sam