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; }