• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

LUA скрипт [GS] Velocity indicator

Посрал
Участник
Участник
Статус
Оффлайн
Регистрация
28 Ноя 2020
Сообщения
528
Реакции
153
Индикатор чисто для прикола.
Кринжкод присутствует, т.к луашки не пишу.
Пожалуйста, авторизуйтесь для просмотра ссылки.



code_language.lua:
Expand Collapse Copy
local masterswitch = ui.new_checkbox("LUA", "B", "Enable velocity indicator")
local styleswitch = ui.new_combobox("LUA", "B", "Setting when standing", {"0", "STAND"})
local on_vel = ui.new_checkbox("LUA", "B", "Display while velocity > 0")

local function enable()
  ui.set_visible(styleswitch, ui.get(masterswitch) and not ui.get(on_vel))
  ui.set_visible(on_vel, ui.get(masterswitch))
end

local function round(value)
    return math.floor(value + 0.5)
end

local function interpolation(speed, minSpeed, maxSpeed, minColor, maxColor)
    local factor = (speed - minSpeed) / (maxSpeed - minSpeed)
    factor = math.max(0, math.min(1, factor))

    local r = minColor[1] + (maxColor[1] - minColor[1]) * factor
    local g = minColor[2] + (maxColor[2] - minColor[2]) * factor
    local b = minColor[3] + (maxColor[3] - minColor[3]) * factor

    return r, g, b
end

local function paintInd()
    if not ui.get(masterswitch) then
      return
    end

    local get_local_player = entity.get_local_player()

    if not get_local_player then
      return
    end

    local velocity_x = entity.get_prop(get_local_player, "m_vecVelocity[0]")
    local velocity_y = entity.get_prop(get_local_player, "m_vecVelocity[1]")
    local speed = math.sqrt(velocity_x^2 + velocity_y^2)

    local minSpeed = 0
    local maxSpeed = 225
    local colors = {
        {208, 208, 208},
        {255, 0, 50}, --red
        {225, 165, 0}, --green
        {150, 195, 25} --blue
    }

    local r, g, b
    if speed <= 100 then
        r, g, b = interpolation(speed, minSpeed, 100, colors[1], colors[2])
    elseif speed <= 200 then
        r, g, b = interpolation(speed, 100, 200, colors[2], colors[3])
    else
        r, g, b = interpolation(speed, 200, maxSpeed, colors[3], colors[4])
    end



    if ui.get(on_vel) and round(speed) <= 1 then
      return
    end

    if round(speed) <= 1 then
      renderer.indicator(r, g, b, 255, "VELOCITY: " .. ui.get(styleswitch))
    else
      renderer.indicator(r, g, b, 255, "VELOCITY: " .. round(speed))
    end
end

client.set_event_callback("paint", enable)
client.set_event_callback("paint", paintInd)
 

Похожие темы

Назад
Сверху Снизу