Участник
Пользователь
- Сообщения
- 899
- Реакции
- 150
- Помог
- 25 раз(а)
Здравствуйте, есть кусок кода:
Суть такая: Во время взрыва гранаты я получаю координаты гранаты и игрока, и затем задаю игроку координаты гранаты (Грубо говоря - телепорт).
Но вот есть 1 проблема, игрок застревает в текстурах.
Пытался поправить застревание через цикл while:
Только вопрос. Какие координаты мне нужно получать? Ведь по сути я задаю координаты гранаты, мне нужно с ними именно работать?
C++:
explodeNade(const grenade) {
new id = get_entvar(grenade, var_owner), Float:flOriginPlayer[3], Float:flOriginNade[3];
get_entvar(grenade, var_origin, flOriginNade);
get_entvar(id, var_origin, flOriginPlayer);
set_entvar(id, var_origin, flOriginNade);
rh_emit_sound2(id, 0, CHAN_WEAPON, "weapons/heal.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
UTIL_ScreenFade(id);
destroyNade(grenade);
}
Но вот есть 1 проблема, игрок застревает в текстурах.
Пытался поправить застревание через цикл while:
C++:
new iVacant;
while(!iVacant) {
iVacant = is_hull_vacant(flOriginPlayer, HULL_HUMAN);
flOriginPlayer[1] += 5.0;
}
if(iVacant)
set_entvar(id, var_origin, flOriginNade);
stock bool:is_hull_vacant(Float:origin[3], hull) {
new tr = 0;
engfunc(EngFunc_TraceHull,origin,origin,0,hull,0,tr);
if(!get_tr2(tr,TR_StartSolid) && !get_tr2(tr,TR_AllSolid) && get_tr2(tr,TR_InOpen))
return true;
return false;
}