TE_BEAMPOINTS - baso88/SC_AngelScript GitHub Wiki

An additive sprite beam between two static points.

Parameters

Type Name Description
Vector start Starting position of the beam
Vector end End position of the beam
string sprite Sprite used to display the beam
uint8 frameStart Starting frame for the beam sprite
uint8 frameRate Frame rate of the beam sprite (FPS * 0.1)
uint8 life How long to display the beam (seconds * 0.1)
uint8 width Width of the beam (units * 0.1)
uint8 noise Noise amplitude (units * 0.1)
Color c Beam color and brightness
uint8 scroll Scroll rate of the beam sprite

API Function

No API function exists as of SC 5.02

NetworkMessage Function

void te_beampoints(Vector start, Vector end, 
	string sprite="sprites/laserbeam.spr", uint8 frameStart=0, 
	uint8 frameRate=100, uint8 life=10, uint8 width=32, uint8 noise=1, 
	Color c=PURPLE, uint8 scroll=32,
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)
{
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);
	m.WriteByte(TE_BEAMPOINTS);
	m.WriteCoord(start.x);
	m.WriteCoord(start.y);
	m.WriteCoord(start.z);
	m.WriteCoord(end.x);
	m.WriteCoord(end.y);
	m.WriteCoord(end.z);
	m.WriteShort(g_EngineFuncs.ModelIndex(sprite));
	m.WriteByte(frameStart);
	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); // actually brightness
	m.WriteByte(scroll);
	m.End();
}