Hey,
Ich hab mal wieder eine Frage.
Ist es möglich, wenn man mit zum Beispiel mit einer Deagle schießt, dass man keinen Schuss abgibt sondern die geschwindigkeit des vorbeifahrenden Fahrzeug gemessen wird?
MfG
Hey,
Ich hab mal wieder eine Frage.
Ist es möglich, wenn man mit zum Beispiel mit einer Deagle schießt, dass man keinen Schuss abgibt sondern die geschwindigkeit des vorbeifahrenden Fahrzeug gemessen wird?
MfG
Ist es möglich, wenn man mit zum Beispiel mit einer Deagle schießt, dass man keinen Schuss abgibt sondern die geschwindigkeit des vorbeifahrenden Fahrzeug gemessen wird?
Ja das ist möglich.
Mit dem Callback bekommst du direkt die vehicleid (das ist die hitid), dort kannst du dann die Geschwindigkeit bestimmen (wie beim Tacho): https://wiki.sa-mp.com/wiki/OnPlayerWeaponShot
Und dann einfach noch schauen, dass du das Fahrzeugleben wieder hoch setzt bzw es reparierst
mfg.
hab das jetzt so gemacht:
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
if(hittype == BULLET_HIT_TYPE_VEHICLE) // Hier wird abgefragt ob das abgeschossene Objekt ein Fahrzeug ist.
{
if(GetPlayerWeapon(playerid) == RP_WEAPON) // Hier wird abgefragt ob es die Radarpistole ist
{
GetVehiclePos(hitid, fX, fY, fZ);// Findet die Fahrzeug Position heraus
if(IsPlayerInRangeOfPoint(playerid, PLAYER_RANGE, fX, fY, fZ))//fragt ab ob sich das Fahrzeug an in der Reichweite von 200m befindet.
{
new Float:speed_x,Float:speed_y,Float:speed_z,Float:final_speed,final_speed_int;
new veh = GetPlayerVehicleID(hitid);
GetVehicleVelocity(veh, speed_x, speed_y, speed_z);
final_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*120.0; // 136.666667 = kmph // 85.4166672= mph
final_speed_int = floatround(final_speed,floatround_round);
new kmh_anzahl = final_speed_int;
new string[256];
format(string,sizeof(string),"%d KM/H",kmh_anzahl);
if(kmh_anzahl <= 80)
{
SendClientMessage(playerid, COLOR_GREEN, string);
return 1;
}
else
{
SendClientMessage(playerid,COLOR_RED,string);
return 1;
}
}
else SendClientMessage(playerid, -1, "Messung fehlgeschlagen!"); // Wenn das Fahrzeug nicht in der Reichweite ist.
}
}
return 1;
}
Aber bekomme immer den Error:
error 017: undefined symbol "BULLET_HIT_TYPE_VEHICLE
Aktualisiere deine Includes, oder ersetze es mit 2.
https://wiki.sa-mp.com/wiki/BulletHitTypes
Hast du alle aktuellen Includes?
Alternativ probiere das:
if(hittype == 2)
/e
Jeffry war schneller :p