Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
17.02.2002, 21:59
Mexil



Folgender Code

Quellcode:
class CBombet : public CBaseEntity
{
public:
void Spawn(void);
void Precache(void);
void EXPORT Touch(CBaseEntity*);
void Think();

private:
float booom;
};



LINK_ENTITY_TO_CLASS(object_bombe, CBombet);


void CBombet::Spawn()
{
Precache();

(...)

SetThink(Think);
//SetTouch(Touch);
}

void CBombet::Precache()
{
(...)
}

void EXPORT CBombet::Touch(CBaseEntity *pEntity)
{
(...)
}

void CBombet::Think()
{
ALERT(at_console, "test");

}

Doch die Think Methode wird GARNICHT nicht ein einziges mal aufgerufen.... wieso? Muss ich die erst irgendwo regristrieren oder so? Ist doch von CBaseEntity abgeleitet, muesste dann doch eigentlich bei jedem Frame aufgerufen werden oder nicht?

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
001
17.02.2002, 22:17
[HUI]-Tiger-



funzt dein Touch ? ist das ne brush-based entity ?
wenn ja, dan poste mal die ganze Spawn-Funktion oder schick sie, wenn sie zu lang ist, an davidh@addcom.de ! mega thx !
ich hab nämlich genau das gleiche Prob bei Touch !

vielleicht hat es ja was mit pev->solid zu tun ?

--

.-.-.-.
cya Tiger


Dieser Beitrag wurde am 17.02.2002 um 22:19 von [HUI]-Tiger- bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
17.02.2002, 23:24
Retro



Poste mal bitte die pev's die in der Spawn-Funktion gesetzt werden...

--

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
17.02.2002, 23:43
Rockefeller



pev->nextthink = gpGlobals->time + irgentwas;

--

zum Seitenanfang zum Seitenende Profil || Suche
004
18.02.2002, 06:33
Mexil



aah thx @ Rockefeller, werd's nacher mal ausprobieren....

Nein, die Touchfunktion funktioniert wunderbar....(hatte zuerst noch die lieben NO EXPORT Bug, hab ich aber gefixt...)

Das Ding ist SOLID_TRIGGER

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
005
18.02.2002, 06:39
Dr Evil



ppu..=cuv x cuv
^^33^^/fgd'':uuu*=10,544
das sollte das problem beheben.

bitte bringt mich nicht um,hab das nur gelesen und konnte nicht an mich haltenweil ich nix versteh

--

______________

es heißt lighting.
______________

zum Seitenanfang zum Seitenende Profil || Suche
006
18.02.2002, 07:01
Dr Evil



sorry

--

______________

es heißt lighting.
______________

zum Seitenanfang zum Seitenende Profil || Suche
007
18.02.2002, 08:31
Rockefeller



rofl! sowas muss ich mir auch mal ausdenken, das kommt dann immer unter Beiträge von Nuubs :D

--

zum Seitenanfang zum Seitenende Profil || Suche
008
18.02.2002, 08:37
Dr Evil



sniff

das war doch nur son bloeder scherz

--

______________

es heißt lighting.
______________


Dieser Beitrag wurde am 18.02.2002 um 08:37 von [NBW]Dr.Evil bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
009
18.02.2002, 10:08
TheTinySteini



Ach, und nochwas, afaik darf man eine Think-Funktion nicht "Think" nennen, sondern zum Beispiel "MyThink", "RocketThink", "FlyThink" etc. Denn in der CBaseEntity gibt's schon ne Think-Funktion (die dann die eigentliche Think-Funktion des Entities aufruft, falls eine gesetzt wurde), die sonst überschrieben werden würde.

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
010
18.02.2002, 12:30
[HUI]-Tiger-



class CTriggerConsoleEntity : public CBaseEntity
{
public:
void KeyValue(KeyValueData *pkvd ); //Funktion zum Abruf der Parameter
void Spawn( );
void EXPORT MFETouch( CBaseEntity *pOther );
char bef;
};
LINK_ENTITY_TO_CLASS( trigger_console, CTriggerConsoleEntity );

void CTriggerConsoleEntity::KeyValue(KeyValueData *pkvd)
{
...
}

void CTriggerConsoleEntity :: Spawn( )
{
Precache( );
pev->solid = SOLID_TRIGGER;
UTIL_SetOrigin( pev, pev->origin );
//UTIL_SetSize( pev, Vector(-16,-16,0), Vector(16,16,64) );
SetTouch( MFETouch ); //Berührungsfunktion einstellen
}

void CTriggerConsoleEntity :: MFETouch( CBaseEntity* Player )
{
ALERT(at_console, "test");
}

Warum geht der Touch nicht ??

--

.-.-.-.
cya Tiger

zum Seitenanfang zum Seitenende Profil || Suche
011
18.02.2002, 13:43
Rockefeller



Ja nu, also entweder ist das ein Brush-Entity, dann musst du
UTIL_SetSize(pev, pev->mins, pev->maxs);
machen, oder es ist ein Model, dann musst du
UTIL_SetSize( pev, Vector(-16,-16,0), Vector(16,16,64) );
machen, oder halt andere Werte, je nachdem, wie groß dein Model ist.
Denn UTIL_SetSize macht genau das, was die Touch-Funktion braucht, es setzt die Größe der Entity fest. Warum du das auskommentiert hast musst du dich selber fragen :D

--

zum Seitenanfang zum Seitenende Profil || Suche
012
18.02.2002, 14:13
[HUI]-Tiger-



ich hab es auskommentiert, da ich mich gedacht hab, dass dann die groesse aus der map genommen wird, aber wenn das so is....
n mega thx ich werds gleich mal probieren !!!

--

.-.-.-.
cya Tiger

zum Seitenanfang zum Seitenende Profil || Suche
013
18.02.2002, 14:23
[HUI]-Tiger-



geht leider noch nicht muss ich nicht noch was anderes einstelln ? ich hab auch schon ohne UTIL_SetOrigin probiert aber das nützt nix...

--

.-.-.-.
cya Tiger

zum Seitenanfang zum Seitenende Profil || Suche