Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
21.03.2002, 16:26
Exec



moin

also ich wollt mal wissn, wie man in der player.cpp abfragt, wann der player abkratzt ... ich hab jetzt schon vieles probiert ...

und zwar hab ich vor, das wenn der player abkratzt, ne funktion inner if schelife aufgerufen wird .... hab ka, wie man das in der player.cpp abfragt ... mit pev->health <= 0 gehts ja nich, weil man dann erst, wenn man tot is und die funktion das nächste mal aufgerufen wird etwas geschieht .... also ich hab sowas wie nen "timer", der punkte addet ... und wenn man stirbt, dann sollen halt welche abgezogen werden ...

--

"selbermachen rockt am meisten :D" - -LeJean-

zum Seitenanfang zum Seitenende Profil || Suche
001
21.03.2002, 16:27
Retro



Quellcode:virtual BOOL IsAlive( void ) { return (pev->deadflag == DEAD_NO) && pev->health > 0; }

Die Funktion ist schon in der CBasePlayer-Klasse enthalten!

--

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
002
21.03.2002, 16:30
Exec



k, sorry, überlesen, werd ich gleich mal probieren

***edit***

hmm, das isses aba nich :(

ich wollte etwas machen, das genau dann, wenn der player stirbt, aufgerufen wird!

void CBasePlayer::Award( void )
{
if ( g_pGameRules->IsMultiplayer() && CVAR_GET_FLOAT("mod_awardtime") >=1 )
{
if ( gpGlobals->time >= m_flNextAward )
{
if ( pev->health >= 1 )
{
pev->frags += CVAR_GET_FLOAT("mod_awardpoints");;
ClientPrint(pev,HUD_PRINTTALK,"You have been awarded points!\n");
AddMoney( CVAR_GET_FLOAT("mod_awardmoney") );
}


else if ( !IsAlive() )
{
pev->frags = pev->frags - CVAR_GET_FLOAT("mod_awardloss");
ClientPrint(pev, HUD_PRINTTALK, "You have lost points!\n");
}
m_flNextAward = gpGlobals->time + CVAR_GET_FLOAT("mod_awardtime");
}
}
}

soooo und wenn der player stirbt, dann soll nich erst gewartet werden, bis das nächste mal m_flNextAward dran is ... sondern es soll sofort passieren ...

--

"selbermachen rockt am meisten :D" - -LeJean-


Dieser Beitrag wurde am 21.03.2002 um 16:45 von da_EXE bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
21.03.2002, 16:55
Retro



Ich versteh zwar net was du willst... aber schreib es doch in die CBasePlayer::Death oder so.

P.S.: Könnte auch CBasePlayer::Killed oder so heissen..

--

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 21.03.2002 um 16:55 von Retro bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
21.03.2002, 16:56
RirA



Mach einfach in die PlayerDeathThink ne Variable pPlayer->m_Dead = 1; und die fragst du dann ab...

--

zum Seitenanfang zum Seitenende Profil || Suche
005
21.03.2002, 17:36
Exec



*lol* retro, du sagst es ... das einzige richtige prob beim coder is eigendlich, das ich nich weis, wo ich was machen soll .... was ich mach, das geht eigendlich auch meistens ....

--

"selbermachen rockt am meisten :D" - -LeJean-

zum Seitenanfang zum Seitenende Profil || Suche