stock GetClosestVehicle(playerid,&Float:distance=0.0){
new p,v,Float:Pos[5]={10000.0,...},cveh=-1,bool:no;
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
for(; v < MAX_VEHICLES; ++v){
if(!IsValidVehicle(v))continue;
for(p=0; p < MAX_PLAYERS; ++p){
if(!IsPlayerInVehicle(p, v))continue;
no=true;
break;
}
if(!no){
Pos[3] = GetVehicleDistanceFromPoint(v, Pos[0],Pos[1],Pos[2]);
if(Pos[4] > Pos[3]){
Pos[4] = Pos[3];
cveh = v;
no=false;
}
}
}
distance = Pos[4];
return cveh;
}
stock GetClosestVehicle(playerid,&Float:distance=0.0){
new v,Float:Pos[5]={10000.0,...},cveh=-1;
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
for(; v < MAX_VEHICLES; ++v){
if(!IsValidVehicle(v))continue;
Pos[3] = GetVehicleDistanceFromPoint(v, Pos[0],Pos[1],Pos[2]);
if(Pos[4] > Pos[3]){
Pos[4] = Pos[3];
cveh = v;
no=false;
}
}
distance = Pos[4];
return cveh;
}
Da jemand solch eine funktion gepostet hatte habe ich diese mal neu geschrieben und erweitert
damit ist es möglich die id des nächsten zu einem spieler sich befindeten autos zu bekommen als auch die distance in zwei versionen einmal jedes auto und einmal nur leere
Autos.
Was wichtig ist das ihr dies oben benutzt
native IsValidVehicle(vehicleid);
da sich dieses native sich nicht in der a_samp include befindet aus einem mir nicht ersichtlichen grund warum überhaupt.