TE BEAMFOLLOW
Revision as of 20:43, 12 April 2025 by Outerbeast (talk | contribs)
A beam trail that follows a moving entity. The trail will kill itself if the entity is stopped and doesn't start moving within 1 second, or if the beam catches up with itself after the entity has stopped moving.
void te_trail(CBaseEntity@ target, string sprite="sprites/laserbeam.spr",
uint8 life=100, uint8 width=2, int attachmentpoint = 0, RGBA c=RGBA_PURPLE,
NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)
{
NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);
m.WriteByte(TE_BEAMFOLLOW);
m.WriteShort(target.entindex() + 0x1000 * ( attachmentpoint + 1 ) );
m.WriteShort(g_EngineFuncs.ModelIndex(sprite));
m.WriteByte(life);
m.WriteByte(width);
m.WriteByte(c.r);
m.WriteByte(c.g);
m.WriteByte(c.b);
m.WriteByte(c.a);
m.End();
}
CBaseEntity@ targetEntity target for the beam to followstring spriteSprite used to display the beamuint8 lifeTime before the trail fades out (seconds * 0.1)uint8 widthWidth of the beam (units * 0.1)int attachmentpointattachment point on the model to attach the beamRGBA cColor and brightness of the beam
