PHP Code:
public OnMapStart()
{
PrecacheModel("models/infected/hulk.mdl");
}
public Event_TankSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
new TankID = GetEventInt(event, "tankid");
TankGlow(TankID);
}
TankGlow(tank)
{
decl Float:TPos[3], Float:TAng[3], String:TTeam[4];
GetEntPropVector(tank, Prop_Data, "m_vecOrigin", TPos);
GetEntPropVector(tank, Prop_Send, "m_angRotation", TAng);
new prop = CreateEntityByName("prop_glowing_object");
if (prop != 1) {
DispatchKeyValue(prop, "model", "models/infected/hulk.mdl");
DispatchKeyValue(prop, "StartGlowing", "1");
GetConVarString(hWGlowTeam, TTeam, sizeof(TTeam));
DispatchKeyValue(prop, "GlowForTeam", TTeam);
DispatchKeyValue(prop, "DefaultAnim", "Idle_Yell_short");//Victory Idle_Yell Idle_Yell_short
DispatchKeyValue(prop, "fadescale", "1");
DispatchKeyValue(prop, "fademindist", "1000");
DispatchKeyValue(prop, "fademaxdist", "1000");
DispatchSpawn(prop);
TeleportEntity(prop, TPos, TAng, NULL_VECTOR);
SetEntityRenderFx(prop, RENDERFX_FADE_FAST);
ActivateEntity(prop);
SetVariantString("!activator");
AcceptEntityInput(prop, "SetParent", tank);
SetVariantString("!activator");
AcceptEntityInput(prop, "SetAttached", tank);
tankGlowEnt[tank] = EntIndexToEntRef(prop);
TankTimer[tank] = CreateTimer(0.1, TankAnim, tank, TIMER_REPEAT | TIMER_FLAG_NO_MAPCHANGE);
}
}
public Action:TankAnim(Handle:timer, any:tank)
{
if (IsValidEntity(tank) && IsValidEntRef(tankGlowEnt[tank])) {
//decl Float:fPosePam[8], Float:fCycle;
decl Float:fPosePam, Float:fCycle;
new Sequence, AnimTime;
fCycle = GetEntPropFloat( tank, Prop_Send, "m_flCycle");//
Sequence = GetEntProp(tank, Prop_Send, "m_nSequence");//
AnimTime = GetEntProp( tank, Prop_Send, "m_flAnimTime"); //
SetEntPropFloat(tankGlowEnt[tank], Prop_Send, "m_flCycle", fCycle);
SetEntProp(tankGlowEnt[tank], Prop_Send, "m_nSequence", Sequence);
SetEntProp(tankGlowEnt[tank], Prop_Send, "m_flAnimTime", AnimTime);
}
else
{
if (IsValidEntRef(tankGlowEnt[tank])){
AcceptEntityInput(tankGlowEnt[tank], "Kill");
tankGlowEnt[tank] = 0;
}
return Plugin_Stop;
}
return Plugin_Continue;
}