Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
02.10.2001, 15:27
hausi



Zuerst mal Hallo!
Ich war früher schon mal hier angemeldet, habe aber meinen Usernamen vergessen ;)
Zu meinem Problem:
Wenn ein Player stirbt, wird der tote Körper mit der Funktion CopyBodyToQue() oder so änlich zur leiche gemacht.
Nun meine Frage:
Ich habe keinen Code gefunden, der die Leiche handelt (ist ja eigentlich auch net nötig). Ich will aber, dass ich z.B. wenn jemand über die Leiche drüber läuft, dass bei ihm ein Flag gesetzt wird und er z.B. bei den nächsten 20 Schritten Blutspuren hinterlässt. Oder dass die Leiche nach 10 Minuten zu einem Knochen-Model "mutiert".
Wäre froh, wenn mir jemand helfen könnte.
Thx...
Nachtrag:
Der Code ist in der world.cpp um die Zeile 231 und heisst CopyToBodyQue(...);

--


Dieser Beitrag wurde am 02.10.2001 um 16:00 von Superhausi bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
02.10.2001, 16:10
Prefect



Nunja, es gibt ja durchaus eine bodyque-Entity, und die mußt du halt entsprechend verändern (z.B. auf SOLID_TRIGGER und dann eine entsprechende Touch()-Funktion).

Hmm... es kann sein, daß bodyque selbst direkt auf CBaseEntity gemappt ist, da bin ich mir nicht so sicher. In dem Fall leite einfach eine Klasse CBodyQue von CBaseEntity ab und ändere das entsprechende LINK_ENTITY_TO_CLASS.

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
002
02.10.2001, 16:13
hausi



Danke für die Antwort. Ich werde mal suchen.
Falls ich noch ein Problem habe, werde ich mich wieder melden.
Immer noch die selben, die schnell antworten. Fehlt nur noch, dass TheTinySteini und Another1 auch antworten... :)

--

zum Seitenanfang zum Seitenende Profil || Suche
003
02.10.2001, 16:31
hausi



Ich habe alles jetzt mal folgendermassen abgeändert:
Quellcode:
// Body queue class here.... It's really just CBaseEntity
class CCorpse : public CBaseEntity
{
public:
void InitBodyQue( void );
virtual int ObjectCaps( void ) { return FCAP_DONT_SAVE; }
};

LINK_ENTITY_TO_CLASS( bodyque, CCorpse );

void CCorpse::InitBodyQue( void )
{
string_t istrClassname = MAKE_STRING("bodyque");

g_pBodyQueueHead = CREATE_NAMED_ENTITY( istrClassname );
entvars_t *pev = VARS(g_pBodyQueueHead);

// Reserve 3 more slots for dead bodies
for ( int i = 0; i < 3; i++ )
{
pev->owner = CREATE_NAMED_ENTITY( istrClassname );
pev = VARS(pev->owner);
}

pev->owner = g_pBodyQueueHead;
}

HL stürzt jedoch ab, sobald eine Leiche entstehen soll.
Der Aufruf sieht folgendermassen aus:
Quellcode:
CCorpse *bCorpse;
bCorpse = GetClassPtr( (CCorpse *)NULL );
bCorpse->InitBodyQue();

Hoffe, ihr findet den Fehler, den ich gemacht habe...
Oder habe ich das jetzt falsch verstanden?

--


Dieser Beitrag wurde am 02.10.2001 um 16:33 von Superhausi bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
02.10.2001, 18:43
Basiror



spawn() function???
sollte man haben

--

Basiror's Labs Game-Development page

Hifle in form von Tutorials, Artikeln und anderem wird dankbar angenommen

zum Seitenanfang zum Seitenende Profil || Suche
005
02.10.2001, 18:58
hausi



Uups...
Da hab ich wohl hinter ner säule gesessen...
Ok. thx

--

zum Seitenanfang zum Seitenende Profil || Suche
006
04.10.2001, 00:12
hausi



Habs jetzt anders gelöst:
Bin heute mittag zufälligerweise auf CDeadHEV gestossen. Dort konnte ich das meiste machen...
Danke nochmal für die Hilfe.
P.S: Another1: Falls du das liest, meld dich mal. #104988933

--

zum Seitenanfang zum Seitenende Profil || Suche