Fallgeschwindigkeit brechnen?

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
  • Hallo Liebe Breadfish Community,
    Meine Frage wäre, wie mann die Fallgeschwindigkeit in GTA SanAndreas nachberechnen könnte mit GetPlayerVelocity? Vielleicht hat einer bereits einer eine Formel? ^^
    Mfg Templer[MSIE_newline_end ]

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Hi,


    in der Physik hatten wir sowas mal:


    Code
    ▲s = (v2² - v1²) / 2a


    v2 ist die Endgeschwindigkeit, v1 die Anfangsgeschwindigkeit, also 0.


    Aber ich hab grad kA wie man das in SA:MP ausrechnen sollte...


    Ich glaub eher, mit einer ganz normalen Geschwindigkeitsberechnung wie es auch bei Tachos verwendet wird...
    Ja ! Genau..


    Vergesst den oberen Teil hier


    so:
    if(IsPlayerConnected(i))
    {
    new Float:ux,Float:uy,Float:uz;
    GetPlayereVelocity(playerid, ux, uy, uz);
    rtn = floatmul(floatsqroot(floatadd(floatadd(floatpower(ux, 2), floatpower(uy, 2)), floatpower(uz, 2))), 100.0);
    PlayerSpeed[i] = floatround(rtn, floatround_floor);
    }


    Das berechnet die Geschwindigkeit, aber wenns mir recht ist, in Meilen.. da fehlt was mit x 1.6 ..


    //Edit: hab das da gefunden
    stock GetPlayerSpeed(playerid, bool:kmh) // by misco
    {
    new Float:Vx,Float:Vy,Float:Vz,Float:rtn;
    if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),Vx,Vy,Vz); else GetPlayerVelocity(playerid,Vx,Vy,Vz);
    rtn = floatsqroot(floatabs(floatpower(Vx + Vy + Vz,2)));
    return kmh?floatround(rtn * 100 * 1.61):floatround(rtn * 100);
    }

  • Joa Danke ^^, jetzt müsste ich nurnoch mit der GTA Physik herumspielen wieviel Leben bei welcher Geschwindigkeit abgezogen wird ^ ^
    Edit: Also mich interressiert eigentlich nur die definition "rtn", da ich mit Meilen wenig erreichen kann[MSIE_newline_end ]

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • NeoPhoenix: Das ist eine Funktion, mit welcher man die momentane Geschwindigkeit in km/h oder mph ausgeben kann.


    "rtn" ist eine Zwischen-Variable. Man könnte auch ohne diese rechnen.

  • rtn = floatsqroot(floatabs(floatpower(Vx + Vy + Vz,2)));


    Das ist falsch! So ist die korrekte Geschw.rechnung:
    stock ErmittleGeschwindigkeit(playerid,bool:kmh) {
    new Float:x,Float:y,Float:z,Float:rtn;
    if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),x,y,z); else GetPlayerVelocity(playerid,x,y,z);
    rtn = floatsqroot(x*x+y*y+z*z);
    return kmh?floatround(rtn * 100 * 1.61):floatround(rtn * 100);
    }