Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- stock check_way(const iMonster, const Float:vecFrom[3], const Float:vecTo[3], const iTarget)
- {
- static Float:vecWay[3], Float:wayAngles[3], Float:vecMove[3]
- xs_vec_sub(vecTo, vecFrom, vecWay)
- vector_to_angle(vecWay, wayAngles)
- angle_vector(wayAngles, ANGLEVECTOR_FORWARD, vecMove)
- xs_vec_normalize(vecMove, vecMove)
- xs_vec_mul_scalar(vecMove, 128.0, vecMove)
- xs_vec_add(vecFrom, vecMove, vecMove)
- static Float:flFraction, pHit
- static iTr
- iTr=create_tr2()
- engfunc(EngFunc_TraceMonsterHull, iMonster, vecFrom, vecMove, DONT_IGNORE_MONSTERS, iMonster, iTr)
- //engfunc(EngFunc_TraceHull, vecFrom, vecMove, DONT_IGNORE_MONSTERS, HULL_HUMAN, iMonster, iTr)
- //test_line(vecFrom, vecMove)
- get_tr2(iTr, TR_flFraction, flFraction)
- pHit=get_tr2(iTr, TR_pHit)
- free_tr2(iTr)
- //client_print(0, print_chat, "0 %f", flFraction)
- if(flFraction!=1.0&&pHit!=iTarget)
- {
- static Float:temp, Float:tempVec[3]
- wayAngles[1]+=30.0
- angle_vector(wayAngles, ANGLEVECTOR_FORWARD, vecMove)
- xs_vec_normalize(vecMove, vecMove)
- xs_vec_mul_scalar(vecMove, 128.0, vecMove)
- xs_vec_add(vecFrom, vecMove, vecMove)
- iTr=create_tr2()
- engfunc(EngFunc_TraceHull, vecFrom, vecMove, DONT_IGNORE_MONSTERS, HULL_HUMAN, iMonster, iTr)
- //test_line(vecFrom, vecMove)
- xs_vec_copy(vecMove, tempVec)
- get_tr2(iTr, TR_flFraction, flFraction)
- pHit=get_tr2(iTr, TR_pHit)
- temp=flFraction
- free_tr2(iTr)
- //client_print(0, print_chat, "1 %f", flFraction)
- wayAngles[1]-=60.0
- angle_vector(wayAngles, ANGLEVECTOR_FORWARD, vecMove)
- xs_vec_normalize(vecMove, vecMove)
- xs_vec_mul_scalar(vecMove, 128.0, vecMove)
- xs_vec_add(vecFrom, vecMove, vecMove)
- iTr=create_tr2()
- engfunc(EngFunc_TraceHull, vecFrom, vecMove, DONT_IGNORE_MONSTERS, HULL_HUMAN, iMonster, iTr)
- //test_line(vecFrom, vecMove)
- get_tr2(iTr, TR_flFraction, flFraction)
- pHit=get_tr2(iTr, TR_pHit)
- free_tr2(iTr)
- //client_print(0, print_chat, "2 %f", flFraction)
- if(temp>flFraction)
- SetMonsterMoveLoc(iMonster, tempVec)
- else
- SetMonsterMoveLoc(iMonster, vecMove)
- }
- else
- SetMonsterMoveLoc(iMonster, vecTo)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement