Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
28.08.2008, 22:09
Konsti



Hi,

So ich möchte das ich eine granate mit alternate zünden kann, dafür erstelle ich einen zeiger auf die granate mithilfe dieser funktion:
Quellcode:*pHe = CBaseGrenade *Fraggrenade_Create( const Vector &position, const QAngle &angles, const Vector &velocity, const AngularImpulse &angVelocity, CBaseEntity *pOwner, float timer, bool combineSpawned)
die funktion gibt pGrenade(die granate) zurück dessen datentyp CGrenadeFrag ist. mit
Quellcode:*pHe->SetTimer( 0, 0 );
Will ich die granate zünden.
Wie erstelle ich jetzt einen zeiger auf diese granate? Ich scheitere immer beim initialisieren des zeigers.

--

AHHHHHHHHHHHHHHHHHH


Dieser Beitrag wurde am 28.08.2008 um 22:10 von Konsti bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
28.08.2008, 22:17
Bluthund



Entweder du speicherst dir den Zeiger zwischen (zum Zeitpunkt des Erstellens bis zum Auslösen) oder du nutzt eine der Entity-Suchfunktionen der Engine (ka ob sie noch genauso heißen, bei HL wars iirc UTIL_FindEntityByClassname).
Ich würde allein der Performance wegen zu ersterem greifen, zB als Membervariable der Waffenklasse, evtl auch als vector<CBaseGrenade*> (oder äquivalenter Container) falls es ähnlich der Satchel-Charges aus HL1 auch mit mehreren funktionieren soll.

Quellcode:*pHe->SetTimer( 0, 0 ); Einen solchen Zeiger doppelt zu dereferenzieren wird die mit Sicherheit null Punkte und nen Crash bescheren... (die erste Zeile Quellcode sieht nicht weniger verunglimpft aus)

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-


Dieser Beitrag wurde am 28.08.2008 um 22:18 von Bluthund bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
28.08.2008, 22:55
Konsti



danke für die schnelle antwort.
ich habe einiges probiert, weiß aber jetzt nitch so richtig was ich machen soll.
selbst wenn ich es schaffe es zwischenzuspeichern weiß ich immernoch nicht wie ich c++ dazu bringe pHe in ner anderen datei zu suchen.

mfg

--

AHHHHHHHHHHHHHHHHHH

zum Seitenanfang zum Seitenende Profil || Suche
003
28.08.2008, 23:45
Bluthund



Zitat:
Konsti postete
weiß ich immernoch nicht wie ich c++ dazu bringe pHe in ner anderen datei zu suchen.
Lies mal lieber ein gutes Buch zum Thema OOP

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-


Dieser Beitrag wurde am 28.08.2008 um 23:46 von Bluthund bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
29.08.2008, 08:43
Konsti



Zitat:
Bluthund postete
Zitat:
Konsti postete
weiß ich immernoch nicht wie ich c++ dazu bringe pHe in ner anderen datei zu suchen.
Lies mal lieber ein gutes Buch zum Thema OOP
ich habe noch kein buch über oop in c++ gelesen, ich habe nur schwache c kenntnisse.
welches buch würdest du mir empfehlen?

mfg

--

AHHHHHHHHHHHHHHHHHH

zum Seitenanfang zum Seitenende Profil || Suche
005
29.08.2008, 10:46
Adrian_Broher
Admin


http://www.amazon.de/C-Beginning-International-Computer-Science/dp/0201721686

Titel: C++ from the Beginning
Author: Jan Skansholm
ISBN-13: 978-0201721683

--

There is nothing wrong with high standards. It's your problem that you don't meet them.
If you think it's simple, then you have misunderstood the problem.
When a customer says "nothing has changed", assume they're lying.

zum Seitenanfang zum Seitenende Profil || Suche