Created By: Wazat
eMail: c21@lingthng.com
Difficulty Scale: Easy


Flame colored skin:
This one's real cool. You can give a player a built in flame skin with a simple (hah) little SCV.
First, you'll need the SCV that will change a player's colors:

float MSG_UPDATECOLORS = 17; // was removed from the QC
void(float clientno, float clientshirt, float clientpants) msgUpdateColorsToAll =
{
   WriteByte( MSG_ALL, MSG_UPDATECOLORS );
   WriteByte( MSG_ALL, clientno );
   WriteByte( MSG_ALL, clientshirt * 16 + clientpants );
};
Now, as you know the colors are (self.team - 1). 4 is Red, 13 is Blue. So, what would happen if you pass in 14? Or 15 for that matter?

First, we need a function that will find what an entity's number is. This function finds players and counts them until it finds you.

float(entity ent) GetClientNo =
{
	local float num;
	local entity head;
	num = 0;
	head = find(world, classname, "player");
	while (head != ent)
	{
		num = num + 1;
		head = find(head, classname, "player");
	} 
	if(head == world)
		num = -1;
	return num;
};
Now, for the finishing touches. This func calls GetClientNo() to find out what self's # is, and then politely asks msgUpdateColorsToAll to change self's pants color to 14 and his shirt color to 14. This can be changed if you want either the shirt or pants to be the color of their team by passing in team - 1 instead of 14... or whatever.

void() FlameSkin =
{
	local float clientno;
	clientno = GetClientNo(self);
	msgUpdateColorsToAll(clientno, 14, 14);
	self.team = 15;
};
14 is the flame skin, 15 is a jumbled mess of red specks and stuff. Try it!

Thanks to frika-c for all that scv stuff... I never woulda found this thing if it weren't for my messing around blindly with it :)