I would like to make a plugin to spawn muti-arrow
this is my code:
Code:
public OnEntityCreated(entity, const String:classname[])
{
if (StrEqual(classname, "tf_projectile_arrow"))
{
SDKHook(entity, SDKHook_Spawn, Hook_ArrowSpawn);
}
}
public Hook_ArrowSpawn(entity)
{
new iOwner = GetEntPropEnt(entity, Prop_Data, "m_hOwnerEntity");
for(new i=1; i<=MaxClients; i++)
{
if(IsValidClient(i) && iOwner == i)
{
decl Float:Pos[3], Float:Ang[3];
GetClientAbsOrigin(i, Pos);
GetClientEyeAngles(i, Ang);
new Arrow01 = CreateEntityByName("tf_projectile_arrow");
SetEntDataEnt2(Arrow01, FindSendPropInfo("CTFProjectile_Arrow", "m_hOwnerEntity"), i, true);
SetEntData(Arrow01, FindSendPropInfo("CTFProjectile_Arrow", "m_iTeamNum"), GetClientTeam(i), true);
SetEntDataVector(Arrow01, FindSendPropInfo("CTFProjectile_Arrow", "m_angRotation"), Ang, true);
DispatchSpawn(Arrow01);
new Float:fwd[3], Float:right[3], Float:up[3];
GetEntDataVector(Arrow01, FindSendPropInfo("CTFProjectile_Arrow", "m_angRotation"), Ang);
GetAngleVectors(Ang, fwd, right, up);
ScaleVector(fwd, 800.0);
TeleportEntity(Arrow01, Pos, Ang, fwd);
}
}
}
After I shot the arrow, the server crashed.
Does anyone knows what is the problem?