Нет там такого. Возможно, ты имел ввиду message_const.inc или const.h из HLSDK. Кстати, часто необходимо нарисовать луч, имея при этом дробные координаты. В этом случае следует использовать финкцию:
Code |
engfunc(EngFunc_WriteCoord, coord) |
Вот еще одна функция для рисования луча от entity до точки:
Code |
draw_beam(id, ent, const Float:end[3], const RGB[] = {0, 255, 0}) { engfunc(EngFunc_MessageBegin, MSG_ONE, SVC_TEMPENTITY, Float:{0.0, 0.0, 0.0}, id) write_byte(TE_BEAMENTPOINT) write_short(ent) // от какой entity рисовать луч engfunc(EngFunc_WriteCoord, end[0]) // x координата конца луча engfunc(EngFunc_WriteCoord, end[1]) // y координата конца луча engfunc(EngFunc_WriteCoord, end[2]) // z координата конца луча write_short(g_spriteid_laserbeam) // index модели/спрайта луча - получают при прекешировании write_byte(0) // начальный фрейм write_byte(0) // фрэймрэйт write_byte(BEAM_TIME) // время отображения луча в секундах * 10 write_byte(BEAM_WIDTH) // ширина луча write_byte(0) // фактор искажения луча write_byte(RGB[0]) // red составляющая цвета луча write_byte(RGB[1]) // green составляющая цвета луча write_byte(RGB[2]) // blue составляющая цвета луча write_byte(BEAM_BRIGHT) // яркость луча write_byte(0) // скорость вращения луча message_end() } |
И еще можно рисовать луч от "аттача" данной entity. В этом случае entity должна быть "монстром" (игрок, заложник и прочее). "Аттачи" игрока:
0x1000 - правая рука
0x2000 - левая рука
Т.е., например, можно нарисовать луч от правой руки игрока, заменяя write_short(ent) на write_short(ent | 0x1000)