Crash Abfrage

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
  • Es gibt kein public OnVehicleTakeDamage oder sowas. Um das herrauszufinden, musst du einen timer mit einem sehr kleinen Intervall machen.


    Du vergleichst dann immer die Health vom Auto mit der davor:


    new Float:vHealth[MAX_VEHICLES];
    new vTimer[MAX_PLAYERS];
    forward AutoCrashCheck(playerid);


    GetVehicleHealth(vehicleid, vHealth[vehicleid]);
    vTimer[playerid] = SetTimerEx("AutoCrashCheck",300,1,"d",playerid);


    public AutoCrashCheck(playerid)
    {
    if(!IsPlayerInAnyVehicle(playerid)) return KillTimer(vTimer[playerid]);
    if(GetPlayerState != PLAYER_STATE_DRIVER) return 0;
    new v = GetPlayerVehicleID(playerid);
    new Float:vH;
    GetVehicleHealth(v,vH);
    if(vHealth[v]-200 >= vH) //falls er einen mindestschaden von 200 bekommen hat, kannst das ja anpassen
    {
    //Hat Crash gebaut
    }
    return 1;
    }