Skip to content

TE_BEAMRING

GeckoN edited this page Jan 31, 2017 · 4 revisions

A circular beam drawn between two moving entities. Unlike the other circular beam effects, this one can be rotated to different orientations.

Parameters

Type Name Description
CBaseEntity@ start Entity target for the beam to follow (start)
CBaseEntity@ end Entity target for the beam to follow (end)
string sprite Sprite used to draw the beam
uint8 startFrame Starting frame for the beam sprite
uint8 frameRate Frame rate of the beam sprite (FPS * 0.1)
uint8 life Time to display the beam (seconds * 0.1)
uint8 width Width of the beam / height of the torus
uint8 noise Noise amplitude of the beam (units * 0.1)
Color c Color of the beam sprite
uint8 scrollSpeed Scroll speed of the beam sprite

API Function

No API function exists as of SC 5.02

NetworkMessage Function

void te_beamring(CBaseEntity@ start, CBaseEntity@ end, 
	string sprite="sprites/laserbeam.spr", uint8 startFrame=0, 
	uint8 frameRate=16, uint8 life=8, uint8 width=8, uint8 noise=0, 
	Color c=PURPLE, uint8 scrollSpeed=0, 
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)
{
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);
	m.WriteByte(TE_BEAMRING);
	m.WriteShort(start.entindex());
	m.WriteShort(end.entindex());
	m.WriteShort(g_EngineFuncs.ModelIndex(sprite));
	m.WriteByte(startFrame);
	m.WriteByte(frameRate);
	m.WriteByte(life);
	m.WriteByte(width);
	m.WriteByte(noise);
	m.WriteByte(c.r);
	m.WriteByte(c.g);
	m.WriteByte(c.b);
	m.WriteByte(c.a);
	m.WriteByte(scrollSpeed);
	m.End();
}
Clone this wiki locally