Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

LUA скрипт [ Spirthack ] Nazi Crosshair

  • Автор темы Автор темы Mased
  • Дата начала Дата начала
Участник
Участник
Статус
Оффлайн
Регистрация
14 Сен 2019
Сообщения
862
Реакции
248
Вообщем оплатил себе спирт, было нечего делать, решил луашку переделать.
Просьба не бить палками, впервые к луа прикасаюсь
1635505118287.png

>>
Пожалуйста, авторизуйтесь для просмотра ссылки.
<<

C++:
Expand Collapse Copy
local function DEG2RAD(x) return x * math.pi / 180 end
local function RAD2DEG(x) return x * 180 / math.pi end
 
local function hsv2rgb(h, s, v, a)
    local r, g, b
 
    local i = math.floor(h * 6);
    local f = h * 6 - i;
    local p = v * (1 - s);
    local q = v * (1 - f * s);
    local t = v * (1 - (1 - f) * s);
 
    i = i % 6
 
    if i == 0 then r, g, b = v, t, p
    elseif i == 1 then r, g, b = q, v, p
    elseif i == 2 then r, g, b = p, v, t
    elseif i == 3 then r, g, b = p, q, v
    elseif i == 4 then r, g, b = t, p, v
    elseif i == 5 then r, g, b = v, p, q
    end
 
    return r * 999, g * 999, b * 999, a * 999
end
 
local rainbow = 0.00
local rotationdegree = 0.000;
 
local function draw_svaston(x, y, size)
    local frametime = GlobalVars.frametime
    local a = size / 60
    local gamma = math.atan(a / a)
    rainbow = rainbow + (frametime * 0.5)
    if rainbow > 1.0 then rainbow = 0.0 end
    if rotationdegree > 89 then rotationdegree = 0 end
 
    for i = 0, 4 do 
        local p_0 = (a * math.sin(DEG2RAD(rotationdegree + (i * 90))))
        local p_1 = (a * math.cos(DEG2RAD(rotationdegree + (i * 90))))
        local p_2 =((a / math.cos(gamma)) * math.sin(DEG2RAD(rotationdegree + (i * 90) + RAD2DEG(gamma))))
        local p_3 =((a / math.cos(gamma)) * math.cos(DEG2RAD(rotationdegree + (i * 90) + RAD2DEG(gamma))))
 
        Render.Line(Vector2.new(x, y), Vector2.new(x + p_0, y - p_1), Color.new(hsv2rgb(rainbow, 1, 1, 1)))
        Render.Line(Vector2.new(x + p_0, y - p_1), Vector2.new(x + p_2, y - p_3), Color.new(hsv2rgb(rainbow, 1, 1, 1)))
    end
    rotationdegree = rotationdegree + (frametime * 150)
end
 
local sieg_heil = Menu.Switch("Crosshair", "Toggle", false)
local crossalpha = CVar.FindVar("cl_crosshairalpha"):GetString()
 
local function on_paint()
  local screen = EngineClient:GetScreenSize()
 
  if not EngineClient.IsConnected() then
    return
  end
 
  if(sieg_heil:Get()) then
        CVar.FindVar("cl_crosshairalpha"):SetInt(0)
        draw_svaston(screen.x / 2, screen.y / 2, screen.y /2)
  else
        EngineClient.ExecuteClientCmd("cl_crosshairalpha " .. crossalpha)
  end
end
 
cheat.RegisterCallback("draw", on_paint)
Cheat.RegisterCallback("destroy", function()
    EngineClient.ExecuteClientCmd("cl_crosshairalpha " .. crossalpha)
end)
 
Последнее редактирование:
Вообщем оплатил себе спирт, было нечего делать, решил луашку переделать.
Просьба не бить палками, впервые к луа прикасаюсь

>>
Пожалуйста, авторизуйтесь для просмотра ссылки.
<<

C++:
Expand Collapse Copy
local function DEG2RAD(x) return x * math.pi / 180 end
local function RAD2DEG(x) return x * 180 / math.pi end

local function hsv2rgb(h, s, v, a)
    local r, g, b

    local i = math.floor(h * 6);
    local f = h * 6 - i;
    local p = v * (1 - s);
    local q = v * (1 - f * s);
    local t = v * (1 - (1 - f) * s);

    i = i % 6

    if i == 0 then r, g, b = v, t, p
    elseif i == 1 then r, g, b = q, v, p
    elseif i == 2 then r, g, b = p, v, t
    elseif i == 3 then r, g, b = p, q, v
    elseif i == 4 then r, g, b = t, p, v
    elseif i == 5 then r, g, b = v, p, q
    end

    return r * 999, g * 999, b * 999, a * 999
end

local rainbow = 0.00
local rotationdegree = 0.000;
local crossalpha = CVar.FindVar("cl_crosshairalpha"):GetString()

local function draw_svaston(x, y, size)
    local frametime = GlobalVars.frametime
    local a = size / 60
    local gamma = math.atan(a / a)
    rainbow = rainbow + (frametime * 0.5)
    if rainbow > 1.0 then rainbow = 0.0 end
    if rotationdegree > 89 then rotationdegree = 0 end

    for i = 0, 4 do
        local p_0 = (a * math.sin(DEG2RAD(rotationdegree + (i * 90))))
        local p_1 = (a * math.cos(DEG2RAD(rotationdegree + (i * 90))))
        local p_2 =((a / math.cos(gamma)) * math.sin(DEG2RAD(rotationdegree + (i * 90) + RAD2DEG(gamma))))
        local p_3 =((a / math.cos(gamma)) * math.cos(DEG2RAD(rotationdegree + (i * 90) + RAD2DEG(gamma))))

        Render.Line(Vector2.new(x, y), Vector2.new(x + p_0, y - p_1), Color.new(hsv2rgb(rainbow, 1, 1, 1)))
        Render.Line(Vector2.new(x + p_0, y - p_1), Vector2.new(x + p_2, y - p_3), Color.new(hsv2rgb(rainbow, 1, 1, 1)))
    end
    rotationdegree = rotationdegree + (frametime * 150)
