Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
27.06.2002, 16:35
mapdog



Wie programmiere ich ein Trigger entity, welches das playermodel ändert (austauscht),wenn man durchrennt.
ein item tuts auch.

oder gibts sowas schon?

--

Man ist immer noch nicht besoffen, solange man am Boden liegen kann, ohne sich festzuhalten!


Dieser Beitrag wurde am 27.06.2002 um 16:38 von mapdog bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
27.06.2002, 16:40
[RMen]OneStone



Das gibt es noch nicht. Du kannnst das (ganz einfach) so machen:

trigger_multiple kopieren und in die Touch den pToucher->pev->model -Index verändern. Wenn du das nicht raffst, oder sogar nur mappen willst, VERGISS ES!

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/

zum Seitenanfang zum Seitenende Profil || Suche
002
27.06.2002, 16:47
mapdog



in meinem source sieht die trigger_multiple funktion (in der "triggers.cpp") so aus:

class CTriggerMultiple : public CBaseTrigger
{
public:
void Spawn( void );
};

LINK_ENTITY_TO_CLASS( trigger_multiple, CTriggerMultiple );

void CTriggerMultiple :: Spawn( void )
{
if (m_flWait == 0)
m_flWait = 0.2;

InitTrigger();

ASSERTSZ(pev->health == 0, "trigger_multiple with health");
// UTIL_SetOrigin(pev, pev->origin);
// SET_MODEL( ENT(pev), STRING(pev->model) );
// if (pev->health > 0)
// {
// if (FBitSet(pev->spawnflags, SPAWNFLAG_NOTOUCH))
// ALERT(at_error, "trigger_multiple spawn: health and notouch don't make sense");
// pev->max_health = pev->health;
//UNDONE: where to get pfnDie from?
// pev->pfnDie = multi_killed;
// pev->takedamage = DAMAGE_YES;
// pev->solid = SOLID_BBOX;
// UTIL_SetOrigin(pev, pev->origin); // make sure it links into the world
// }
// else
{
SetTouch( MultiTouch );
}
}

ich ekenn hier kein "pToucher->pev->model"

--

Man ist immer noch nicht besoffen, solange man am Boden liegen kann, ohne sich festzuhalten!

zum Seitenanfang zum Seitenende Profil || Suche
003
27.06.2002, 17:25
[RMen]OneStone



Immer diese pseudo-Code-nicht-verstehenden Anfänger! Tzzz.... ;)
Mach einfach so ein Entity:

Quellcode:class CModelTrigger : public CBaseTrigger
{
public:
  void Spawn();
  void ModelTouch(CBaseEntity*);
}

void CModelTrigger::Spawn()
{
InitTrigger();
SetTouch(ModelTouch);
}

void CModelTrigger::ModelTouch(CBaseEntitiy *pTouched)
{
pTouched->pev->model = 1; //your model index goes here
}

Jetzt frag nicht, wie man das in ne *.fgd bekommt!

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/

zum Seitenanfang zum Seitenende Profil || Suche
004
27.06.2002, 17:36
Exec



pev->model = 1; ??? wasn das? pev->body = 1; würde gehn ... ausserdem denkt er sicher daran, das model dann zu ändern, z.b. von barney auf gordon ...

g_engfuncs.pfnInfoKeyValue( g_engfuncs.pfnGetInfoKeyBuffer( pl->edict() ), "model" ) ); z.b. musste halt noch anpassn ...

--

"selbermachen rockt am meisten :D" - -LeJean-

zum Seitenanfang zum Seitenende Profil || Suche
005
27.06.2002, 17:38
mapdog



-> Exec: genau.
also, wie soll ich dass jetzt anstellen?

--

Man ist immer noch nicht besoffen, solange man am Boden liegen kann, ohne sich festzuhalten!

zum Seitenanfang zum Seitenende Profil || Suche
006
27.06.2002, 17:39
Exec



naja habs doch geschrieben!

--

"selbermachen rockt am meisten :D" - -LeJean-

zum Seitenanfang zum Seitenende Profil || Suche
007
05.07.2002, 18:18
[RMen]OneStone



Ähm, = 1 sollte ein obligatorisches Beispiel sein, was er ersetzen sollte!

--

georg-wicherski@pixel-house.net | http://www.pixel-house.net/ - Coding Resource| http://www.google.de/

zum Seitenanfang zum Seitenende Profil || Suche