Give nades random direction depending on players movement speed
PHP Code:
#include <sourcemod>
#include <sdktools>
#include <smlib>
public OnEntityCreated(entity, const String:classname[])
{
if (StrEqual(classname, "hegrenade_projectile"))
{
CreateTimer(0.0, Timer_Random, entity, TIMER_FLAG_NO_MAPCHANGE);
}
if (StrEqual(classname, "flashbang_projectile"))
{
CreateTimer(0.0, Timer_Random, entity, TIMER_FLAG_NO_MAPCHANGE);
}
if (StrEqual(classname, "smokegrenade_projectile"))
{
CreateTimer(0.0, Timer_Random, entity, TIMER_FLAG_NO_MAPCHANGE);
}
}
public Action:Timer_Random(Handle:Timer, any:entity)
{
if(IsValidEntity(entity))
{
new client = GetEntPropEnt(entity, Prop_Send, "m_hOwnerEntity");
decl Float:fVelp[3];
new Float:currentspeed;
new Float:RandomMult;
if(Client_IsValid(client, true))
{
Entity_GetAbsVelocity(client, fVelp);
currentspeed = SquareRoot(Pow(fVelp[0],2.0)+Pow(fVelp[1],2.0));
RandomMult = currentspeed+1.0 / 2.0;
}
decl Float:fVeln[3];
Entity_GetAbsVelocity(entity, fVeln);
fVeln[1] += GetRandomFloat(RandomMult*(-1.0), RandomMult);
fVeln[0] += GetRandomFloat(RandomMult*(-1.0), RandomMult);
TeleportEntity(entity, NULL_VECTOR, NULL_VECTOR, fVeln);
}
return Plugin_Handled;
}
__________________