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



Hi,
ich krieg hier echt noch zu viel....

Will ein ganzn simples Brush Entity machen, dass ne Touchfunktion hat und wenn man in das Entity hinneinlaeuft, soll halt eben die Touchfunktio ausgefuehrt werden und darin dann xyz....

Meine bisherigen Versuche sehen wie folgt aus
Quellcode:
class CMyEnt : public CBaseEntity//CBaseToggle
{
public:
    void Spawn();
    void EXPORT Touch(CBaseEntity *pOther);
};

LINK_ENTITY_TO_CLASS(my_ent, CMyEnt);

void CMyEnt::Spawn()
{
    UTIL_SetOrigin(pev, pev->origin);
    if (pev->angles != g_vecZero)
        SetMovedir(pev);
    
    pev->solid = SOLID_TRIGGER;
    pev->movetype = MOVETYPE_NONE;
}

void CMyEnt::Touch(CBaseEntity *pOther)
{
    if(!pOther->IsPlayer())
        return;

    CBasePlayer *pPlayer = (CBasePlayer*)pOther;
    //der Rest interessiert nicht
    
}

So, nun sollte meines Achtens nach die Touch Funktion aufgerufen werden, wenn ich in das Entity hinein laufe... aber sie wird nicht aufgerufen!?! WIESO? Hab mir auch schon die ganzen trigger_xyz(was ja auch BrushEntitys sind) angeschaut etc. aber da ist das eigentlich genauso wie in meinem Entity...

THX Mexil

PS: Sorry fuer schon wieder so nen totalen deppen Post, aber ich komm da einfach nicht weiter.... sitzt da schon nen ganzen Tag dran...

EDIT: Die Spawnfunktion wird aufgerufen also das Entity wird gespawnt, daran sollte es also nicht liegen! Der FGD Eintrag sieht so aus:
@SolidClass = my_ent : "Brush Entity"[]

--


Move In!

VISIT US Move In!


Dieser Beitrag wurde am 10.04.2002 um 23:05 von Mexil bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
10.04.2002, 23:17
Another1



uhm .. evtl bringt
SetTouch(Touch);
was

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
002
10.04.2002, 23:19
Mexil



Nope, auch schon getestet kein Unterschiet...
SetTouch braucht man nur, wenn die Touch Funktion nicht TOUCH heisst sondern meinet wegen MyTouch oder sonst was, oder bin ich da falsch informiert?

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
003
11.04.2002, 09:47
Another1



ich würds trotzdem immer benutzen.

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
004
11.04.2002, 11:15
Creeper



hm, bei mir geht das, hab aber auch SetTouch benutzt, schau einfach mal bei func_breakable oder func_door vorbei, da müsste das stehen.

--

Head Coder:Sudden-Impact

Listen to CKY you fuCKYrs http://www.ckymusic.com

zum Seitenanfang zum Seitenende Profil || Suche
005
11.04.2002, 11:39
Mexil



So, hab jetzt die Touchfunktion in MyTouch umbenannt und auch SetTouch verwendet und es funzt immer noch nicht...
Irgendwie fang ich allgaemlig an dran zu zweifeln, dass das Entity richtig gespawnt wird! Also ich vermute ihm Mom, dass es als PointEntity gespawnt wird !?!
So, wie kann ich das denn jetzt machen, dass das Ding angezeigt wird? Hab schon SOLID_BSP und das FL_WORLDBRUSH Flag, aber immernoch wird nichts angezeigt...!?!
Jemand ne Ahnung wie das geht?

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
006
11.04.2002, 13:30
TheTinySteini



Du musst glaub ich mit SetOrigin und SetModel oder so in der richtigen Reihenfolge hantieren. Guck's dir am besten bei anderen Solid-Entities ab. Ich kann mich jedenfalls düster dran erinnern, dass die Reihenfolge entscheidend is, sonst ist das Entity zwar gespawnt, aber es passiert nix wenn man dagegen latscht.

--

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

zum Seitenanfang zum Seitenende Profil || Suche
007
11.04.2002, 13:43
Mexil



K, an SetModel hab ich mich auch schon versucht, bin aber auch nicht weit gekommen*g* ist es egal was fuer ein Model ist da uebergebe? Oder muss das irgendein bestimmtes Model sein?

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
008
11.04.2002, 14:18
Archangel



das sollte funzen:

(in der spawn)
UTIL_SetOrigin(pev, pev->origin); // hast du ja schon
UTIL_SetSize(pev, pev->mins, pev->maxs);

--

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 11.04.2002 um 14:18 von Archangel bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
009
11.04.2002, 23:22
Mexil



Also, meine Spawn Funktion sieht nun so aus:
Quellcode:
void CNebel::Spawn()
{
    UTIL_SetOrigin(pev, pev->origin);
    UTIL_SetSize(pev, pev->mins, pev->maxs);
    pev->solid        = SOLID_BSP;
    pev->flags |= FL_WORLDBRUSH;
    SetTouch(MyTouch);
    if (pev->angles != g_vecZero)
        SetMovedir(pev);
}

Und 1. seh ich nichts, 2. funzt die Touch Funktion immer noch nicht*grrr*

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
010
12.04.2002, 00:07
Rockefeller



SET_MODEL( ENT(pev), STRING(pev->model) );

musst du trotzdem verwenden, auch wenn es eine brush-based Entity ist.

--

zum Seitenanfang zum Seitenende Profil || Suche
011
14.04.2002, 17:33
[HUI]-Tiger-



pev->solid = SOLID_TRIGGER;
pev->movetype = MOVETYPE_FLY;
pev->effects = EF_NODRAW;

UTIL_SetOrigin(pev, pev->origin);
UTIL_SetSize(pev, pev->mins, pev->maxs);
SET_MODEL(ENT(pev), STRING(pev->model) );
pev->frame = 0;

Das is eventuell zu viel aber so geht es bei mir !! (von anderen Ents abgeschrieben)

--

.-.-.-.
cya Tiger

zum Seitenanfang zum Seitenende Profil || Suche
012
14.04.2002, 17:47
King2500



aha! nebel will der herr machen...

gug dir am besten ma den source von Spirit of HL an ...

http://spirit.valve-erc.com/

--

Webmaster @ Half-Life Portal

zum Seitenanfang zum Seitenende Profil || Suche
013
14.04.2002, 21:41
Mexil



Ich hab's schon selber hinbekommen = )

BTW: @ Tiger, guck mal deine Private Messages nach....

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche