24.08.2013, 15:12
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:
Caso o player esteja no local de GangZone e o player digita o comando /dominar
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:
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 ;
}
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;
}
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;
}