SA-MP Forums Archive
[Pedido] Como eu pego o ID do veiculo que estб perto? - 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: [Pedido] Como eu pego o ID do veiculo que estб perto? (/showthread.php?tid=665589)



Como eu pego o ID do veiculo que estб perto? - GasparzinhoXD - 10.04.2019

Como eu faзo para pegar o ID do veiculo que estб perto com um comando?


Re: Como eu pego o ID do veiculo que estб perto? - Felipealves - 10.04.2019

PHP Code:
Prox_Vehicle(playerid){
    new 
Float:v_pos[3];
    for(new 
v = 0; v < GetVehiclePoolSize(); v++){
        
GetVehiclePos(v, v_pos[0], v_pos[1], v_pos[2]);
        if(
IsPlayerInRangeOfPoint(playerid, 10.5, v_pos[0], v_pos[1], v_pos[2]))
            return 
i;
    }
    return -
1;
} 



Re: Como eu pego o ID do veiculo que estб perto? - 1sbedx - 10.04.2019

PHP Code:
GetNearestVehicleFromPlayer(playerid, Float:distance = 30.0) {
    new
        
Float:min_dist,
        
vehicleid = INVALID_VEHICLE_ID,
        
Float:x,
        
Float:y,
        
Float:z;
    
GetPlayerPos(playerid, x, y, z);
    for (new 
i = (GetVehiclePoolSize() + 1); --i != 0;) {
        if ((
min_dist = GetVehicleDistanceFromPoint(i, x, y, z)) <= distance) {
            
vehicleid = i;
            
distance = min_dist;
        }
    }
    return 
vehicleid;
} 



Re: Como eu pego o ID do veiculo que estб perto? - GasparzinhoXD - 10.04.2019

Como que eu faзo para usar? Tipo...

PHP Code:
format(string, sizeof string, "O ID do veiculo й %d", );
SendClientMessage(playerid, -1, string); 



Re: Como eu pego o ID do veiculo que estб perto? - 1sbedx - 10.04.2019

Quote:
Originally Posted by GasparzinhoXD
View Post
Como que eu faзo para usar? Tipo...

PHP Code:
format(string, sizeof string, "O ID do veiculo й %d", );
SendClientMessage(playerid, -1, string); 
PHP Code:
new
    
str[23];
format(str, sizeof(str), "O ID do veiculo й %d", GetNearestVehicleFromPlayer(playerid));
SendClientMessage(playerid, -1, str); 



Re: Como eu pego o ID do veiculo que estб perto? - GasparzinhoXD - 10.04.2019

Quote:
Originally Posted by 1sbedx
View Post
PHP Code:
GetNearestVehicleFromPlayer(playerid, Float:distance = 30.0) {
    new
        
Float:min_dist,
        
vehicleid = INVALID_VEHICLE_ID,
        
Float:x,
        
Float:y,
        
Float:z;
    
GetPlayerPos(playerid, x, y, z);
    for (new 
i = (GetVehiclePoolSize() + 1); --i != 0;) {
        if ((
min_dist = GetVehicleDistanceFromPoint(i, x, y, z)) <= distance) {
            
vehicleid = i;
            
distance = min_dist;
        }
    }
    return 
vehicleid;
} 
Como eu faзo para mandar uma mensagem "Vocк nгo estб perto de um veiculo" ?


Re: Como eu pego o ID do veiculo que estб perto? - SmokeKiLL - 11.04.2019

if(GetNearestVehicleFromPlayer(playerid) == INVALID_VEHICLE_ID) return SendClientMessage(playerid, -1, "Vocк nгo estб perto de um veiculo");

NГO TENHO CERTEZA SE Й ASSIM... MAS TENTA AE.


Re: Como eu pego o ID do veiculo que estб perto? - 1s - 11.04.2019

tem comando do prуprio samp .
/dl


Re: Como eu pego o ID do veiculo que estб perto? - GuiKommander - 11.04.2019

Existe diversas formas de fazer.
Testei aqui deu certinho, estб aqui.

PHP Code:
GetNearestVehicleFromPlayer(playerid, Float:distance = 30.0)
{
    new
        
Float: hPos[3];
    for(new 
v = 1; v != MAX_VEHICLES; ++ v)
    {
        
GetVehiclePos(v, hPos[0], hPos[1], hPos[2]);
        if(
IsPlayerInRangeOfPoint(playerid, distance, hPos[0], hPos[1], hPos[2]))
        {
            return 
v;
        }
    }
    return 
INVALID_VEHICLE_ID;
}
CMD:veiculoproximo(playerid)
{
    new 
string[50];
    
    new 
carro;
    
    
carro = GetNearestVehicleFromPlayer(playerid);
    
    if(
carro != INVALID_VEHICLE_ID)
    {
        
format(string, sizeof(string), "O Veнculo Mais prуximo й o Veнculo ID: %d.", carro);
        
SCM(playerid, -1, string);
    }
    else
    {
        
SCM(playerid, COLOR_ERRO, "Nгo existe nenhum veнculo perto de vocк.");
    }
    return 
1;
}