Code:
static bool:IsSurvivorThirdPerson(iClient)
{
if(bThirdPerson[iClient]) //FOR THIRDPERSON COMMAND
return true;
if(GetEntPropFloat(iClient, Prop_Send, "m_TimeForceExternalView") > 0) //FOR THIRDPERSON
return true;
if(GetEntPropFloat(iClient, Prop_Send, "m_staggerTimer", 1) > -1.0) //FOR STAGGER
return true;
if(GetEntPropEnt(iClient, Prop_Send, "m_tongueOwner") > 0) //FOR SMOKER
return true;
if(GetEntPropEnt(iClient, Prop_Send, "m_pounceAttacker") > 0) //FOR HUNTER
return true;
if(GetEntProp(iClient, Prop_Send, "m_isHangingFromLedge") > 0) //FOR LEDGE
return true;
if(GetEntPropEnt(iClient, Prop_Send, "m_isIncapacitated") > 0) //FOR INCAP
return true;
/*FOR L4D2 ONLY*/
if(GetEntPropEnt(iClient, Prop_Send, "m_reviveTarget") > 0) //FOR HELPING SOMEONE
return true;
decl String:sModel[64];
GetEntPropString(iClient, Prop_Data, "m_ModelName", sModel, sizeof(sModel));
switch(sModel[29])
{
case 'v'://bill
{
switch(GetEntProp(iClient, Prop_Send, "m_nSequence"))
{
case 528, 759, 763, 764, 529, 530, 531, 532, 533, 534, 753:
return true;
}
}
case 'n'://zoey
{
switch(GetEntProp(iClient, Prop_Send, "m_nSequence"))
{
case 537, 819, 823, 824, 538, 539, 540, 541, 542, 543, 813:
return true;
}
}
case 'e'://francis
{
switch(GetEntProp(iClient, Prop_Send, "m_nSequence"))
{
case 531, 762, 766, 767, 532, 533, 534, 535, 536, 537, 756:
return true;
}
}
case 'a'://louis
{
switch(GetEntProp(iClient, Prop_Send, "m_nSequence"))
{
case 528, 759, 763, 764, 529, 530, 531, 532, 533, 534, 753:
return true;
}
}
}
return false;
}
and the sequences you would have to get the l4d1 sequences