AufprallKraft ausrechnen

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
  • Da die Autos ja standartweise 1000 Hp besitzen, und die Personen 100, würde ich halt berechnen, was das Auto
    für einen Schaden bekommt, und das dan halt für die Person umrechnen, halt nur geteilt durch 10.


    Heißt, dein Auto hat 1000 Punkte, verliert 200 hat nur noch 800. Beim Spieler siehts dan fast ähnlich aus :
    der Spieler hat 100 Punkte, und verliert 20, und hat nur noch 80 Lebenspunkte.

  • ich schildere nochmal was passiert:


    MANCHMAL:


    bei so 1 - 100 KM/H


    ich fahr gegen die wand, dunklevel setz ein, nach so 5 sekunden is weg. MANCHMAL


    bei so 100 - unentlich


    eigentlich garnicht


    edit: nochwas neues, wenn ich fahre, und airbreak benutze, dann stopp ich sofort, und dann gehts immer. liegt also am stopp



    mfg multivan

    526C4Hj.png Mit freundlichen Grüßen,
    Noneatme

    Einmal editiert, zuletzt von Noneatme ()

  • Wieso willst du die Geschwindikeit bzw die wucht des Aufpralls mitberechnen?


    Eigentlich würde es ausreichen wenn du nur sinkende car-hp überprüfst. GTA selber berechnet ja die wucht, da je nach stärke des Unfalls die HP des Fahrzeues mehr oder minder sinkt.


    Er hat vollkommen Recht.Das funktioniert 100% bis auf einen Ausnahmefall,dass ist aber ein GTA Fehler.


    public OnVehicleHealthChange(vehicleid,playerid, Float:oldhealth, Float:newhealth)
    {
    new
    Float:tempf = (oldhealth - newhealth);
    if(tempf > 50.0) {
    new
    Float:pHealth;
    GetPlayerHealth(playerid,pHealth);
    SetPlayerHealth(playerid,(pHealth - (tempf / 10)));
    SetPlayerDrunkLevel(playerid,( 2000 + ((floatround((tempf / 40))) * 26) ));
    }
    }

    So hatte ( OnVehicleHealthChange ) Ich es mal Zeitweise in einem Script.Ging mir aber relativ schnell auf die Nerven.
    Das Callback hab Ich damals nach dem Prinzip aus diesem Script ( YUP - Y_Less's Update Peripherals - 0.3 ) nachgestellt.


    Ich nehme aber stark an du willst eine einfachere Lösung haben :whistling:

  • genau, nur leider wurde ich vom samp forum gebannt, und kann nicht auf dem link klicken


    edito:
    E:\SA MP Server!\village reallife\V RL\gamemodes\GFF.pwn(26468) : warning 219: local variable "pHealth" shadows a variable at a preceding level
    E:\SA MP Server!\village reallife\V RL\gamemodes\GFF.pwn(26469) : error 035: argument type mismatch (argument 2)
    E:\SA MP Server!\village reallife\V RL\gamemodes\GFF.pwn(26470) : warning 213: tag mismatch
    E:\SA MP Server!\village reallife\V RL\gamemodes\GFF.pwn(26470) : warning 213: tag mismatch
    E:\SA MP Server!\village reallife\V RL\gamemodes\GFF.pwn(26468) : warning 203: symbol is never used: "pHealth"


    GetPlayerHealth(playerid,pHealth);

    526C4Hj.png Mit freundlichen Grüßen,
    Noneatme

    Einmal editiert, zuletzt von Noneatme ()

  • //unter setplayerdrunklevel:
    SetTimerEx("deine_mudda",ZEITWIELANGEDASDAUERNSOLL_IN_MS,0,"d",playerid);
    //irgendwo
    forward deine_mudda(player);
    public deine_mudda(player)SetPlayerDrunkLevel(player,0);