[Ajuda] Verificar posiзao - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (
https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Verificar posiзao (
/showthread.php?tid=459741)
Verificar posiзao -
ungroup - 24.08.2013
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;
}