Участник
Пользователь
- Сообщения
- 92
- Реакции
- 25
- Помог
- 12 раз(а)
Здравствуйте!
Я заметил, что в различных реализациях механики захвата (граб) используется функция get_tr2(0, TR_vecEndPos, vHitPos), но не могу понять, зачем она нужна.
У меня есть вопрос по функции get_traceline в контексте механики захвата. Какова роль строки get_tr2(0, TR_vecEndPos, vHitPos)? Зачем в этой функции необходимо использовать get_tr2 для получения информации о столкновении?
Если мы уберем TR_vecEndPos, то сможем получить индекс объекта, с которым произошла трассировка, но не сможем получить координаты точки столкновения. В этом случае, зачем нам нужна эта строка?
Спасибо!
Я заметил, что в различных реализациях механики захвата (граб) используется функция get_tr2(0, TR_vecEndPos, vHitPos), но не могу понять, зачем она нужна.
У меня есть вопрос по функции get_traceline в контексте механики захвата. Какова роль строки get_tr2(0, TR_vecEndPos, vHitPos)? Зачем в этой функции необходимо использовать get_tr2 для получения информации о столкновении?
Если мы уберем TR_vecEndPos, то сможем получить индекс объекта, с которым произошла трассировка, но не сможем получить координаты точки столкновения. В этом случае, зачем нам нужна эта строка?
Спасибо!
C++:
public PostThink(const id)
{
static target;
if(g_DataGrabStatus[id][IS_GRAB])
{
static Float: fStartPos[XYZ], Float: fEndPost[XYZ];
get_user_viewofs_origin(id, fStartPos);
fEndPost = get_my_aim(id, 9999);
xs_vec_add(fEndPost, fStartPos, fEndPost);
target = get_traceline(fStartPos, fEndPost, id, fEndPost);
}
}
stock get_traceline(const Float:fStartPos[XYZ], const Float:fEndPos[XYZ], IGNOREED, Float:vHitPos[XYZ])
{
engfunc(EngFunc_TraceLine, fStartPos, fEndPos, DONT_IGNORE_MONSTERS, IGNOREED, 0);
get_tr2(0, TR_vecEndPos, vHitPos);
return get_tr2(0, TR_pHit);
}