Radarpistole

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • 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. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • 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