Tracers
-- Функция, которая возвращает имя для Tracers
function setName()
return "Tracers"
end
-- Событие для рисования трассировки объектов в мире
function onWorldDrawing(matrix)
-- Получение списка всех сущностей в мире
entitiesList = world.getEntities()
-- Установка OpenGL-настроек
gl11.pushMatrix()
gl11.enable(3042)
gl11.disable(3553)
gl11.disable(2929)
-- Получение направления взгляда игрока
x = player.getLook(150)[1]
y = player.getLook(150)[2]
z = player.getLook(150)[3]
-- Перебор всех сущностей в мире
for i = 1, #entitiesList do
entity = entitiesList[i]
-- Проверка, является ли сущность игроком
if entity:is("player") then
-- Проверка, что это не текущий игрок (не "я")
if not entity:is("me") then
-- Вычисление позиции игрока относительно камеры
playerX = entity:getX() - project.getX()
playerY = entity:getY() - project.getY()
playerZ = entity:getZ() - project.getZ()
-- Установка цвета трассера (белый)
gl11.color(-1)
-- Начало рисования линии
gl11.begin(3)
gl11.vertex3d(x, y, z) -- Начальная точка (позиция камеры)
gl11.vertex3d(playerX, playerY, playerZ) -- Конечная точка (позиция игрока)
gl11.glEnd() -- Завершение рисования линии
end
end
end
-- Включение настроек OpenGL
gl11.enable(3553)
gl11.enable(2929)
gl11.popMatrix()
end
Last updated