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



Hi,
ich komm mir vor, als ob ich ein Brett vor dem Kopf haette! Will ganz einfach machen, dass bei einem Entity ein Parameter ausgelesen wird! Aber bin wohl zu dumm dazu!

Mein FGD Eintrag:

@PointClass = object_bombe : "Kofferbombe"
[
time(integer) : "Counter in s" : 180
]

Meine KeyValue Funktion:
Quellcode:
void CBombe::KeyValue(KeyValueData *pkvd)
{
    
    if( FStrEq(pkvd->szKeyName, "time"))
    {
        m_ibooom = atoi(pkvd->szValue) + gpGlobals->time;
        pkvd->fHandled = true;
    }

}

Muss ich die Funktion irgendwo reggen oder irgendwo aufrufen oder so?

THX Mexil...

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
001
07.04.2002, 23:16
Retro



Is doch soweit richtig... was funktioniert denn nicht?

Es könnte am "+ gpGloblas->time" liegen! Erledige dass lieber nachher, außerdem glaube ich dass "gpGlobals->time" Float ist...

--

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
002
08.04.2002, 00:04
Mexil



Tjo, haette ich auch gedacht, dass das Ding soweit richtig ist... Ich hab das Ding debuggt und die KeyValue Funktion wird noch nicht einmal aufgerufen !?! Ich hab keine Ahnung wieso. Deshalb wird die m_ibooom Variabel auch nicht initialisiert und .....
Also mein Prob ist, dass die Funktion garnicht aufgerufen wird, NUR WIESO? Muss ich die irgendwo aufrufen, wie zum Beispiel die Init Funktionen der Hud Klassen?
Ich komm mir echt ziemlich dumm damit vor... in der Spawn Funktion muss das Ding auch nicht aufgerufen werden oder so? Ist doch normalerweise ein Call von der Engine oder?

BTW: m_ibooom ist auch Float ;-)

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
003
08.04.2002, 06:55
Tron



selstam... zeig mal die deklaration deiner klasse

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
004
08.04.2002, 09:28
Mexil



Quellcode:
class CBombe : public CBaseEntity
{
public:
    void Spawn(void);
    void Precache(void);
    void EXPORT Touch(CBaseEntity*);
    void EXPORT Think();
    void KeyValue(KeyValueData *pkvd);

private:
    float m_ibooom;
    float m_flnexttime;
};

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
005
08.04.2002, 13:05
Another1



mhh, bist du sicher das das entity überhaupt gespawnt wird? evtl hast du LINK_ENTITY_TO_CLASS vergessen

--

Another1

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

zum Seitenanfang zum Seitenende Profil || Suche
006
08.04.2002, 14:39
Mexil



Nein, ich hab das Ding debuggt und auch einen Haltepunkt in die Spawnfunktion gepackt und da wird angehalten!

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
007
08.04.2002, 15:30
Mexil



So, hab den Fehler gefunden!!! Sorry, konntet ihr nicht drauf kommen! Mein Source Code war fuer mich selber zu kompliziert*ggg*
Das sieht folgendermassen bei mir aus:

Quellcode:class CBombeT : public CBaseEntity
{
...<das ist das Mapentity>
}

class CBombe : public CBaseEntity
{
...
}

CBombeT::Spawn
{
<von hier wird eine Instance von CBombe gespawnt!!!>
}

So und deswegen konnte die KeyValue Funktion von CBombe natuerlich nicht aufgerufen werden, sondern nur die von CBombeT!?! Hab's jetzt geloest! Sorry*xtremselfpaddling*

--


Move In!

VISIT US Move In!


Dieser Beitrag wurde am 08.04.2002 um 15:31 von Mexil bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
008
08.04.2002, 21:34
Mexil



*grrrundtotaldurchdreh*

Ich bin irgendwie zu bloed!!!

Ich wollte jetzt noch einen String dazu packen und was ist? Die KeyValue Funktion wird fuer jeden Integer Parameter einmal aufgerufen, aber nicht fuer den String !?!

Folgender FGD Eintrag:
Quellcode:
@PointClass = object_bombe : "Kofferbombe"
{
    time(integer) : "Counter  in s" : 180
    test(integer) : "Test" : 10

    model(string) : "Model"
}(Eckige Klammern nimmt das Board nicht an..)

Die Funktion wird 2 mal aufgerufen, einmal pkvd->svname == "test" und einmal == "time" aber kein 3. mal fuer "model" !?!

WIESO? Ich hab jetzt schon so lange an diesem Scheiss Debuggt und bin immer noch nicht weiter gekommen... jemand ne Idee?

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
009
08.04.2002, 22:58
Mexil



Ouh man, mit HL ist das echt ne Hassliebe...

Lag an dem Namen "model" !?! Hab's umbenannt und es laeuft...

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
010
08.04.2002, 23:15
TheTinySteini



Ja, is auch logisch. Denn es gibt pev->model. Das wird dann automatisch benutzt. Kannste auch benutzen, denk aber daran, dass man es dann mit STRING( pev->model ) ansprechen muss, weil pev->model nur ein Offset in eine Stringtabelle ist.

--

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

zum Seitenanfang zum Seitenende Profil || Suche