...verstehe zwar nicht wieso du meinem PNs und alles andere von mir ignorierst...aber okay.
Um z.B. die Koordinaten 30m vor deinem Auto zu bekommen, dafür sieht der Code so aus:
new Float:x,Float:y,Float:z,Float:a;
GetVehiclePos(veh,x,y,z),GetVehicleZAngle(veh,a);
const Float:distance = 30.0; //30m vor dem Auto
x += distance * floatsin(-a, degrees);
y += distance * floatcos(-a, degrees);
//Jetzt hast du die x,y,z Positionen für 30m vor dem Auto
Desweiteren eine Fahrzeug Hitbox, kannst du so machen, ich bin mal so freundlich und gebe dir direkt eine Funktion:
//Hier das Makro dafür:
#define IsObjectInArea(%0,%1,%2,%3,%4,%5) ((((%0) >= (%2)) && ((%0) <= (%4))) && (((%1) >= (%3)) && ((%1) <= (%5))))
stock getVehicle(obj) //(c) by Kaliber
{
new Float:x,Float:y,Float:z,Float:dis=9999.0,i=GetVehiclePoolSize()+2,Float:tmp,id,Float:p[6];
GetObjectPos(obj,x,y,z);
for(; --i!=-1;)
{
tmp = GetVehicleDistanceFromPoint(i,x,y,z);
if(!tmp) continue;
if(tmp < dis) dis=tmp,id=i;
}
GetVehiclePos(id,p[0],p[1],p[2]);
GetVehicleModelInfo(GetVehicleModel(id), VEHICLE_MODEL_INFO_SIZE, p[3],p[4],p[5]);
if(z > p[2]+(p[5]/2)) return -1;
return (IsObjectInArea(x,y,p[0]-(p[3]/2),p[1]-(p[4]/2),p[0]+(p[3]/2),p[1]+(p[4]/2))) ? id : -1;
}
//Die Funktion kannst du so z.B. Nutzen:
new x = getVehicle(obj);
if(x == -1) return print("Befindet sich in keinem Fahrzeug!");
printf("Befindet sich in Fahrzeug: %d",x);
//x hat dann hier den Wert von der vehicleid des Autos!
Alles anzeigen
mfg. 