15.07.2010, 10:59
I use this like:
pawn Код:
public GetClosestVehicle(carid)
{
new x,Float:dis,Float:dis2,car;
car = 0;
dis = 99999.99;
for ( x = 0; x < MAX_VEHICLES; x++ )
{
if(x != carid)
{
dis2 = GetDistanceBetweenVehicles(x,carid);
if(dis2 < dis && dis2 < 8.0)
{
dis = dis2;
car = x;
}
}
}
return car;
}
public Float:GetDistanceBetweenVehicles(vehicleid,carid)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
GetVehiclePos(vehicleid,x1,y1,z1);
GetVehiclePos(carid,x2,y2,z2);
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}