Hallo Brotfische,
Ich bin gerade dabei ein "aufbrech" System für Fahrzeuge zu coden. Leider bekomme ich aber die Meldung das keine Fahrzeug in der Nähe sind, obwohl ich direkt vor einem Fahrzeug stehe.
Code:
C
ocmd:breakcar(playerid)
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
for(new veh; veh<MAX_VEHICLES; veh++)
{
if(!IsVehicleInRangeOfPoint(veh, 10.0, x, y, z))return SendClientMessage(playerid,C_Error,"Es ist kein Fahrzeug in der Nähe!");
new rand = random(30);
if(rand==18)
{
new engine,lights,alarm,bonnet,boot,objective;
GetVehicleParamsEx(veh,engine,lights,alarm,vehdoor,bonnet,boot,objective);
alarm = 1;
vehdoor = 0;
objective = 1;
SetVehicleParamsEx(veh,engine,lights,alarm,vehdoor,bonnet,boot,objective);
SendClientMessage(playerid,COLOR_GREEN,"Du hast das Fahrzeug aufgebrochen!");
}
return SendClientMessageEx(playerid,COLOR_BLUE,"Fahrzeug wurde nicht aufgebrochen (random = %i)",rand);
}
return 1;
}
Alles anzeigen
stock:
C
stock IsVehicleInRangeOfPoint(vehicleid, Float:radi, Float:x, Float:y, Float:z)
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetVehiclePos(vehicleid, oldposx, oldposy, oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
return 1;
}
return 0;
}
Alles anzeigen
Ich hoffe ihr könnt mir helfen
MfG