| Как узнать точку прицела entity? | 
|  | 
| 
| tonline_kms65 | Дата: Понедельник, 01.08.2016, 20:10:07 | Сообщение # 1 |  |   
|  |  | Сообщений: 215 Репутация: 3 [ +/- ]
 |  | Всем приветТакой вопрос появился - есть ли функция определения прицела энтити. Наподобие определения прицела у игрока
 
 
 
 Как можно применить событие event к энтити? Возможно ли такое?
 
 
 Сообщение отредактировал tonline_kms65 - Понедельник, 01.08.2016, 20:11:50 |  |  |  |  | 
| 
| SourceSamil | Дата: Понедельник, 01.08.2016, 20:36:43 | Сообщение # 2 |  |   
|  |  | Сообщений: 237 Репутация:  [ +/- ]
 |  | GetEyeAngles + трасировка по углу |  |  |  |  | 
| 
| tonline_kms65 | Дата: Понедельник, 01.08.2016, 22:43:10 | Сообщение # 3 |  |   
|  |  | Сообщений: 215 Репутация: 3 [ +/- ]
 |  | Цитата SourceSamil (  ) GetEyeAngles + трасировка по углу
 GetEyeAngles - это что? Вообще не нахожу такого.
 Похожее GetClientEyePosition это для игрока.
 
 Если ты имеешь в виду так - получаем углы энтити, строим от угла вектор, трассируем (TR_TraceRayFilter), - как определить саму конечную точку? Например смотрим на стену (стена точно не энтити).
 Кусок кода есть?
 |  |  |  |  | 
| 
| SourceSamil | Дата: Вторник, 02.08.2016, 08:44:18 | Сообщение # 4 |  |   
|  |  | Сообщений: 237 Репутация:  [ +/- ]
 |  | decl Float: fAngles[ 3 ];GetClientEyeAngles(iClient, fAngles );
 TR_TraceRayFilter(Эту позицию задашь сам, ее найдешь путем тестов с Origin +- xyz, fAngles, MASK_SOLID, RayType_Infinite, TraceRay_DontHimself, iClient );
 
 public bool: TraceRay_DontHimself ( iEnity, iMask, any: iClient )
 return iEnity != iClient;
 |  |  |  |  | 
| 
| хвостег | Дата: Вторник, 02.08.2016, 08:50:28 | Сообщение # 5 |  |   
|  |  | Сообщений: 161 Репутация: 53 [ +/- ]
 |  | Код stock GetClientAimPosition(client, Float:origin[3])
 {
 decl Float:angles[3];
 GetClientEyePosition(client, origin);
 GetClientEyeAngles(client,   angles);
 
 TR_TraceRayFilter(origin, angles, MASK_SOLID, RayType_Infinite, Trace_FilterPlayers, client);
 
 if(TR_DidHit(INVALID_HANDLE))
 TR_GetEndPosition(origin, INVALID_HANDLE);
 }
 
 public bool:Trace_FilterPlayers(entity, contentsMask, any:data)
 {
 if(entity != data && entity > MaxClients)
 return true;
 return false;
 }
 |  |  |  |  | 
| 
| SourceSamil | Дата: Вторник, 02.08.2016, 12:27:20 | Сообщение # 6 |  |   
|  |  | Сообщений: 237 Репутация:  [ +/- ]
 |  | Вот, точно, Хвостег, а я вспоминал, где я мог видеть то, что ему нужно(= |  |  |  |  |