[Ajuda] Verificar posiзao
#1

Ja fiz isso uma vez porem nao sei o motivo deste nao estar dando certo.Estou querendo criar um dominio de GangZone caso o player esteja na area dela.Ficou assim o codigo de teste:

Para verificar a posiзao do player:

pawn Код:
stock IsPlayerInArea(playerid,Float:XMin,Float:YMin,Float:XMax,Float:YMax )
{
    new Turn = 0;
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z );
    if( X >= XMin && Y >= YMin && X < XMax && Y < YMax )
    {
        Turn = 1;
    }
    return Turn ;
}
Caso o player esteja no local de GangZone e o player digita o comando /dominar

pawn Код:
COMMAND:dominar(playerid, params[])
{
    #pragma unused params
    if(IsPlayerInArea(playerid,1429.6085,-1583.7032, 1529.6647,-1730.1879)) // Local da GangZone
    {
        SendClientMessage(playerid,-1,"Deu"); //Caso esteja no local
    }
    else
    {
        SendClientMessage(playerid,-1,"Nao Deu"); //Caso n esteja no local
    }
    return 1;
}
Porem sempre envia a mensagem "Nao deu" ou seja,acusando que o player nao esteja no local.
Tentei de outras formas tambem porem sempre acusa que o player nao esta no local.

@@EDITADO@@

Arrumei o erro,eu havia errado no retorno de valor da stock IsPlayerInArea ficando assim caso alguem precise:


pawn Код:
stock IsPlayerInArea(playerid,Float:XMin,Float:YMin,Float:XMax,Float:YMax )
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z );
if( X >= XMin && Y >= YMin && X < XMax && Y < YMax )
{
    return true;
}
return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)