end

local sieg_heil = Menu.Switch("Crosshair", "Toggle", false)

local function on_paint()
  local screen = EngineClient:GetScreenSize()

  if not EngineClient.IsConnected() then
    return
  end

  if(sieg_heil:Get()) then
        EngineClient.ExecuteClientCmd("cl_crosshairalpha 0")
        draw_svaston(screen.x / 2, screen.y / 2, screen.y /2)
  else
        EngineClient.ExecuteClientCmd("cl_crosshairalpha " .. crossalpha)
  end
end

cheat.RegisterCallback("draw", on_paint)
Cheat.RegisterCallback("destroy", function()
    EngineClient.ExecuteClientCmd("cl_crosshairalpha " .. crossalpha)
end)
nice фашист, держи :roflanPominki:
 
nice фашист, держи :roflanPominki:
захотелось кинуть плотную зигу, но одумался.
Вообщем оплатил себе спирт, было нечего делать, решил луашку переделать.
Просьба не бить палками, впервые к луа прикасаюсь

>>
Пожалуйста, авторизуйтесь для просмотра ссылки.
<<

C++:
Expand Collapse Copy
local function DEG2RAD(x) return x * math.pi / 180 end
local function RAD2DEG(x) return x * 180 / math.pi end

local function hsv2rgb(h, s, v, a)
    local r, g, b

    local i = math.floor(h * 6);
    local f = h * 6 - i;
    local p = v * (1 - s);
    local q = v * (1 - f * s);
    local t = v * (1 - (1 - f) * s);

    i = i % 6

    if i == 0 then r, g, b = v, t, p
    elseif i == 1 then r, g, b = q, v, p
    elseif i == 2 then r, g, b = p, v, t
    elseif i == 3 then r, g, b = p, q, v
    elseif i == 4 then r, g, b = t, p, v
    elseif i == 5 then r, g, b = v, p, q
    end

    return r * 999, g * 999, b * 999, a * 999
end

local rainbow = 0.00
local rotationdegree = 0.000;
local crossalpha = CVar.FindVar("cl_crosshairalpha"):GetString()

local function draw_svaston(x, y, size)
    local frametime = GlobalVars.frametime
    local a = size / 60
    local gamma = math.atan(a / a)
    rainbow = rainbow + (frametime * 0.5)
    if rainbow > 1.0 then rainbow = 0.0 end
    if rotationdegree > 89 then rotationdegree = 0 end

    for i = 0, 4 do
        local p_0 = (a * math.sin(DEG2RAD(rotationdegree + (i * 90))))
        local p_1 = (a * math.cos(DEG2RAD(rotationdegree + (i * 90))))
        local p_2 =((a / math.cos(gamma)) * math.sin(DEG2RAD(rotationdegree + (i * 90) + RAD2DEG(gamma))))
        local p_3 =((a / math.cos(gamma)) * math.cos(DEG2RAD(rotationdegree + (i * 90) + RAD2DEG(gamma))))

        Render.Line(Vector2.new(x, y), Vector2.new(x + p_0, y - p_1), Color.new(hsv2rgb(rainbow, 1, 1, 1)))
        Render.Line(Vector2.new(x + p_0, y - p_1), Vector2.new(x + p_2, y - p_3), Color.new(hsv2rgb(rainbow, 1, 1, 1)))
    end
    rotationdegree = rotationdegree + (frametime * 150)
end

local sieg_heil = Menu.Switch("Crosshair", "Toggle", false)

local function on_paint()
  local screen = EngineClient:GetScreenSize()

  if not EngineClient.IsConnected() then
    return
  end

  if(sieg_heil:Get()) then
        EngineClient.ExecuteClientCmd("cl_crosshairalpha 0")
        draw_svaston(screen.x / 2, screen.y / 2, screen.y /2)
  else
        EngineClient.ExecuteClientCmd("cl_crosshairalpha " .. crossalpha)
  end
end

cheat.RegisterCallback("draw", on_paint)
Cheat.RegisterCallback("destroy", function()
    EngineClient.ExecuteClientCmd("cl_crosshairalpha " .. crossalpha)
end)
Кста нах делать функции DEGTORAD и RADTODEG если оно есть в math?
local sieg_heil = Menu.Switch("Crosshair", "Toggle", false)
патриотично)))0)0)
 
EngineClient.ExecuteClientCmd("cl_crosshairalpha 0")
и зачем постоянно вводить альфу? это кушает фпс, можно же сделать
CVar.FindVar("cl_crosshairalpha"):SetInt(0) (если не ошибаюсь, ибо то апи не до конца знаю)
 
и зачем постоянно вводить альфу? это кушает фпс, можно же сделать
CVar.FindVar("cl_crosshairalpha"):SetInt(0) (если не ошибаюсь, ибо то апи не до конца знаю)
Кста нах делать функции DEGTORAD и RADTODEG если оно есть в math?
Вопросы не ко мне, а к создателю луашки. Я всего лишь переписал.
Могу переделать, но у меня просадок не наблюдалось
 
и зачем постоянно вводить альфу? это кушает фпс, можно же сделать
CVar.FindVar("cl_crosshairalpha"):SetInt(0) (если не ошибаюсь, ибо то апи не до конца знаю)
Вообщем сделал так, остальное не знаю. В math я ещё не лез
Да и не буду скорее всего. Просто переделал для юзеров скрипт
 
Назад
Сверху Снизу