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



Hoi, ich hab mir da grad ne Komposit-Ladung gecodet, die auch einen ganz bestimmten Zweck erfüllen soll:) Nämlich türen aufbrechen.

Dazu hab ich die Funktion CBaseDoor::Komposit erstellt, welche checkt ob die Tür sprengbar ist, nen paar gibs spawn und die Tür aufkanallen lässt... funzt auch prima ;)

Jetzt muss ich nur noch die Funktion auslösen, sobald das Komposit detoniert. Es ist auf 8sec. eingestellt.
Der Base-Code ist von der Tripmine, also man kann das Komposit überall dran kleben... jetzt will ich überprüfen, ob die Ladung auf einem func_door angebracht ist, und wann ja, soll bei der Detonation die Funktion Komposit ausgelöst werden... aber nur für die Tür, an der das Komposit auch klebte.

Wie kann ich das nun am besten anstellen Tracer oder so? Bräuchte nur mal nen paar kleine Tipps.

--

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
17.12.2001, 19:51
Archangel



also, ich würd das so machen:
du deklarierst für die Tripmine ne membervar CBaseDoor *m_pDoor;
dann, in der CTripmine::PrimaryAttack, (tripmine.cpp, l 442), findest du folgende Zeile:

UTIL_TraceLine( vecSrc, vecSrc + vecAiming * 128, dont_ignore_monsters, ENT( m_pPlayer->pev ), &tr );

damit wird gecheckt, ob man nahe genug an einer wand steht..
(tr.pHit ist das gehittete entity)

du fügst dann hinter:
else
{
// ALERT( at_console, "no deploy\n" );
}
(474 - 477)
folgendes ein:

Quellcode:
if(FStrEq(STRING(pEntity->pev->classname), "func_door")) {
m_pDoor = (CBaseDoor *)pEntity;
}

und dann halt ne firefunc als think mit 8 seks delay, und da dann halt m_pDoor->Komposit(); aufrufen..

ich hoffe mal das funzt, hab das jetzt nich getestet..

--

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


Dieser Beitrag wurde am 17.12.2001 um 19:52 von Archangel bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
17.12.2001, 19:56
Retro



Alles klar, das mit m_pDoor ist ne gute Idee!

Den Rest hab ich schon anders gelöst, denn es ist ja ne neue Waffe und nicht die Tripmine, nur den Code davon hab ich als Grundlage genommen ;)

Dann halt nen Trace in richtung Wand an der das Ding pappt uns Funktion aufrufen ;) k 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