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 ]
Fallgeschwindigkeit brechnen?
- Templer
- Geschlossen
- Erledigt
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
-
-
Hi,
in der Physik hatten wir sowas mal:
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 ] -
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);
} -
breadfish.de
Hat das Thema geschlossen.