Troque X, Y e Z pelas coordenadas de onde o jogador deve estar para entrar no local e XX, YY e ZZ pelas coordenadas de onde ele deve estar para sair.
PHP код:
#define X COORDENADAX_FORA
#define Y COORDENADAY_FORA
#define Z COORDENADAZ_FORA
#define XX COORDENADAX_DENTRO
#define YY COORDENADAY_DENTRO
#define ZZ COORDENADAZ_DENTRO
enum lol
{
Text3D:Text,
Pickup,
bool:Aberta,
};
new Bilheteria[lol];
new bool:Bilhete[MAX_PLAYERS];
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/abrirbilheteria", true) == 0)
{
if(Bilheteria[Aberta]) return SendClientMessage(playerid, 0xFFFF00FF, "A bilheteria jб esta aberta.");
Bilheteria[Aberta] = true;
SendClientMessageToAll(0xFFFF00FF, "A bilheteria foi aberta.");
Bilheteria[Text] = Create3DTextLabel("BILHETERIA", 0xFFFF00FF, X, Y, Z, 30.0, 0, 1);
Bilheteria[Pickup] = CreatePickup(1318, 1, X, Y, Z, -1);
return 1;
}
if(strcmp(cmdtext, "/fecharbilheteria", true) == 0)
{
if(!Bilheteria[Aberta]) return SendClientMessage(playerid, 0xFFFF00FF, "A bilheteria jб esta aberta.");
Bilheteria[Aberta] = false;
SendClientMessageToAll(0xFFFF00FF, "A bilheteria foi fechada.");
Delete3DTextLabel(Bilheteria[Text]);
DestroyPickup(Bilheteria[Pickup]);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i) || !Bilhete[i]) continue;
SetPlayerPos(i, X, Y, Z);
}
return 1;
}
return 0;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_SECONDARY_ATTACK)
{
if(IsPlayerInRangeOfPoint(playerid, 8.0, X, Y, Z))
{
if(Bilheteria[Aberta])
{
SetPlayerPos(playerid, XX, YY, ZZ);
Bilhete[playerid] = true;
}
}
else if(IsPlayerInRangeOfPoint(playerid, 8.0, XX, YY, ZZ))
{
SetPlayerPos(playerid, X, Y, Z);
Bilhete[playerid] = false;
}
}
return 1;
}