000
09.09.2001, 13:18
Metew
|
Hi, ich mache gerade ein Flugzeug, hier ist der code in der player.cpp
ich habe damit 2 probs. 1) der flieger beschleunigt nicht (wird durch accel geregelt) 2) die Fallgeschwindigkeit ändert sich nicht.
//================================ //Starship //================================ void CBasePlayer :: StarshipFly( void ) {
float accel= 100; // die beschleuniggung des schiffes
// hab ich weiter unten dann gemacht, was hier steht /*if (accel > 300) { accel = 300; } if (accel < 0) { accel = 0; } */ if(!m_fStarship) // Wenn ich das Flugzeug nicht habe return;// zurück
Vector vecSrc = pev->origin; //die Bewegung nach vorne an sich Vector vecAiming = gpGlobals->v_forward; Vector vecTarget = gpGlobals->v_forward; Vector vecDir;
TraceResult tr;// Wo fliegen wir hin... UTIL_TraceLine ( vecSrc, vecSrc + vecAiming * 8192, dont_ignore_monsters, ENT(pev), &tr ); float flSpeedIdle = pev->velocity.Length();// wenn man nichts drückt, bewegt sich das Flugzeug langsam nach vorne
if(m_fStarshipKeyDown) // der bescleunigung knopf { accel += 1;
if (accel > 300) { accel = 300; } SetAnimation( PLAYER_IDLE ); vecDir = tr.vecEndPos - pev->origin; vecTarget = vecDir; pev->velocity = (pev->velocity * 0.2 + vecTarget * (flSpeedIdle * 0.2 + 400)).Normalize() * accel;// hier sollte accel eigentlich immer schneller werden, bis es 300 erreicht hat pev->velocity.z += 25; } else //wenn man nichts tut { SetAnimation( PLAYER_IDLE );
vecDir = tr.vecEndPos - pev->origin; vecTarget = vecDir; pev->velocity = (pev->velocity * 0.2 + vecTarget * (flSpeedIdle * 0.2 + 400)).Normalize() * accel;// je größer die zahl (hier 100), desto schneller, beschleunigt aber nicht pev->velocity.z += 25;
accel -= 1; // abremsen if (accel < 0) { accel = 0; } } //====================================================================================== //Noch was, die Fallgeschwindigkeit soll kleiner werden //====================================================================================== if (m_fStarship)// sobald man das flugzeug hat { GetClassPtr((CBasePlayer *)pev)->m_flFallVelocity = 2; // Das funzt irgendwie ned, die fallgeschwindigkeit ändert sich nicht m_flFallVelocity = 2; // das auch nicht } }
--
SWCOOPFORCE-TEAM
NEUE HOMEPAGE/SCREENS: SWCOOPFORCE-MOD | Helft mit für Legalisierung!
Dieser Beitrag wurde am 09.09.2001 um 13:18 von Meju bearbeitet.
|
|
Profil || Suche
|
001
09.09.2001, 20:21
[UHK]Hostage
|
hast du dir mal den code vom osprey angeguckt? So ähnlich würde ich das anfangen und dann immer weiter modifizieren. ( hab mir den osprey jetzt nich angeguckt, wenn du schon längst auf die Idee gekommen bist dann sorry.. )
--
============================
Ich hasse diese nervigen Signaturen!
|
|
Profil || Suche
|
002
09.09.2001, 23:25
Metew
|
habe ich schon angeschaut, beim apache. Da steht das auch so mit der beschleunigung. Kann irgendjemand einen Fehler sehen?
--
SWCOOPFORCE-TEAM
NEUE HOMEPAGE/SCREENS: SWCOOPFORCE-MOD | Helft mit für Legalisierung!
|
|
Profil || Suche
|
003
10.09.2001, 10:40
apfelkorn
|
Och warum mag niemand meine Code-Schnipsel. Da habe ich das ja soviel einfacher geregelt. Im Grunde ist da auch nicht soviel unterschied zwischen CFuncVehicle und CBasePlayer... nur ein bissl muss man was ändern...
--
|
|
Profil || Suche
|
004
10.09.2001, 10:43
Metew
|
@ Und das wäre? Ich habe es genauso gemacht, wie beim apache mit der beschleunigung
--
SWCOOPFORCE-TEAM
NEUE HOMEPAGE/SCREENS: SWCOOPFORCE-MOD | Helft mit für Legalisierung!
|
|
Profil || Suche
|
005
10.09.2001, 16:36
Metew
|
habs selber raus gefunden, dank des geld im Hud tutorials. Wenn jemand genauers erfahren will, soll er sich im icq melden. Trotzdem danke
--
SWCOOPFORCE-TEAM
NEUE HOMEPAGE/SCREENS: SWCOOPFORCE-MOD | Helft mit für Legalisierung!
|
|
Profil || Suche
|