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