Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
24.05.2002, 22:12
R2-D2



Ich moechte gern, wie schon im andern Thread angekuendigt :D, einen Doppelsprung machen, wie das so oft bei nintendo und "comic"-spielen ist.
Das heißt im Klartext, einen Sprung machen koennen, wenn man in der Luft ist. Aber nur einen, das ist mein Problem.

pm_shared.c - In der Jump()-Funktion findet sich folgende Abfrage:
Quellcode:if ( pmove->onground == -1 )
    {
        // Flag that we jumped.
        // HACK HACK HACK
        // Remove this when the game .dll no longer does physics code!!!!
        pmove->oldbuttons |= IN_JUMP;    // don't jump again until released
        return;        // in air, so no effect
    }

Kommentier ich diese aus, klappt das wunderbar und ich kann in der Luft so oft springen wie ich will. So. Jetz denk ich mir, biste schlau und regelst das mit ner Art Zaehler. definier huebsch iJumps und erhoehe iJumps bei jedem Sprung um eins. Dazu modifizier ich die Luftabfrage noch insofern, dass abgefragt wird, ob sich der Spieler in der Luft befindet UND schon zweimal gesprungen ist, denn dann erst soller nicht mehr springen duerfen. Wenn er wieder auf dem Boden aufkommt, wird iJumps wieder auf 0 gesetzt. Nur wo genau ich das reinschreib is noch unklar - wenns ueberhaupt daran liegt - weils keine Fall()-Funktion oder aehnliches zu geben scheint.

Das ganze funktioniert nur nicht =)

--

®2-D2
Believe in Retrieve :)

Projects:
Monkey-Strike (Leader/Coder)
Water Wars (Head Coder)
Mixed Mod (Coder)

zum Seitenanfang zum Seitenende Profil || Suche
001
25.05.2002, 12:13
jockel2001



ersetz es mal durch das. du musst aber noch oben int jumped; deklarieren.
frag mich aber bitte nicht warum da eine 8 hin muss, fakt ist aber dass 8*anzahl der luftsprünge da hin muss.

if(pmove->onground == -1 && jumped==8)
{

// Flag that we jumped.
// HACK HACK HACK
// Remove this when the game .dll no longer does physics code!!!!
pmove->oldbuttons |= IN_JUMP; // don't jump again until released
return; // in air, so no effect
}else

if(pmove->onground == -1) jumped++; else

if(pmove->onground != -1) jumped=0;

hoffe das hilft dir!

bye jo

--

zum Seitenanfang zum Seitenende Profil || Suche
002
25.05.2002, 13:06
R2-D2



Das scheint auch nich so wirklich zu funktionieren. Ist ja auch im Grunde dasselbe =\

--

®2-D2
Believe in Retrieve :)

Projects:
Monkey-Strike (Leader/Coder)
Water Wars (Head Coder)
Mixed Mod (Coder)

zum Seitenanfang zum Seitenende Profil || Suche
003
25.05.2002, 13:25
jockel2001



hmm bei mir klappt das wunderbar

--

zum Seitenanfang zum Seitenende Profil || Suche
004
25.05.2002, 14:34
Mazze



Wo du das hinschreiben sollst?
Was?
Das die Variable wieder auf 0 gesetzt wird?
Jetzt ohne im Code zu schauen, aber so etwas müsste es ja geben:
Quellcode:
if ( pmove->onground == 1 ) // Player ist auf dem Boden
{
     ...

Da jetzt einfach deine Sprungvariable auf 0 setzen!

cu
Matze

--

BattleTech-MOD:
http://bthl.unitedgaming.net/

zum Seitenanfang zum Seitenende Profil || Suche
005
25.05.2002, 15:39
R2-D2



@mazze: ja, schon klar, aber wenn ich das in die jump-funktion setzt, dacht ich mir, kann das ja nich so wirklich klappen. es muesste dann eher in sowas wie ne fall-funktioner gesetzt werden.

@jockel: wo hast du denn jumped deklariert? einfach ausserhalb aller funktionen in die pm_shared.c ?

--

®2-D2
Believe in Retrieve :)

Projects:
Monkey-Strike (Leader/Coder)
Water Wars (Head Coder)
Mixed Mod (Coder)

zum Seitenanfang zum Seitenende Profil || Suche
006
25.05.2002, 18:22
Mazze



Und wenn du's in PM_Move oder so reinhaust?

--

BattleTech-MOD:
http://bthl.unitedgaming.net/

zum Seitenanfang zum Seitenende Profil || Suche
007
25.05.2002, 19:46
jockel2001



ja hab ich ganz oben

--

zum Seitenanfang zum Seitenende Profil || Suche
008
26.05.2002, 12:22
R2-D2



Ich hab's hingekriegt =)
Statt 8 hab ich einfach mal 16 genommen und siehe da, es funktionierte.
Danke ! :)

--

®2-D2
Believe in Retrieve :)

Projects:
Monkey-Strike (Leader/Coder)
Water Wars (Head Coder)
Mixed Mod (Coder)

zum Seitenanfang zum Seitenende Profil || Suche