SA-MP Forums Archive
[Ajuda] Como pegar a posiзгo e a distвncia da Mira. - 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] Como pegar a posiзгo e a distвncia da Mira. (/showthread.php?tid=651868)



Como pegar a posiзгo e a distвncia da Mira. - [BOPE]Seu._.Madruga - 29.03.2018

Boa tarde a todos, estou criando um FS porйm estou com uma dъvida.

Eu mirando com uma sniper em um objeto qualquer й possнvel eu pega a coordenada x, y , z e a distвncia que este objeto estб de mim ?

Meu cйrebro estб meio lento hoje e nгo estou conseguindo pensar em nada, agradeзo a todos que tentarem esclarecer.


Re: Como pegar a posiзгo e a distвncia da Mira. - FerrariL - 29.03.2018

Acho que pode ajudar vocк :
PHP код:
new Float:X
    
Float:Y
    
Float:Z
    
Float:Distance;
    
GetObjectPos(objectid,X,Y,Z);
Distance GetPlayerDistanceFromPoint(playerid,X,Y,Z); 
O parвmetro objectid,serб o id do objeto que vocк deseja obter a distвncia.


Re: Como pegar a posiзгo e a distвncia da Mira. - Dayvison_ - 29.03.2018

Sim, utilizando ColAndreas. Quando for ao PC te dou um exemplo.


Re: Como pegar a posiзгo e a distвncia da Mira. - [BOPE]Seu._.Madruga - 29.03.2018

Consegui fazer, porйm quem estiver com a mesma dъvida futura aqui abaixo estб o cуdigo e obrigado a todos que tentaram ajudar

PHP код:
new Bala[MAX_PLAYERS];
public 
OnPlayerUpdate(playerid)
{
    if(
GetPlayerAnimationIndex(playerid) && GetPlayerWeapon(playerid) == 34) {
        new 
animlib[32], animname[32];
        
GetAnimationName(GetPlayerAnimationIndex(playerid), animlib32animname32);
        if(!
strcmp(animname"GUN_STAND"true)) PlayerMirando[playerid] = true;
         else 
PlayerMirando[playerid] = false;
    }
    return 
1;
}
public 
OnPlayerWeaponShot(playeridweaponidhittypehitidFloat:fXFloat:fYFloat:fZ)
{
    new 
Float:XFloat:YFloat:ZFloat:Distancia;
    
GetPlayerPos(playeridXYZ);
    if(
PlayerMirando[playerid] == true) {
        
Bala[playerid] = CreateObject(19574X-0.1YZ+0.2000);
        
Distancia GetPlayerDistanceFromPoint(playeridfXfYfZ);
        
MoveObject(Bala[playerid], fXfYfZ-(Distancia/51), 85.0000);
        
SetTimerEx("Explodir"floatround(Distancia*15floatround_round), false"fffd"fXfYfZ-(Distancia/51), playerid);
    }
    return 
1;
}
forward Explodir(Float:fireXFloat:fireYFloat:fireZplayerid);
public 
Explodir(Float:fireXFloat:fireYFloat:fireZplayerid) {
    
CreateExplosion(fireXfireYfireZ1210.0);
    
DestroyObject(Bala[playerid]);