Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
13.07.2001, 05:06
Retro



Ja, ich habe mir überlegt nen Fallschirm zu Coden, wie in FA oder WIE...
Ich hab mir auch was nettes überlegt, aber es will nicht klappen! Ich weis nicht ob der Denkansatz richtig ist, ich komm durch folgende Kompilierfehler aber auch nicht zum ausprobieren:
--------------------Konfiguration: hl - Win32 Profile--------------------
Kompilierung läuft...
player.cpp
C:\Half-Life SDK\Sdk\SourceCode\dlls\player.cpp(340) : error C2065: 'm_fParachute' : nichtdeklarierter Bezeichner
C:\Half-Life SDK\Sdk\SourceCode\dlls\player.cpp(343) : error C2065: 'm_fParaOpen' : nichtdeklarierter Bezeichner
C:\Half-Life SDK\Sdk\SourceCode\dlls\player.cpp(345) : error C2065: 'pev' : nichtdeklarierter Bezeichner
C:\Half-Life SDK\Sdk\SourceCode\dlls\player.cpp(2265) : error C2065: 'pcmd' : nichtdeklarierter Bezeichner
Fehler beim Ausführen von cl.exe.

hl.dll - 4 Fehler, 0 Warnung(en)

Nicht der gesammte Code ist nicht auf meinen eigenen Mist gewachen, aber ich Poste mal die Problemstellen:
player.cppQuellcode:
//Fallschirm
void ParaGlide( void )
{
if(![color="green"]m_fParachute[/color])
return;

if([color="orange"]m_fParaOpen[/color])
{
GetClassPtr((CBasePlayer *)[color="red"]pev[/color])->m_flFallVelocity = 50;
GetClassPtr((CBasePlayer *)pev)->pev->velocity = GetClassPtr((CBasePlayer *)pev)->pev->velocity - 100;
}
}

--

//Fallschirm
else if ( FStrEq([color="brown"]pcmd[/color], "parachute" ) )
{
if ( GetClassPtr((CBasePlayer *)pev)->m_fParaOpen )
{
GetClassPtr((CBasePlayer *)pev)->m_fParaOpen = FALSE;
}
else
{
GetClassPtr((CBasePlayer *)pev)->m_fParaOpen = TRUE;
}
}

