А в прочем, зачем это вам?
В итоге получается разная высота/толщина.
bool:IsClientStuck(iClient)
{
decl Float:vMin[3], Float:vMax[3], Float:vOrigin[3];
GetClientMins(iClient, vMin);
GetClientMaxs(iClient, vMax);
GetClientAbsOrigin(iClient, vOrigin);
TR_TraceHullFilter(vOrigin, vOrigin, vMin, vMax, MASK_PLAYERSOLID, TraceRay_DontHitSelf, iClient);
return TR_DidHit();
}
public bool:TraceRay_DontHitSelf(iEntity, iMask, any:data)
{
return (iEntity != data);
}
return (iEntity != data);
return (iEntity > MaxClients || iEntity <= 0);
Проще один раз на карте приподнять все точки респавна (высота - origin[2]).ловит спаун игрока и определяет, появился ли он НА поверхности, а не в ней
Если краешком застрял, разве правильно сработает?если что-то ей мешает, то она сообщает об этом
Мне кажется, что она неправильно сработает как раз в противоположном случае, т.к. сверяется объем на столкновение, но если объем больше модели, и как раз он сталкивается, а модель нет, то будет возвращен true, хотя модели ничего не мешает.Если краешком застрял, разве правильно сработает?
Проще один раз на карте приподнять все точки респавна (высота - origin[2]).
TR_TraceHull
Наверное, это для TR_TraceRayFilter краем.как раз в противоположном случае
Не знаю таких проблем. В CS:S обычно так и рекомендуют - приподнять точку спавна, если бывает, что проваливаешься под землю.дисковая пила плашмя