📈MotionGraph

Визуализация скорости (убейте меня)

Информация

Скрипт перенесённый с апишки экспенсива. Переносить с говнистой апишки на нормальную было муторно и я чуть не сдох, пока не понял что я альфу на 0 выставлял у цвета. Так-же пофиксил баг с авто-размером, который они, видимо, не додумались зафиксить. Мой интеллект просто на высоте.

Скрин как выглядит:

Код:

script:name("New Script") -- Имя скрипта
script:devs({"Author"}) -- Разработчики
script:desc("Example Script") -- Описание

local motions = {0, 0}

events.update:set(function(event)
    table.insert(motions, math:hypot(player:motion().x, player:motion().z) * 50 * world:timer())
    if #motions > 110 then
      table.remove(motions, 1)
    end
end)

events.render_2d:set(function(event)
    local width = 110
    local maximum = 15
    for i = 1, #motions do
      motions[i] = math:min(motions[i], 50)
      if maximum < motions[i] then
        maximum = motions[i]
      end
    end
    local x = client:screen_width() / 2 - width / 2
    local y = client:screen_height() - 55
    
    render:blur(x, y - maximum, width - 1, maximum, 1, 10)
    render:rect(x, y - maximum, width - 1, maximum, 1, color.new(1, 1, 1, 0.5))

    gl11:pushMatrix()
    gl11:init()
    gl11:lineWidth(1.5)
    gl11:begin(3)

    for i = 1, #motions do
      gl11:color(client:client_color(i * 10))
      gl11:vertex2d(x + i - 1, y - motions[i])
    end

    gl11:glEnd()
    gl11:finish()
    gl11:popMatrix()
end)

Last updated