[Ajuda] Objeto e coord
#1

Como eu poderia atualizar a coord do jogado e verificar se ele esta em um raio de 50 metros de um determinado objeto ?, eu fiz porem nгo funcionou, o objeto se move etc, mais o timer sempre envia a mensagem para o player, independente dele estar ou nгo a 50 metros do objeto.


PHP код:
new BARCO[3];
new 
Float:oXFloat:oYFloat:oZ;
public 
OnFilterScriptInit()
{
    return 
1;
}
public 
OnFilterScriptExit()
{
    return 
1;
}
CMD:moverbarco(playerid)
{
   
BARCO[0] = CreateObject(107943123.862792859.0339410.78237,   0.000000.00000273.96307);
   
BARCO[1] = CreateObject(107953123.296142860.6750520.65570,   0.000000.00000273.53851);
   
BARCO[2] = CreateObject(107933118.733642933.1621139.58103,   0.000000.00000273.04440);
   
MoveObject(BARCO[0], 3123.862792859.03394-1000010.7823710);
   
MoveObject(BARCO[1], 3123.296142860.67505-1000020.6557010);
   
MoveObject(BARCO[2], 3118.733642933.16211-1000039.5810310);
   
   
SetTimerEx("BARCO"100true"i"playerid);
   return 
1;
}
forward BARCO(playerid);
public 
BARCO(playerid)
{
   
GetObjectPos(BARCO[0], oXoYoZ);
   
GetPlayerPos(playeridoXoYoZ);
   if(
IsPlayerInRangeOfPoint(playerid,50oXoYoZ))
    {
      
SendClientMessage(playerid, -1"A 50 metros do missil !");
      return 
1;
    }
   return 
1;

Reply
#2

Код:
GetObjectPos(BARCO[0], oX, oY, oZ); 
GetPlayerPos(playerid, oX, oY, oZ);
Vocк setou as coordenadas da posiзгo do objeto nas variбveis oX, oY e oZ e logo depois setou a posiзгo do jogador nelas assim as variбveis irгo retornar a posiзгo do jogador (que foi getada por ъltimo) e nгo a do objeto. O correto seria eliminar essa ъltima linha e deixar somente:
Код:
GetObjectPos(BARCO[0], oX, oY, oZ);
A funзгo IsPlayerInRangeOfPoint jб automaticamente pega a posiзгo atual do jogador e checa se ele estб perto das coordenadas colocadas em seus parвmetros, assim nгo й necessбrio "atualizar a coord" do jogador.
Reply
#3

Quote:
Originally Posted by RodrigoMSR
Посмотреть сообщение
Код:
GetObjectPos(BARCO[0], oX, oY, oZ); 
GetPlayerPos(playerid, oX, oY, oZ);
Vocк setou as coordenadas da posiзгo do objeto nas variбveis oX, oY e oZ e logo depois setou a posiзгo do jogador nelas assim as variбveis irгo retornar a posiзгo do jogador (que foi getada por ъltimo) e nгo a do objeto. O correto seria eliminar essa ъltima linha e deixar somente:
Код:
GetObjectPos(BARCO[0], oX, oY, oZ);
A funзгo IsPlayerInRangeOfPoint jб automaticamente pega a posiзгo atual do jogador e checa se ele estб perto das coordenadas colocadas em seus parвmetros, assim nгo й necessбrio "atualizar a coord" do jogador.
Ou simplesmente crie uma outra variбvel float para pegar a pos. do player.
Reply
#4

Obrigado pessoal, nгo havia pensado direito, erro meu.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)