01.08.2018, 17:09
Estou fazendo um FS para que o jogador, quando entrasse na бrea de San Fierro (que eu criei usando um stock) tivesse um aviso de que se nгo pedisse a autorizaзгo para pouso, ele seria interceptado. Enfim, estou querendo fazer com que ele mande a mensagem quando entre e saia da zona, mas simplesmente nгo estб funcionando.
Variбvel:
Cуdigo:
Stock:
Variбvel:
Код:
new bool:entradaArea[MAX_PLAYERS];
Код:
forward EntrarAreaRestritaSF(playerid);
public EntrarAreaRestritaSF(playerid) {
if(IsPlayerInPlace(playerid, -2956.8369, -1438.3058, -765.9012, 1587.6742)) {
entradaArea[playerid] = true;
SetTimer("EntrarAreaRestritaSF", 1000, true);
new stringAviso[250];
format(stringAviso, sizeof(stringAviso), "(ATENЗВO!) Vocк acabou de entrar no espaзo aйreo de San Fierro, peзa autorizaзгo para efetuar o pouso, ou sua aeronave serб interceptada por mнsseis.");
SendClientMessage(playerid, COR_VERMELHO, stringAviso);
}
else return entradaArea[playerid] = false;
return 1;
}
forward SairAreaRestritaSF(playerid);
public SairAreaRestritaSF(playerid) {
if(!IsPlayerInPlace(playerid, -2956.8369, -1438.3058, -765.9012, 1587.6742)) {
if(entradaArea[playerid] == false) {
SetTimer("SairAreaRestritaSF", 1000, false);
new stringAviso[250];
format(stringAviso, sizeof(stringAviso), "(ATENЗВO!) Vocк acabou de sair do espaзo aйreo de San Fierro. Sua aeronave nгo serб interceptada.");
SendClientMessage(playerid, COR_VERMELHO, stringAviso);
}
}
return 1;
}
Код:
stock IsPlayerInPlace(playerid, Float:XMin, Float:YMin, Float:XMax, Float:YMax)
{
new
RetValue = 0,
Float:aX,
Float:aY,
Float:aZ
;
GetPlayerPos(playerid, aX, aY, aZ);
if(aX >= XMin && aY >= YMin && aX < XMax && aY < YMax)
{
RetValue = 1;
}
return RetValue;
}



.
.