Синтаксис:
GetEntityFloorDistance(const nEntIndex)
nEntIndex - индекс объекта, от которого будем определять расстояние до пола.
Примечание: если объект на полу, то функция будет возвращать 0.
stock Float:GetEntityFloorDistance(const nEntIndex) {
const COORD_BITS = 16;
const COORD_MULTIPLIER = 8;
const MIN_Z_COORD = -(1 << (COORD_BITS - 1)) / COORD_MULTIPLIER;
// Optimization
if (pev(nEntIndex, pev_flags) & FL_ONGROUND) {
return 0.0;
}
new Float:vecStart[3], Float:vecEnd[3];
pev(nEntIndex, pev_origin, vecStart);
vecEnd = vecStart;
vecEnd[2] = float(MIN_Z_COORD);
engfunc(EngFunc_TraceMonsterHull, nEntIndex, vecStart, vecEnd, DONT_IGNORE_MONSTERS, nEntIndex, 0);
get_tr2(0, TR_vecEndPos, vecEnd);
return vecStart[2] - vecEnd[2];
}
Автор: PRoSToTeM@
Источник: amx-x.ru