player.hQuellcode:
class CBasePlayer : public CBaseMonster
{
public:
//Fallschirm
BOOL [color="green"]m_fParachute[/color];
BOOL [color="orange"]m_fParaOpen[/color];
void ParaGlide( void );

...

Ich versteh nicht was er an den Vars zu meckern hat, die sind in der player.h doch deklariert... und was er an dem einem "pev" und an "pcmd" auszustezen hat, weis ich noch weniger! :(

Wer das im Tut mal nachgucken will: http://www.planethalflife.com/hlprogramming/tutorial.asp?i=42

Ich weis mal wieder keinen rat...

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */


Dieser Beitrag wurde am 13.07.2001 um 05:21 von Retro bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
13.07.2001, 05:15
Gott



ich als wie coder sage dir was du nch dem tut da machen willst is net so doll
ich schreibs dir ma ganz einfach auf :

mach nen client comand in teamplay gamerules.cpp

frag ab ob er den flasschirm hat

if(hatfallschirm)
{
pPlayer->Fallschirmauf();
}
else
{
pPlayer->Fallschirmzu();

die beiden aufgerufenen funktionen gehören ind die player.cpp

mach da dan einfach bei auf
pev->gravity=0.003;

und bei zu

pev->gravity = 1 ;

damit dürfteste dan ham was du wolltest
}

--

millirem und bequerel , kleine kinder sterben schnell

Arsch für alles bei War in Europe
www.warineuropemod.com

zum Seitenanfang zum Seitenende Profil || Suche
002
13.07.2001, 05:25
Retro



Thx Gott, aber das bringt es nicht so sehr, einfach die Gravity zu verändern ist nicht so die "feine art".
Außerdem soll das für SP und MP sein.

Das was du beschrieben hast, steht da ja auch drinne, nur nen bischen anders!
Kann sein das du es nicht gesehn hast, ich hab den Thread zig mal editiert, und du hast geantwortet bevor ich eigentlich fertig war! :)

Naja... die Gravity lassen wir mal in Ruhe, ist auch nicht grade nen Fallschirm-Effekt, aber trotzdem Thx!

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
003
13.07.2001, 08:13
toaster



Hi,

du meinst an dieser Stelle

//Fallschirm
void ParaGlide( void )
{

wohl eher

//Fallschirm
void CBasePlayer::ParaGlide( void )
{

Viele Grüße

Toaster :-)

--

http://www.nhofmann.de/
mailto:niklashofmann@web.de

zum Seitenanfang zum Seitenende Profil || Suche
004
13.07.2001, 12:28
Creeper



bei HLPP gibt es ein FallschirmTut von BigGuy!!

--

Head Coder:Sudden-Impact

Listen to CKY you fuCKYrs http://www.ckymusic.com

zum Seitenanfang zum Seitenende Profil || Suche
005
13.07.2001, 14:45
Archangel



jo, toaster hat schon recht, da fehlt das CBasePlayer:: vor...
aber mal ne frage:
GetClassPtr((CBasePlayer *)pev)->pev->velocity = GetClassPtr((CBasePlayer *)pev)->pev->velocity - 100;

solche langen zeilen lesen sich schwer, du solltest
GetClassPtr((CBasePlayer *)pev)->pev->velocity -= 100;
verwenden...
player.cpp
[...]
//Fallschirm
else if ( FStrEq(pcmd, "parachute" ) )

gehört das nich in die ClientCommand in client.cpp?

--

Mar 01 01:10:13 <voice> jo
Mar 01 01:10:40 <voice> bis dann ^^
Mar 01 01:11:20 <Archangel> jo
**** ENDING LOGGING AT Tue Mar 1 01:58:13 2005

zum Seitenanfang zum Seitenende Profil || Suche
006
13.07.2001, 15:12
Retro



Ich sollte es wirklich lassen so spät noch was zu Coden... lol
Thx toaster, irgendwie auch logisch, wenn alle anderen routinen auch so aussehen! hehe

Soweit funktioniert jetzt alles, beim kompilieren, aber ingame tut sich garnichts wenn ich den Fallschrim habe, und ihn öffnen will, passiert rein garnichts und ich knalle ungebremst auf den boden! :(

@Creeper: nach dem tut habe ich es ja gemacht! :(

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
007
13.07.2001, 15:18
Retro



@Arch:
Hab ich grad versucht, führt zu nem Fehler oder ner Warnung.

Und sowas wie:
//Fallschirm
else if ( FStrEq(pcmd, "parachute" ) )
[...]

steht in der client.cpp auch schon drinne, ist dort wohl recht am Platz..
Aber es funktiniert halt nicht! :(

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
008
13.07.2001, 15:22
Archangel



hast du das mit dem pcmd jetzt in die clientcommand geschrieben? versuch doch mal mit CLIENT_PRINTF ne message auszugeben, wenn die ausgegeben wird, du aber trotzdem auf den boden knallst.. dann würd ich vielleicht dochmal veruschen die grav zu ändern...

--

Mar 01 01:10:13 <voice> jo
Mar 01 01:10:40 <voice> bis dann ^^
Mar 01 01:11:20 <Archangel> jo
**** ENDING LOGGING AT Tue Mar 1 01:58:13 2005

zum Seitenanfang zum Seitenende Profil || Suche
009
13.07.2001, 22:42
Creeper



@retro: oh, sorry

--

Head Coder:Sudden-Impact

Listen to CKY you fuCKYrs http://www.ckymusic.com

zum Seitenanfang zum Seitenende Profil || Suche
010
13.07.2001, 23:27
Retro



Macht nischt, egal...

Also der abruf geht, ich hab mal CLIENT_PRINTF reingesetzt... und dann halt nen Text anzeigen lassen wenn das Kommando "parachute" rein kommt, und er gibt den Text dann auch aus.

Aber leider passiert nicht in richts in richtung Fallschirm! :(

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */

zum Seitenanfang zum Seitenende Profil || Suche
011
13.07.2001, 23:34
Creeper



haste das gemacht:
"And in the CBasePlayer::PreThink function (still in "player.cpp") call the ParaGlide function (right there where the functions ItemPreFrame and WaterMove are called)."

--

Head Coder:Sudden-Impact

Listen to CKY you fuCKYrs http://www.ckymusic.com

zum Seitenanfang zum Seitenende Profil || Suche
012
13.07.2001, 23:57
Retro



Bah, nein hab ich nicht! :(
Manchmal komm ich mir so richtig blöd vor, weiste... lol

Na gut, hab ich jetzt gemacht und es funktioniert auch! Aber wozu ist der aufruf von ParaGlide() dort gut?

Ich hoffe ich nerve damit nicht, aber wenn ich es nicht verstehe, kann ich auch nie was vollkommen eigenes machen.

P.S.: Thx natürlich, an alle! :)

--

shielding people from their own stupidity is an evolutionary step backwards anyway.

/* God is dead!............Nietzsche */
/* Nietzsche is dead!......God */
/* Nietzsche is God!.......The Dead */


Dieser Beitrag wurde am 13.07.2001 um 23:57 von Retro bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche