PDA

View Full Version : Best way to check if player will stuck in prop_dynamic


SideX
01-05-2012, 05:52
Situation: player wants to spawn prop_dynamic, but if any player will stuck in that prop - don't spawn it. Any ideas?

My version:
...
entity = SpawnProp();
if (CheckStuckInEntity(entity))
AcceptEntityInput(entity, "Kill");

CheckStuckInEntity stock:
bool:CheckStuckInEntity(entity)
{
for (new i=1;i<=MaxClients;i++)
{
if (IsClientInGame(i) && IsPlayerAlive(i) && IsPlayerStuckInEntity(i, entity))
return true;
}
return false;
}

bool:IsPlayerStuckInEntity(iClient, entity)
{
decl Float:vecMin[3], Float:vecMax[3], Float:vecOrigin[3];

GetClientMins(iClient, vecMin);
GetClientMaxs(iClient, vecMax);

GetClientAbsOrigin(iClient, vecOrigin);

TR_TraceHullFilter(vecOrigin, vecOrigin, vecMin, vecMax, MASK_SOLID, TraceEntityFilterNotEntity, entity);

return TR_DidHit();
}

public bool:TraceEntityFilterNotEntity(iEntity, iContentsMask, any:entity)
{
return iEntity == entity;
}

Peace-Maker
01-05-2012, 09:14
You named the filter TraceEntityFilterNotEntity but check if the entity hits itself. Rest looks fine. zombiereloaded has a nice unstuck feature you might want to read through.

Counte
01-06-2012, 08:19
I dont have.