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



Moin, ich möchte gern abfragen ob der Player ein bestimmtes Item bestitzt? Zum Beispiel das item_longjump. Also in dem Sinne: Quellcode:if ( JaDerPlayerHatDasItemLongjump() )
{
tu dies tu das...
}
else
{
na dann net...
}

So, ich könnte ja ne Variable in der Items.cpp dafür definieren die gesetzt wird wenn der Player das Item aufnimmt, und dann halt die Variable mit dem if zeugs abfragen, aber ich glaub da gibts ne bessere Lösung. Die ich aber nicht kenne =\

Denn das soll nicht fürs item_longjump sein, sondern für nen ganz paar andere Items. Ich hoffe es gibt ne andere Lösung als die Sache mit den Vars, ansonsten werd ich darauf zurückgreifen müssen.

Thx schonmal vorweg!

--

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
001
21.09.2001, 10:49
Killing Me Softly



Zitat:
Retro postete
So, ich könnte ja ne Variable in der Items.cpp dafür definieren die gesetzt wird wenn der Player das Item aufnimmt, und dann halt die Variable mit dem if zeugs abfragen, aber ich glaub da gibts ne bessere Lösung.

Nun, genauso haben das die Jungs von Valve auch gemacht, allerdings nicht in der Items.cpp sondern in der Klasse CBasePlayer. Falls der Spieler das Longjump-Modul aufnimmt, wird einfach die Variable CBasePlayer::m_fLongJump auf true gesetzt.

Falls es sich um hunderte von verschiedenen Items handelt (Übertreibung macht anschaulich *g*) dann könnte man sich überlegen, das Ganze in ein Array zu packen.
Quellcode:
bool m_fHasItem[MAX_ITEMS];

Eine elegantere Lösung hätte ich auch nicht parat.

--

Der Horizont vieler Menschen ist ein Kreis mit Radius Null - und das nennen sie ihren Standpunkt.

zum Seitenanfang zum Seitenende Profil || Suche
002
21.09.2001, 16:46
Retro



Najaaa... ganz Hundert sind nicht ;)

Also das mit der Variable ist schon genau das wonach ich gesucht habe...
Nen ganzes Array währe zuviel, sind ca. 10 Items die damit abgefragt werden sollen.

Genau dannach habe ich gesucht :) 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