My newly revised GaitSequence esp func.. creds to boecke and RedGhost.
Globals...
//CStrike Sequence Info
int Cstrike_SequenceInfo[] = {
0,0,1,2,3,4,5,5,6,6
};
enum {
SEQUENCE_STANDING = 0,
SEQUENCE_CROUCHING = 1,
SEQUENCE_WALKING = 2,
SEQUENCE_RUNNING = 3,
SEQUENCE_CROUCH_RUNNING = 4,
SEQUENCE_JUMPING = 5,
SEQUENCE_SWIMMING = 6
};
char* gsESP[] = { "Standing", "Crouching", "Walking", "Running", "CrouchRunning", "Jumping!", "Swimming" };
Anywhere..
void GaitSequenceEsp()
{
float drawhere[2];
int espr, espg, espb;
char nbuf[1024];
cl_entity_t *ent, *pLocal = pEngfuncs->GetLocalPlayer();
hud_player_info_t pinfo;
for(int i = 0; i < 33; i++)
{
int atype = Cstrike_SequenceInfo[ent->curstate.gaitsequence];
if(i == pLocal->index)
continue;
cl_entity_s *ent = pEngfuncs->GetEntityByIndex(i);
pEngfuncs->pfnGetPlayerInfo(i, &pinfo);
if(ent != NULL && bIsValidEnt(ent))
{
CalcScreen(ent->origin, drawhere);
int namelen;
namelen = strlen(nbuf);
sprintf(nbuf, "%s", pinfo.name);
if(strstr(pinfo.model, "arctic") || strstr(pinfo.model, "guerilla") || strstr(pinfo.model, "leet") || strstr(pinfo.model, "terror"))
{
espr = 255;
espg = 0;
espb = 0;
}
else if(strstr(pinfo.model, "sas") || strstr(pinfo.model, "gign") || strstr(pinfo.model, "gsg9") || strstr(pinfo.model, "urban") || strstr(pinfo.model, "vip"))
{
espr = 0;
espg = 0;
espb = 255;
}
HUD_DrawString(drawhere[0]-namelen * 2, drawhere[1] - 140, espr, espg, espb, "-%s-", gsESP[atype]);
}
}
}
Call in HUD_Redraw or every fifth viewport.
Not tested.