A ъnica forma que pensei por cima foi utilizando o Streamer e criando uma DynamicArea com as mesmas informaзхes da GangZone.
@edit: Aqui um tutorial que eu fiz rapidinho pra ajudar outro usuбrio com uma dъvida parecida.
Bom, vamos a explicaзгo. A forma mais prбtica e que consome menos processamento do seu servidor й utilizando a funзгo do plugin streamer. Aqui vai um breve tutorial de como pode ser feito:
1. Inicialmente defina uma variбvel para a бrea, por exemplo:
2. Vб atй a public
OnGameModeInit e defina qual serб essa бrea utilizando a funзгo
CreateDynamicRectangle
PHP код:
areaSkate = CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1);
Ai vocк se pergunta, como vou saber o minX, minY exato da GangZone que vocк quer? Й simples, Gamemodes com base GF utilizam de stocks iguais (Nunca vi alguйm mudando isto, entгo para a GangZone da Pista de Skate, por exemplo, basta buscar em seu GM a
IsPlayerInSkate. Efetuando a busca no gamemode que encontrei tem algo semelhante a:
PHP код:
stock IsPlayerInSkate(playerid){new Float:x,Float:y,Float:z;GetPlayerPos(playerid, x, y, z);if(x >= 1859 && y >= -1451 && x <= 1980 && y <= -1351) return true;else return 0;}
Com esta informaзгo, basta alterar na funзгo CreateDynamicRectangle ficando basicamente:
PHP код:
areaSkate = CreateDynamicRectangle(1859, -1451, 1980, -1351, -1, -1, -1);
3. E por fim, basta colocar junto as outras callbacks de seu GameMode a
public OnPlayerEnterDynamicArea(playerid, areaid) sendo assim:
PHP код:
public OnPlayerEnterDynamicArea(playerid, areaid)
{
if(areaid == areaSkate)
{
SendClientMessage(playerid, -1,"[SERVER]Vocк entrou na GangZone Pista de Skate.");
}
return 1;
}