Ищу скрипт Ищу сурсы кебиндов на нл в3!!

ryo
Пользователь
Статус
Оффлайн
Регистрация
4 Июн 2021
Сообщения
327
Реакции[?]
113
Поинты[?]
2K
Начинающий
Статус
Оффлайн
Регистрация
18 Окт 2022
Сообщения
37
Реакции[?]
3
Поинты[?]
0
бля ну ник его в нле мне скажите...
хотя если вы не знаете как написать КЕЙБИНДЫ то что вы вообще тогда можете
У него спрашивай ево ник, и умеет ли он писать кейбинды. Но по шапке понятно что он не умеет делать их
бля ну ник его в нле мне скажите...
хотя если вы не знаете как написать КЕЙБИНДЫ то что вы вообще тогда можете
Ему они нужны либо (учить и написать свои что мало вероятно) либо (для супермега корда)
 
Начинающий
Статус
Оффлайн
Регистрация
30 Апр 2022
Сообщения
194
Реакции[?]
8
Поинты[?]
1K
Забаненный
Статус
Оффлайн
Регистрация
4 Май 2021
Сообщения
228
Реакции[?]
39
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
19 Май 2021
Сообщения
55
Реакции[?]
4
Поинты[?]
3K
Код:
--menu
ui.sidebar("\a85AFFFC8Solus UI", "heart")
local group2 = ui.create("\a85AFFFC8Solus UI", "\a85AFFFC8Information")
local group = ui.create("\a85AFFFC8Solus UI", "\a85AFFFC8Solus UI")
local text1 = group2:label("\a85AFFFC8Better Solus UI\n\a85AFFFC8Creator: \aCBCBCBC8Pikaz#0444\n\a85AFFFC8Bugs, suggestions - in dm.") --\aE9E9E9C8
discord = group2:button("Join owner's discord channel", function()
    panorama.SteamOverlayAPI.OpenExternalBrowserURL("https://discord.gg/yXUNrR8")
end)

local solus_select = group:selectable("Select", {'Watermark', 'Keybinds', 'Choke indication', 'Client information'}, 0)
local solus_ref = solus_select:create()
local blur_switch = solus_ref:switch("Blur / transp.", false)
local color_picker = solus_ref:color_picker("Accent color", color(107, 139, 255, 255))
local custom_name = group:input("Username", ""..common.get_username().."")

--locals
local tween=(function()local a={}local b,c,d,e,f,g,h=math.pow,math.sin,math.cos,math.pi,math.sqrt,math.abs,math.asin;local function i(j,k,l,m)return l*j/m+k end;local function n(j,k,l,m)return l*b(j/m,2)+k end;local function o(j,k,l,m)j=j/m;return-l*j*(j-2)+k end;local function p(j,k,l,m)j=j/m*2;if j<1 then return l/2*b(j,2)+k end;return-l/2*((j-1)*(j-3)-1)+k end;local function q(j,k,l,m)if j<m/2 then return o(j*2,k,l/2,m)end;return n(j*2-m,k+l/2,l/2,m)end;local function r(j,k,l,m)return l*b(j/m,3)+k end;local function s(j,k,l,m)return l*(b(j/m-1,3)+1)+k end;local function t(j,k,l,m)j=j/m*2;if j<1 then return l/2*j*j*j+k end;j=j-2;return l/2*(j*j*j+2)+k end;local function u(j,k,l,m)if j<m/2 then return s(j*2,k,l/2,m)end;return r(j*2-m,k+l/2,l/2,m)end;local function v(j,k,l,m)return l*b(j/m,4)+k end;local function w(j,k,l,m)return-l*(b(j/m-1,4)-1)+k end;local function x(j,k,l,m)j=j/m*2;if j<1 then return l/2*b(j,4)+k end;return-l/2*(b(j-2,4)-2)+k end;local function y(j,k,l,m)if j<m/2 then return w(j*2,k,l/2,m)end;return v(j*2-m,k+l/2,l/2,m)end;local function z(j,k,l,m)return l*b(j/m,5)+k end;local function A(j,k,l,m)return l*(b(j/m-1,5)+1)+k end;local function B(j,k,l,m)j=j/m*2;if j<1 then return l/2*b(j,5)+k end;return l/2*(b(j-2,5)+2)+k end;local function C(j,k,l,m)if j<m/2 then return A(j*2,k,l/2,m)end;return z(j*2-m,k+l/2,l/2,m)end;local function D(j,k,l,m)return-l*d(j/m*e/2)+l+k end;local function E(j,k,l,m)return l*c(j/m*e/2)+k end;local function F(j,k,l,m)return-l/2*(d(e*j/m)-1)+k end;local function G(j,k,l,m)if j<m/2 then return E(j*2,k,l/2,m)end;return D(j*2-m,k+l/2,l/2,m)end;local function H(j,k,l,m)if j==0 then return k end;return l*b(2,10*(j/m-1))+k-l*0.001 end;local function I(j,k,l,m)if j==m then return k+l end;return l*1.001*(-b(2,-10*j/m)+1)+k end;local function J(j,k,l,m)if j==0 then return k end;if j==m then return k+l end;j=j/m*2;if j<1 then return l/2*b(2,10*(j-1))+k-l*0.0005 end;return l/2*1.0005*(-b(2,-10*(j-1))+2)+k end;local function K(j,k,l,m)if j<m/2 then return I(j*2,k,l/2,m)end;return H(j*2-m,k+l/2,l/2,m)end;local function L(j,k,l,m)return-l*(f(1-b(j/m,2))-1)+k end;local function M(j,k,l,m)return l*f(1-b(j/m-1,2))+k end;local function N(j,k,l,m)j=j/m*2;if j<1 then return-l/2*(f(1-j*j)-1)+k end;j=j-2;return l/2*(f(1-j*j)+1)+k end;local function O(j,k,l,m)if j<m/2 then return M(j*2,k,l/2,m)end;return L(j*2-m,k+l/2,l/2,m)end;local function P(Q,R,l,m)Q,R=Q or m*0.3,R or 0;if R<g(l)then return Q,l,Q/4 end;return Q,R,Q/(2*e)*h(l/R)end;local function S(j,k,l,m,R,Q)local T;if j==0 then return k end;j=j/m;if j==1 then return k+l end;Q,R,T=P(Q,R,l,m)j=j-1;return-(R*b(2,10*j)*c((j*m-T)*2*e/Q))+k end;local function U(j,k,l,m,R,Q)local T;if j==0 then return k end;j=j/m;if j==1 then return k+l end;Q,R,T=P(Q,R,l,m)return R*b(2,-10*j)*c((j*m-T)*2*e/Q)+l+k end;local function V(j,k,l,m,R,Q)local T;if j==0 then return k end;j=j/m*2;if j==2 then return k+l end;Q,R,T=P(Q,R,l,m)j=j-1;if j<0 then return-0.5*R*b(2,10*j)*c((j*m-T)*2*e/Q)+k end;return R*b(2,-10*j)*c((j*m-T)*2*e/Q)*0.5+l+k end;local function W(j,k,l,m,R,Q)if j<m/2 then return U(j*2,k,l/2,m,R,Q)end;return S(j*2-m,k+l/2,l/2,m,R,Q)end;local function X(j,k,l,m,T)T=T or 1.70158;j=j/m;return l*j*j*((T+1)*j-T)+k end;local function Y(j,k,l,m,T)T=T or 1.70158;j=j/m-1;return l*(j*j*((T+1)*j+T)+1)+k end;local function Z(j,k,l,m,T)T=(T or 1.70158)*1.525;j=j/m*2;if j<1 then return l/2*j*j*((T+1)*j-T)+k end;j=j-2;return l/2*(j*j*((T+1)*j+T)+2)+k end;local function _(j,k,l,m,T)if j<m/2 then return Y(j*2,k,l/2,m,T)end;return X(j*2-m,k+l/2,l/2,m,T)end;local function a0(j,k,l,m)j=j/m;if j<1/2.75 then return l*7.5625*j*j+k end;if j<2/2.75 then j=j-1.5/2.75;return l*(7.5625*j*j+0.75)+k elseif j<2.5/2.75 then j=j-2.25/2.75;return l*(7.5625*j*j+0.9375)+k end;j=j-2.625/2.75;return l*(7.5625*j*j+0.984375)+k end;local function a1(j,k,l,m)return l-a0(m-j,0,l,m)+k end;local function a2(j,k,l,m)if j<m/2 then return a1(j*2,0,l,m)*0.5+k end;return a0(j*2-m,0,l,m)*0.5+l*.5+k end;local function a3(j,k,l,m)if j<m/2 then return a0(j*2,k,l/2,m)end;return a1(j*2-m,k+l/2,l/2,m)end;a.easing={linear=i,inQuad=n,outQuad=o,inOutQuad=p,outInQuad=q,inCubic=r,outCubic=s,inOutCubic=t,outInCubic=u,inQuart=v,outQuart=w,inOutQuart=x,outInQuart=y,inQuint=z,outQuint=A,inOutQuint=B,outInQuint=C,inSine=D,outSine=E,inOutSine=F,outInSine=G,inExpo=H,outExpo=I,inOutExpo=J,outInExpo=K,inCirc=L,outCirc=M,inOutCirc=N,outInCirc=O,inElastic=S,outElastic=U,inOutElastic=V,outInElastic=W,inBack=X,outBack=Y,inOutBack=Z,outInBack=_,inBounce=a1,outBounce=a0,inOutBounce=a2,outInBounce=a3}local function a4(a5,a6,a7)a7=a7 or a6;local a8=getmetatable(a6)if a8 and getmetatable(a5)==nil then setmetatable(a5,a8)end;for a9,aa in pairs(a6)do if type(aa)=="table"then a5[a9]=a4({},aa,a7[a9])else a5[a9]=a7[a9]end end;return a5 end;local function ab(ac,ad,ae)ae=ae or{}local af,ag;for a9,ah in pairs(ad)do af,ag=type(ah),a4({},ae)table.insert(ag,tostring(a9))if af=="number"then assert(type(ac[a9])=="number","Parameter '"..table.concat(ag,"/").."' is missing from subject or isn't a number")elseif af=="table"then ab(ac[a9],ah,ag)else assert(af=="number","Parameter '"..table.concat(ag,"/").."' must be a number or table of numbers")end end end;local function ai(aj,ac,ad,ak)assert(type(aj)=="number"and aj>0,"duration must be a positive number. Was "..tostring(aj))local al=type(ac)assert(al=="table"or al=="userdata","subject must be a table or userdata. Was "..tostring(ac))assert(type(ad)=="table","target must be a table. Was "..tostring(ad))assert(type(ak)=="function","easing must be a function. Was "..tostring(ak))ab(ac,ad)end;local function am(ak)ak=ak or"linear"if type(ak)=="string"then local an=ak;ak=a.easing[an]if type(ak)~="function"then error("The easing function name '"..an.."' is invalid")end end;return ak end;local function ao(ac,ad,ap,aq,aj,ak)local j,k,l,m;for a9,aa in pairs(ad)do if type(aa)=="table"then ao(ac[a9],aa,ap[a9],aq,aj,ak)else j,k,l,m=aq,ap[a9],aa-ap[a9],aj;ac[a9]=ak(j,k,l,m)end end end;local ar={}local as={__index=ar}function ar:set(aq)assert(type(aq)=="number","clock must be a positive number or 0")self.initial=self.initial or a4({},self.target,self.subject)self.clock=aq;if self.clock<=0 then self.clock=0;a4(self.subject,self.initial)elseif self.clock>=self.duration then self.clock=self.duration;a4(self.subject,self.target)else ao(self.subject,self.target,self.initial,self.clock,self.duration,self.easing)end;return self.clock>=self.duration end;function ar:reset()return self:set(0)end;function ar:update(at)assert(type(at)=="number","dt must be a number")return self:set(self.clock+at)end;function a.new(aj,ac,ad,ak)ak=am(ak)ai(aj,ac,ad,ak)return setmetatable({duration=aj,subject=ac,target=ad,easing=ak,clock=0},as)end;return a end)()
local tween_table = {}
local tween_data = {
    kb_alpha = 0,
    wm_alpha = 0
}
local refs = {
    dt = ui.find("Aimbot", "Ragebot", "Main", "Double Tap"),
    fl = ui.find("Aimbot", "Anti Aim", "Fake Lag", "Limit"),
    hs = ui.find("Aimbot", "Ragebot", "Main", "Hide Shots")
}

--main
function tween_updater()
    for _, t in pairs(tween_table) do
        t:update(globals.frametime)
    end
end
events.render:set(tween_updater)

--watermark
function watermark()
    if solus_select:get('Watermark') then
    local x,y = render.screen_size().x, render.screen_size().y
    local lp = entity.get_local_player()

    local net = utils.net_channel()
    local time = common.get_system_time()
    local time_text = string.format('%02d:%02d', time.hours, time.minutes)

    local maximum_off = 28
    local text_w = render.measure_text(1, nil, "neverlose  "..custom_name:get().."  "..time_text.."").x - 30
    maximum_off = maximum_off < text_w and text_w or maximum_off
    local w = 108 - maximum_off

    render.gradient(vector(x - 165 - 2 + w, y/60 - 6 - 2), vector(x - 7 + 2, y/60 + 16 + 2), color(color_picker:get().r, color_picker:get().g, color_picker:get().b, 255), color(color_picker:get().r, color_picker:get().g, color_picker:get().b, 255), color(0, 0, 0, 0), color(0, 0, 0, 0), 7)

    if blur_switch:get() then
        render.blur(vector(x - 165 + w, y/60 - 6), vector(x - 7, y/60 + 16), 10, 1, 7)
    else
        render.rect(vector(x - 165 + w, y/60 - 6), vector(x - 7, y/60 + 16), color(0, 0, 0, 190), 7)
    end

    --render.rect(vector(x - 165 + w, y/2 1005 - 6), vector(x - 7, y/2 1002 + 16), color(0, 0, 0, 190), 7)

    --render.rect(vector(x/1.09 - 5, y/60 - 6), vector(x/1.09 + 153, y/60 + 16), color(0, 0, 0, 190), 7)
    --render.rect(vector(x - 18, y - 35), vector(x + 18, y + 35), color(0, 0, 0, 255), 7)

    render.text(1, vector(x - 150 - 5 + w, y/60 - 2), color(255, 255, 255, 255), nil, "never      ")
    render.text(1, vector(x - 127 + w, y/60 - 2), color(color_picker:get().r, color_picker:get().g, color_picker:get().b, 255), nil, "lose")
    render.text(1, vector(x - 150 - 5 + w + render.measure_text(1, nil, "neverlose  ").x, y/60 - 2), color(255, 255, 255, 255), nil, ""..custom_name:get().." ")
    render.text(1, vector(x - 150 - 5 + w + render.measure_text(1, nil, "neverlose  "..custom_name:get().."").x, y/60 - 2), color(255, 255, 255, 255), nil, "  "..time_text.."")
end
end
events.render:set(watermark)

--fakelag
--CRINGE MOMENT
current_choke = 0
function choke()
    local lp = entity.get_local_player()
    if lp == nil then return end
    current_choke = globals.choked_commands
    utils.execute_after(0.4, choke)
end
utils.execute_after(0.4, choke)


function statepanel()
    if solus_select:get('Choke indication') then
    local x,y = render.screen_size().x, render.screen_size().y
    local lp = entity.get_local_player()
    if lp == nil then return end
    local maximum_off = 0
    local net = utils.net_channel()
    local maximum_off = 28
    current_fl = current_choke

    if refs.dt:get() or refs.hs:get() then
        text = '  FL: '..current_fl..' | SHIFTING'
        maximum_off = 60
    else
        text = 'FL: '..current_fl..''
        maximum_off = 115
    end

    local text_w = render.measure_text(1, "c", ""..text.."").x - 30
    maximum_off = maximum_off < text_w and text_w or maximum_off
    local w = 108 - maximum_off

    --render.rect(vector(x - 165 + w, y/60 - 6), vector(x - 7, y/60 + 16), color(0, 0, 0, 190), 7)

    tween_table.wm_alpha = tween.new(0.25, tween_data, {wm_alpha = w}, 'outCubic');w = tween_data.wm_alpha

    if solus_select:get('Watermark') then

    if refs.dt:get() or refs.hs:get() or current_fl < 1 then
        render.gradient(vector(x - 60 - 2 - w, y/22 - 6 - 2), vector(x - 7 + 2, y/22 + 16 + 2), color(250, 95, 95, 125), color(0, 0, 0, 0), color(250, 95, 95, 125), color(0, 0, 0, 0), 7)
        render.gradient(vector(x - 60 - 2 - w, y/22 - 6 - 2), vector(x - 7 + 2, y/22 + 16 + 2), color(0, 0, 0, 0), color(0, 0, 0, 0), color(0, 0, 0, 0), color(250, 95, 95, 125), 7)
    else

        render.gradient(vector(x - 60 - 2 - w, y/22 - 6 - 2), vector(x - 7 + 2, y/22 + 16 + 2), color(110, 250, 95, 125), color(0, 0, 0, 0), color(110, 250, 95, 125), color(0, 0, 0, 0), 7)
    end

    if blur_switch:get() then
        render.blur(vector(x - 60 - w, y/22 - 6), vector(x - 7, y/22 + 16), 10, 1, 7)
    else
        render.rect(vector(x - 60 - w, y/22 - 6), vector(x - 7, y/22 + 16), color(0, 0, 0, 190), 7)
    end

   if refs.dt:get() or refs.hs:get() then
        render.text(1, vector(x - 52 - 8, y/22 + 4), color(255, 255, 255, 255), "c", ""..text.."")
    else
        render.text(1, vector(x - 52 + 23, y/22 + 4), color(255, 255, 255, 255), "c", ""..text.."")
    end

    else

    if refs.dt:get() or refs.hs:get() or current_fl < 1 then
        render.gradient(vector(x - 59 - 2 - w, y/60 - 6 - 2), vector(x - 7 + 2, y/60 + 16 + 2), color(250, 95, 95, 125), color(0, 0, 0, 0), color(250, 95, 95, 125), color(0, 0, 0, 0), 7)
        render.gradient(vector(x - 59 - 2 - w, y/60 - 6 - 2), vector(x - 7 + 2, y/60 + 16 + 2), color(0, 0, 0, 0), color(0, 0, 0, 0),color(0, 0, 0, 0), color(250, 95, 95, 125), 7)
        else
        render.gradient(vector(x - 59 - 2 - w, y/60 - 6 - 2), vector(x - 7 + 2, y/60 + 16 + 2), color(110, 250, 95, 125), color(0, 0, 0, 0), color(110, 250, 95, 125), color(0, 0, 0, 0), 7)
        end

        render.rect(vector(x - 59 - w, y/60 - 6), vector(x - 7, y/60 + 16), color(0, 0, 0, 190), 7)
        if refs.dt:get() or refs.hs:get() then
            render.text(1, vector(x - 52 - 8, y/60 + 4), color(255, 255, 255, 255), "c", ""..text.."")
        else
            render.text(1, vector(x - 52 + 23, y/60 + 4), color(255, 255, 255, 255), "c", ""..text.."")
        end

    end

end
end
events.render:set(statepanel)
--
function desync_delta()
    local desync_rotation = rage.antiaim:get_rotation()
    local delta_to_draw = math.min(math.abs(desync_rotation) / 2, 60)
    return string.format("%.1f", delta_to_draw)
end
--
jmp_ecx = utils.opcode_scan('engine.dll', 'FF E1')
fnGetModuleHandle = ffi.cast('uint32_t(__fastcall*)(unsigned int, unsigned int, const char*)', jmp_ecx)
fnGetProcAddress = ffi.cast('uint32_t(__fastcall*)(unsigned int, unsigned int, uint32_t, const char*)', jmp_ecx)
pGetProcAddress = ffi.cast('uint32_t**', ffi.cast('uint32_t', utils.opcode_scan('engine.dll', 'FF 15 ? ? ? ? A3 ? ? ? ? EB 05')) + 2)[0][0]
pGetModuleHandle = ffi.cast('uint32_t**', ffi.cast('uint32_t', utils.opcode_scan('engine.dll', 'FF 15 ? ? ? ? 85 C0 74 0B')) + 2)[0][0]
function BindExports(sModuleName, sFunctionName, sTypeOf)
    local ctype = ffi.typeof(sTypeOf)
    return function(...)
        return ffi.cast(ctype, jmp_ecx)(fnGetProcAddress(pGetProcAddress, 0, fnGetModuleHandle(pGetModuleHandle, 0, sModuleName), sFunctionName), 0, ...)
    end
end
fnEnumDisplaySettingsA = BindExports('user32.dll', 'EnumDisplaySettingsA', 'int(__fastcall*)(unsigned int, unsigned int, unsigned int, unsigned long, void*)');
pLpDevMode = ffi.new('struct { char pad_0[120]; unsigned long dmDisplayFrequency; char pad_2[32]; }[1]')
fnEnumDisplaySettingsA(0, 4294967295, pLpDevMode[0])


function iopanel()
    if solus_select:get('Client information') then
    local x,y = render.screen_size().x, render.screen_size().y
    local lp = entity.get_local_player()
    if lp == nil then return end

    local net = utils.net_channel()
    local ping = net.avg_latency[0]
    local time = common.get_system_time()
    local time_text = string.format('%02d:%02d', time.hours, time.minutes)
    local frequency = pLpDevMode[0].dmDisplayFrequency
    local ping = math.floor(net.avg_latency[0] * 1000)

    --vector(x - 60 - 2 - w, y/60 - 6 - 2), vector(x - 7 + 2, y/60 + 16 + 2)

    if solus_select:get('Watermark') and solus_select:get('Choke indication') then

    if ping < 100 then
        render.gradient(vector(x - 95 - 2, y/13 - 6 - 2), vector(x - 7 + 2, y/13 + 16 + 2), color(110, 250, 95, 125), color(0, 0, 0, 0), color(110, 250, 95, 125), color(0, 0, 0, 0), 7)
    end
    if ping > 50 then
        render.gradient(vector(x - 95 - 2, y/13 - 6 - 2), vector(x - 7 + 2, y/13 + 16 + 2), color(255, 244, 87, 125), color(0, 0, 0, 0), color(255, 244, 87, 125), color(0, 0, 0, 0), 7)
    end

    if blur_switch:get() then
        render.blur(vector(x - 95, y/13 - 6), vector(x - 7, y/13 + 16), 10, 1, 7)
    else
        render.rect(vector(x - 95, y/13 - 6), vector(x - 7, y/13 + 16), color(0, 0, 0, 190), 7)
    end
    render.text(1, vector(x - 50, y/13 + 4), color(255, 255, 255, 255), "c", ""..ping.."ms | "..frequency.."hz")

    else


    if ping < 100 then
        render.gradient(vector(x - 95 - 2, y/21 - 6 - 2), vector(x - 7 + 2, y/21 + 16 + 2), color(110, 250, 95, 125), color(0, 0, 0, 0), color(110, 250, 95, 125), color(0, 0, 0, 0), 7)
    end
    if ping > 50 then
        render.gradient(vector(x - 95 - 2, y/21 - 6 - 2), vector(x - 7 + 2, y/21 + 16 + 2), color(255, 244, 87, 125), color(0, 0, 0, 0), color(255, 244, 87, 125), color(0, 0, 0, 0), 7)
    end

    if blur_switch:get() then
        render.blur(vector(x - 95, y/21 - 6), vector(x - 7, y/21 + 16), 10, 1, 7)
    else
        render.rect(vector(x - 95, y/21 - 6), vector(x - 7, y/21 + 16), color(0, 0, 0, 190), 7)
    end

    render.text(1, vector(x - 50, y/21 + 4), color(255, 255, 255, 255), "c", ""..ping.."ms | "..frequency.."hz")

    --[[if refs.dt:get() or refs.hs:get() then
        render.text(1, vector(x - 52 - 8, y/60 + 4), color(255, 255, 255, 255), "c", ""..text.."")
    else
        render.text(1, vector(x - 52 + 23, y/60 + 4), color(255, 255, 255, 255), "c", ""..text.."")
    end--]]

    end
end
end
events.render:set(iopanel)

--keybinds
local animations = {

    speed = 9.2,
    stored_values = {},
    active_this_frame = {},
    prev_realtime = globals.realtime,
    realtime = globals.realtime,
    multiplier = 0.0,


    clamp = function(v, min, max)
        return ((v > max) and max) or ((v < min) and min or v)
    end,


    new_frame = function(self)
        self.prev_realtime = self.realtime
        self.realtime = globals.realtime
        self.multiplier = (self.realtime - self.prev_realtime) * self.speed

        for k, v in pairs(self.stored_values) do
            if self.active_this_frame[k] ~= nil then goto continue end
            self.stored_values[k] = nil
            ::continue::
        end

        self.active_this_frame = {}
    end,
    reset = function(self, name)
        self.stored_values[name] = nil
    end,


    animate = function (self, name, decrement, max_value)
        max_value = max_value or 1.0
        decrement = decrement or false

        local frames = self.multiplier * (decrement and -1 or 1)

        local v = self.clamp(self.stored_values[name] and self.stored_values[name] or 0.0, 0.0, max_value)
        v = self.clamp(v + frames, 0.0, max_value)

        self.stored_values[name] = v
        self.active_this_frame[name] = true

        return v
    end
}

local memory = { x, y }
local drag_items = {
    x_slider = group:slider("X position", 0, 2560, 50.0, 0.01),
    y_slider= group:slider("Y position", 0, 1440, 50.0, 0.01)
}
drag_items.x_slider:set_visible(false)
drag_items.y_slider:set_visible(false)

local drag_window = function(x, y, w, h, val1, val2)
    local key_pressed  = common.is_button_down(0x01);
    local mouse_pos    = ui.get_mouse_position()

    if mouse_pos.x >= x and mouse_pos.x <= x + w and mouse_pos.y >= y and mouse_pos.y <= y + h then
        if key_pressed and drag == false then
            drag = true;
            memory.x = x - mouse_pos.x;
            memory.y = y - mouse_pos.y;
        end
    end

    if not key_pressed then
        drag = false;
    end

    if drag == true and ui.get_alpha() == 1 then
        val1:set(mouse_pos.x + memory.x);
        val2:set(mouse_pos.y + memory.y);
    end
end

local function render_conteiner(x, y, w, h, name, font_size, font, alpha)
    if solus_select:get('Keybinds') then
    local alpha2 = (alpha/350)
    local name_size = render.measure_text(1, nil, name)

    if blur_switch:get() then
        render.gradient(vector(x + 1 - 2, y - 4 - 2), vector(x + w + 1 + 2, y + h - 3), color(color_picker:get().r, color_picker:get().g, color_picker:get().b, alpha), color(color_picker:get().r, color_picker:get().g, color_picker:get().b, alpha), color(0, 0, 0, alpha*0), color(0, 0, 0, alpha*0), 7)
        render.blur(vector(x + 1, y - 4), vector(x + w + 2, y + h - 1.5), 10, alpha*1, 7)
    else
        render.gradient(vector(x + 1 - 2, y - 4 - 2), vector(x + w + 1 + 2, y + h + 2), color(color_picker:get().r, color_picker:get().g, color_picker:get().b, alpha), color(color_picker:get().r, color_picker:get().g, color_picker:get().b, alpha), color(0, 0, 0, alpha*0), color(0, 0, 0, alpha*0), 7)
        render.rect(vector(x + 1, y - 4), vector(x + w + 1, y + h - 1.5), color(0, 0, 0, alpha/1.4), 7)
    end

    render.text(1, vector(x-1 + w / 2 + 1 - name_size.x / 2, y - 1.5), color(255, 255, 255, alpha), nil, name)
    end
end


local function keybinds()
    if solus_select:get('Keybinds') then
    animations:new_frame()
    local binds = ui.get_binds()
    local j = 0
    local m_alpha = 0
    local maximum_offset = 28
    local kb_shown = false

    for i = 1, #binds do
        local c_name = binds[i].name
        if c_name == 'Peek Assist' then c_name = 'Quick peek' end
        if c_name == 'Edge Jump' then c_name = 'Jump at edge' end
        if c_name == 'Hide Shots' then c_name = 'Hide shots' end
        if c_name == 'Minimum Damage' then c_name = 'Damage override' end
        if c_name == 'Fake Latency' then c_name = 'Ping spike' end
        if c_name == 'Fake Duck' then c_name = 'Duck peek assist' end
        if c_name == 'Safe Points' then c_name = 'Safe point' end
        if c_name == 'Body Aim' then c_name = 'Body aim' end
        if c_name == 'Yaw Base' then c_name = 'Manual override' end
        if c_name == 'Slow Walk' then c_name = 'Slow motion' end

        local text_width = render.measure_text(1, nil, c_name).x - 30

        if binds[i].active then
            kb_shown = true
            maximum_offset = maximum_offset < text_width and text_width or maximum_offset
        end
    end

    local w = 90 + maximum_offset
    local x,y = drag_items.x_slider:get(), drag_items.y_slider:get()

    m_alpha = animations:animate('state', not (kb_shown or ui.get_alpha() == 1))
    tween_table.kb_alpha = tween.new(0.25, tween_data, {kb_alpha = w}, 'outCubic');w = tween_data.kb_alpha

    render_conteiner(x-1, y, w, 17, 'keybinds', 11, 1, math.floor(tonumber(m_alpha*255)))
    --Render.BoxFilled(vector(x, y), vector(x + w, y + 18), Color.new(0,0,0,1*m_alpha))
    --Render.BoxFilled(vector(x, y), vector(x + w, y + 2), Color.new(173/255, 249/255, 1,1*m_alpha))

    --Render.Text(' ' .. 'keybinds', vector(x - Render.CalcTextSize('keybinds', 11, font).x / 2 + w/2, y + 4), Color.new(1.0, 1.0, 1.0, 1*m_alpha), 11, 1, false)

    for i=1, #binds do
        local alpha = animations:animate(binds[i].name, not binds[i].active)
        local get_mode = binds[i].mode == 1 and '[holding]' or (binds[i].mode == 2 and '[toggled]') or '[?]'

        local c_name = binds[i].name
        if c_name == 'Peek Assist' then c_name = 'Quick peek' end
        if c_name == 'Edge Jump' then c_name = 'Jump at edge' end
        if c_name == 'Hide Shots' then c_name = 'Hide shots' end
        if c_name == 'Minimum Damage' then c_name = 'Damage override' end
        if c_name == 'Fake Latency' then c_name = 'Ping spike' end
        if c_name == 'Fake Duck' then c_name = 'Duck peek assist' end
        if c_name == 'Safe Points' then c_name = 'Safe point' end
        if c_name == 'Body Aim' then c_name = 'Body aim' end
        if c_name == 'Double Tap' then c_name = 'Double tap' end
        if c_name == 'Yaw Base' then c_name = 'Manual override' end
        if c_name == 'Slow Walk' then c_name = 'Slow motion' end


        local get_value = binds[i].value
        if c_name == 'Damage override' or c_name == 'Ping spike' then
            render.text(1, vector(x + 2, y + 18 + j), color(255, 255, 255, alpha*255), nil, c_name)
            render.text(1, vector(x - 12 + w - render.measure_text(1, nil, get_value).x , y + 18 + j), color(255, 255, 255, alpha*255), nil, "["..get_value.."]")
        else
            render.text(1, vector(x + 2, y + 18 + j), color(255, 255, 255, alpha*255), nil, c_name)
            render.text(1, vector(x - 2 + w - render.measure_text(1, nil, get_mode).x , y + 18 + j), color(255, 255, 255, alpha*255), nil, '' .. get_mode)
        end

        j = j + 15*alpha
        ::skip::
    end

    drag_window(x, y, 150, 25, drag_items.x_slider, drag_items.y_slider)
end
end
events.render:set(keybinds)
вроде работают. не проверял т.к. подписка закончилась
 
Начинающий
Статус
Оффлайн
Регистрация
18 Окт 2022
Сообщения
37
Реакции[?]
3
Поинты[?]
0
Код:
--menu
ui.sidebar("\a85AFFFC8Solus UI", "heart")
local group2 = ui.create("\a85AFFFC8Solus UI", "\a85AFFFC8Information")
local group = ui.create("\a85AFFFC8Solus UI", "\a85AFFFC8Solus UI")
local text1 = group2:label("\a85AFFFC8Better Solus UI\n\a85AFFFC8Creator: \aCBCBCBC8Pikaz#0444\n\a85AFFFC8Bugs, suggestions - in dm.") --\aE9E9E9C8
discord = group2:button("Join owner's discord channel", function()
    panorama.SteamOverlayAPI.OpenExternalBrowserURL("https://discord.gg/yXUNrR8")
end)

local solus_select = group:selectable("Select", {'Watermark', 'Keybinds', 'Choke indication', 'Client information'}, 0)
local solus_ref = solus_select:create()
local blur_switch = solus_ref:switch("Blur / transp.", false)
local color_picker = solus_ref:color_picker("Accent color", color(107, 139, 255, 255))
local custom_name = group:input("Username", ""..common.get_username().."")

--locals
local tween=(function()local a={}local b,c,d,e,f,g,h=math.pow,math.sin,math.cos,math.pi,math.sqrt,math.abs,math.asin;local function i(j,k,l,m)return l*j/m+k end;local function n(j,k,l,m)return l*b(j/m,2)+k end;local function o(j,k,l,m)j=j/m;return-l*j*(j-2)+k end;local function p(j,k,l,m)j=j/m*2;if j<1 then return l/2*b(j,2)+k end;return-l/2*((j-1)*(j-3)-1)+k end;local function q(j,k,l,m)if j<m/2 then return o(j*2,k,l/2,m)end;return n(j*2-m,k+l/2,l/2,m)end;local function r(j,k,l,m)return l*b(j/m,3)+k end;local function s(j,k,l,m)return l*(b(j/m-1,3)+1)+k end;local function t(j,k,l,m)j=j/m*2;if j<1 then return l/2*j*j*j+k end;j=j-2;return l/2*(j*j*j+2)+k end;local function u(j,k,l,m)if j<m/2 then return s(j*2,k,l/2,m)end;return r(j*2-m,k+l/2,l/2,m)end;local function v(j,k,l,m)return l*b(j/m,4)+k end;local function w(j,k,l,m)return-l*(b(j/m-1,4)-1)+k end;local function x(j,k,l,m)j=j/m*2;if j<1 then return l/2*b(j,4)+k end;return-l/2*(b(j-2,4)-2)+k end;local function y(j,k,l,m)if j<m/2 then return w(j*2,k,l/2,m)end;return v(j*2-m,k+l/2,l/2,m)end;local function z(j,k,l,m)return l*b(j/m,5)+k end;local function A(j,k,l,m)return l*(b(j/m-1,5)+1)+k end;local function B(j,k,l,m)j=j/m*2;if j<1 then return l/2*b(j,5)+k end;return l/2*(b(j-2,5)+2)+k end;local function C(j,k,l,m)if j<m/2 then return A(j*2,k,l/2,m)end;return z(j*2-m,k+l/2,l/2,m)end;local function D(j,k,l,m)return-l*d(j/m*e/2)+l+k end;local function E(j,k,l,m)return l*c(j/m*e/2)+k end;local function F(j,k,l,m)return-l/2*(d(e*j/m)-1)+k end;local function G(j,k,l,m)if j<m/2 then return E(j*2,k,l/2,m)end;return D(j*2-m,k+l/2,l/2,m)end;local function H(j,k,l,m)if j==0 then return k end;return l*b(2,10*(j/m-1))+k-l*0.001 end;local function I(j,k,l,m)if j==m then return k+l end;return l*1.001*(-b(2,-10*j/m)+1)+k end;local function J(j,k,l,m)if j==0 then return k end;if j==m then return k+l end;j=j/m*2;if j<1 then return l/2*b(2,10*(j-1))+k-l*0.0005 end;return l/2*1.0005*(-b(2,-10*(j-1))+2)+k end;local function K(j,k,l,m)if j<m/2 then return I(j*2,k,l/2,m)end;return H(j*2-m,k+l/2,l/2,m)end;local function L(j,k,l,m)return-l*(f(1-b(j/m,2))-1)+k end;local function M(j,k,l,m)return l*f(1-b(j/m-1,2))+k end;local function N(j,k,l,m)j=j/m*2;if j<1 then return-l/2*(f(1-j*j)-1)+k end;j=j-2;return l/2*(f(1-j*j)+1)+k end;local function O(j,k,l,m)if j<m/2 then return M(j*2,k,l/2,m)end;return L(j*2-m,k+l/2,l/2,m)end;local function P(Q,R,l,m)Q,R=Q or m*0.3,R or 0;if R<g(l)then return Q,l,Q/4 end;return Q,R,Q/(2*e)*h(l/R)end;local function S(j,k,l,m,R,Q)local T;if j==0 then return k end;j=j/m;if j==1 then return k+l end;Q,R,T=P(Q,R,l,m)j=j-1;return-(R*b(2,10*j)*c((j*m-T)*2*e/Q))+k end;local function U(j,k,l,m,R,Q)local T;if j==0 then return k end;j=j/m;if j==1 then return k+l end;Q,R,T=P(Q,R,l,m)return R*b(2,-10*j)*c((j*m-T)*2*e/Q)+l+k end;local function V(j,k,l,m,R,Q)local T;if j==0 then return k end;j=j/m*2;if j==2 then return k+l end;Q,R,T=P(Q,R,l,m)j=j-1;if j<0 then return-0.5*R*b(2,10*j)*c((j*m-T)*2*e/Q)+k end;return R*b(2,-10*j)*c((j*m-T)*2*e/Q)*0.5+l+k end;local function W(j,k,l,m,R,Q)if j<m/2 then return U(j*2,k,l/2,m,R,Q)end;return S(j*2-m,k+l/2,l/2,m,R,Q)end;local function X(j,k,l,m,T)T=T or 1.70158;j=j/m;return l*j*j*((T+1)*j-T)+k end;local function Y(j,k,l,m,T)T=T or 1.70158;j=j/m-1;return l*(j*j*((T+1)*j+T)+1)+k end;local function Z(j,k,l,m,T)T=(T or 1.70158)*1.525;j=j/m*2;if j<1 then return l/2*j*j*((T+1)*j-T)+k end;j=j-2;return l/2*(j*j*((T+1)*j+T)+2)+k end;local function _(j,k,l,m,T)if j<m/2 then return Y(j*2,k,l/2,m,T)end;return X(j*2-m,k+l/2,l/2,m,T)end;local function a0(j,k,l,m)j=j/m;if j<1/2.75 then return l*7.5625*j*j+k end;if j<2/2.75 then j=j-1.5/2.75;return l*(7.5625*j*j+0.75)+k elseif j<2.5/2.75 then j=j-2.25/2.75;return l*(7.5625*j*j+0.9375)+k end;j=j-2.625/2.75;return l*(7.5625*j*j+0.984375)+k end;local function a1(j,k,l,m)return l-a0(m-j,0,l,m)+k end;local function a2(j,k,l,m)if j<m/2 then return a1(j*2,0,l,m)*0.5+k end;return a0(j*2-m,0,l,m)*0.5+l*.5+k end;local function a3(j,k,l,m)if j<m/2 then return a0(j*2,k,l/2,m)end;return a1(j*2-m,k+l/2,l/2,m)end;a.easing={linear=i,inQuad=n,outQuad=o,inOutQuad=p,outInQuad=q,inCubic=r,outCubic=s,inOutCubic=t,outInCubic=u,inQuart=v,outQuart=w,inOutQuart=x,outInQuart=y,inQuint=z,outQuint=A,inOutQuint=B,outInQuint=C,inSine=D,outSine=E,inOutSine=F,outInSine=G,inExpo=H,outExpo=I,inOutExpo=J,outInExpo=K,inCirc=L,outCirc=M,inOutCirc=N,outInCirc=O,inElastic=S,outElastic=U,inOutElastic=V,outInElastic=W,inBack=X,outBack=Y,inOutBack=Z,outInBack=_,inBounce=a1,outBounce=a0,inOutBounce=a2,outInBounce=a3}local function a4(a5,a6,a7)a7=a7 or a6;local a8=getmetatable(a6)if a8 and getmetatable(a5)==nil then setmetatable(a5,a8)end;for a9,aa in pairs(a6)do if type(aa)=="table"then a5[a9]=a4({},aa,a7[a9])else a5[a9]=a7[a9]end end;return a5 end;local function ab(ac,ad,ae)ae=ae or{}local af,ag;for a9,ah in pairs(ad)do af,ag=type(ah),a4({},ae)table.insert(ag,tostring(a9))if af=="number"then assert(type(ac[a9])=="number","Parameter '"..table.concat(ag,"/").."' is missing from subject or isn't a number")elseif af=="table"then ab(ac[a9],ah,ag)else assert(af=="number","Parameter '"..table.concat(ag,"/").."' must be a number or table of numbers")end end end;local function ai(aj,ac,ad,ak)assert(type(aj)=="number"and aj>0,"duration must be a positive number. Was "..tostring(aj))local al=type(ac)assert(al=="table"or al=="userdata","subject must be a table or userdata. Was "..tostring(ac))assert(type(ad)=="table","target must be a table. Was "..tostring(ad))assert(type(ak)=="function","easing must be a function. Was "..tostring(ak))ab(ac,ad)end;local function am(ak)ak=ak or"linear"if type(ak)=="string"then local an=ak;ak=a.easing[an]if type(ak)~="function"then error("The easing function name '"..an.."' is invalid")end end;return ak end;local function ao(ac,ad,ap,aq,aj,ak)local j,k,l,m;for a9,aa in pairs(ad)do if type(aa)=="table"then ao(ac[a9],aa,ap[a9],aq,aj,ak)else j,k,l,m=aq,ap[a9],aa-ap[a9],aj;ac[a9]=ak(j,k,l,m)end end end;local ar={}local as={__index=ar}function ar:set(aq)assert(type(aq)=="number","clock must be a positive number or 0")self.initial=self.initial or a4({},self.target,self.subject)self.clock=aq;if self.clock<=0 then self.clock=0;a4(self.subject,self.initial)elseif self.clock>=self.duration then self.clock=self.duration;a4(self.subject,self.target)else ao(self.subject,self.target,self.initial,self.clock,self.duration,self.easing)end;return self.clock>=self.duration end;function ar:reset()return self:set(0)end;function ar:update(at)assert(type(at)=="number","dt must be a number")return self:set(self.clock+at)end;function a.new(aj,ac,ad,ak)ak=am(ak)ai(aj,ac,ad,ak)return setmetatable({duration=aj,subject=ac,target=ad,easing=ak,clock=0},as)end;return a end)()
local tween_table = {}
local tween_data = {
    kb_alpha = 0,
    wm_alpha = 0
}
local refs = {
    dt = ui.find("Aimbot", "Ragebot", "Main", "Double Tap"),
    fl = ui.find("Aimbot", "Anti Aim", "Fake Lag", "Limit"),
    hs = ui.find("Aimbot", "Ragebot", "Main", "Hide Shots")
}

--main
function tween_updater()
    for _, t in pairs(tween_table) do
        t:update(globals.frametime)
    end
end
events.render:set(tween_updater)

--watermark
function watermark()
    if solus_select:get('Watermark') then
    local x,y = render.screen_size().x, render.screen_size().y
    local lp = entity.get_local_player()

    local net = utils.net_channel()
    local time = common.get_system_time()
    local time_text = string.format('%02d:%02d', time.hours, time.minutes)

    local maximum_off = 28
    local text_w = render.measure_text(1, nil, "neverlose  "..custom_name:get().."  "..time_text.."").x - 30
    maximum_off = maximum_off < text_w and text_w or maximum_off
    local w = 108 - maximum_off

    render.gradient(vector(x - 165 - 2 + w, y/60 - 6 - 2), vector(x - 7 + 2, y/60 + 16 + 2), color(color_picker:get().r, color_picker:get().g, color_picker:get().b, 255), color(color_picker:get().r, color_picker:get().g, color_picker:get().b, 255), color(0, 0, 0, 0), color(0, 0, 0, 0), 7)

    if blur_switch:get() then
        render.blur(vector(x - 165 + w, y/60 - 6), vector(x - 7, y/60 + 16), 10, 1, 7)
    else
        render.rect(vector(x - 165 + w, y/60 - 6), vector(x - 7, y/60 + 16), color(0, 0, 0, 190), 7)
    end

    --render.rect(vector(x - 165 + w, y/2 1005 - 6), vector(x - 7, y/2 1002 + 16), color(0, 0, 0, 190), 7)

    --render.rect(vector(x/1.09 - 5, y/60 - 6), vector(x/1.09 + 153, y/60 + 16), color(0, 0, 0, 190), 7)
    --render.rect(vector(x - 18, y - 35), vector(x + 18, y + 35), color(0, 0, 0, 255), 7)

    render.text(1, vector(x - 150 - 5 + w, y/60 - 2), color(255, 255, 255, 255), nil, "never      ")
    render.text(1, vector(x - 127 + w, y/60 - 2), color(color_picker:get().r, color_picker:get().g, color_picker:get().b, 255), nil, "lose")
    render.text(1, vector(x - 150 - 5 + w + render.measure_text(1, nil, "neverlose  ").x, y/60 - 2), color(255, 255, 255, 255), nil, ""..custom_name:get().." ")
    render.text(1, vector(x - 150 - 5 + w + render.measure_text(1, nil, "neverlose  "..custom_name:get().."").x, y/60 - 2), color(255, 255, 255, 255), nil, "  "..time_text.."")
end
end
events.render:set(watermark)

--fakelag
--CRINGE MOMENT
current_choke = 0
function choke()
    local lp = entity.get_local_player()
    if lp == nil then return end
    current_choke = globals.choked_commands
    utils.execute_after(0.4, choke)
end
utils.execute_after(0.4, choke)


function statepanel()
    if solus_select:get('Choke indication') then
    local x,y = render.screen_size().x, render.screen_size().y
    local lp = entity.get_local_player()
    if lp == nil then return end
    local maximum_off = 0
    local net = utils.net_channel()
    local maximum_off = 28
    current_fl = current_choke

    if refs.dt:get() or refs.hs:get() then
        text = '  FL: '..current_fl..' | SHIFTING'
        maximum_off = 60
    else
        text = 'FL: '..current_fl..''
        maximum_off = 115
    end

    local text_w = render.measure_text(1, "c", ""..text.."").x - 30
    maximum_off = maximum_off < text_w and text_w or maximum_off
    local w = 108 - maximum_off

    --render.rect(vector(x - 165 + w, y/60 - 6), vector(x - 7, y/60 + 16), color(0, 0, 0, 190), 7)

    tween_table.wm_alpha = tween.new(0.25, tween_data, {wm_alpha = w}, 'outCubic');w = tween_data.wm_alpha

    if solus_select:get('Watermark') then

    if refs.dt:get() or refs.hs:get() or current_fl < 1 then
        render.gradient(vector(x - 60 - 2 - w, y/22 - 6 - 2), vector(x - 7 + 2, y/22 + 16 + 2), color(250, 95, 95, 125), color(0, 0, 0, 0), color(250, 95, 95, 125), color(0, 0, 0, 0), 7)
        render.gradient(vector(x - 60 - 2 - w, y/22 - 6 - 2), vector(x - 7 + 2, y/22 + 16 + 2), color(0, 0, 0, 0), color(0, 0, 0, 0), color(0, 0, 0, 0), color(250, 95, 95, 125), 7)
    else

        render.gradient(vector(x - 60 - 2 - w, y/22 - 6 - 2), vector(x - 7 + 2, y/22 + 16 + 2), color(110, 250, 95, 125), color(0, 0, 0, 0), color(110, 250, 95, 125), color(0, 0, 0, 0), 7)
    end

    if blur_switch:get() then
        render.blur(vector(x - 60 - w, y/22 - 6), vector(x - 7, y/22 + 16), 10, 1, 7)
    else
        render.rect(vector(x - 60 - w, y/22 - 6), vector(x - 7, y/22 + 16), color(0, 0, 0, 190), 7)
    end

   if refs.dt:get() or refs.hs:get() then
        render.text(1, vector(x - 52 - 8, y/22 + 4), color(255, 255, 255, 255), "c", ""..text.."")
    else
        render.text(1, vector(x - 52 + 23, y/22 + 4), color(255, 255, 255, 255), "c", ""..text.."")
    end

    else

    if refs.dt:get() or refs.hs:get() or current_fl < 1 then
        render.gradient(vector(x - 59 - 2 - w, y/60 - 6 - 2), vector(x - 7 + 2, y/60 + 16 + 2), color(250, 95, 95, 125), color(0, 0, 0, 0), color(250, 95, 95, 125), color(0, 0, 0, 0), 7)
        render.gradient(vector(x - 59 - 2 - w, y/60 - 6 - 2), vector(x - 7 + 2, y/60 + 16 + 2), color(0, 0, 0, 0), color(0, 0, 0, 0),color(0, 0, 0, 0), color(250, 95, 95, 125), 7)
        else
        render.gradient(vector(x - 59 - 2 - w, y/60 - 6 - 2), vector(x - 7 + 2, y/60 + 16 + 2), color(110, 250, 95, 125), color(0, 0, 0, 0), color(110, 250, 95, 125), color(0, 0, 0, 0), 7)
        end

        render.rect(vector(x - 59 - w, y/60 - 6), vector(x - 7, y/60 + 16), color(0, 0, 0, 190), 7)
        if refs.dt:get() or refs.hs:get() then
            render.text(1, vector(x - 52 - 8, y/60 + 4), color(255, 255, 255, 255), "c", ""..text.."")
        else
            render.text(1, vector(x - 52 + 23, y/60 + 4), color(255, 255, 255, 255), "c", ""..text.."")
        end

    end

end
end
events.render:set(statepanel)
--
function desync_delta()
    local desync_rotation = rage.antiaim:get_rotation()
    local delta_to_draw = math.min(math.abs(desync_rotation) / 2, 60)
    return string.format("%.1f", delta_to_draw)
end
--
jmp_ecx = utils.opcode_scan('engine.dll', 'FF E1')
fnGetModuleHandle = ffi.cast('uint32_t(__fastcall*)(unsigned int, unsigned int, const char*)', jmp_ecx)
fnGetProcAddress = ffi.cast('uint32_t(__fastcall*)(unsigned int, unsigned int, uint32_t, const char*)', jmp_ecx)
pGetProcAddress = ffi.cast('uint32_t**', ffi.cast('uint32_t', utils.opcode_scan('engine.dll', 'FF 15 ? ? ? ? A3 ? ? ? ? EB 05')) + 2)[0][0]
pGetModuleHandle = ffi.cast('uint32_t**', ffi.cast('uint32_t', utils.opcode_scan('engine.dll', 'FF 15 ? ? ? ? 85 C0 74 0B')) + 2)[0][0]
function BindExports(sModuleName, sFunctionName, sTypeOf)
    local ctype = ffi.typeof(sTypeOf)
    return function(...)
        return ffi.cast(ctype, jmp_ecx)(fnGetProcAddress(pGetProcAddress, 0, fnGetModuleHandle(pGetModuleHandle, 0, sModuleName), sFunctionName), 0, ...)
    end
end
fnEnumDisplaySettingsA = BindExports('user32.dll', 'EnumDisplaySettingsA', 'int(__fastcall*)(unsigned int, unsigned int, unsigned int, unsigned long, void*)');
pLpDevMode = ffi.new('struct { char pad_0[120]; unsigned long dmDisplayFrequency; char pad_2[32]; }[1]')
fnEnumDisplaySettingsA(0, 4294967295, pLpDevMode[0])


function iopanel()
    if solus_select:get('Client information') then
    local x,y = render.screen_size().x, render.screen_size().y
    local lp = entity.get_local_player()
    if lp == nil then return end

    local net = utils.net_channel()
    local ping = net.avg_latency[0]
    local time = common.get_system_time()
    local time_text = string.format('%02d:%02d', time.hours, time.minutes)
    local frequency = pLpDevMode[0].dmDisplayFrequency
    local ping = math.floor(net.avg_latency[0] * 1000)

    --vector(x - 60 - 2 - w, y/60 - 6 - 2), vector(x - 7 + 2, y/60 + 16 + 2)

    if solus_select:get('Watermark') and solus_select:get('Choke indication') then

    if ping < 100 then
        render.gradient(vector(x - 95 - 2, y/13 - 6 - 2), vector(x - 7 + 2, y/13 + 16 + 2), color(110, 250, 95, 125), color(0, 0, 0, 0), color(110, 250, 95, 125), color(0, 0, 0, 0), 7)
    end
    if ping > 50 then
        render.gradient(vector(x - 95 - 2, y/13 - 6 - 2), vector(x - 7 + 2, y/13 + 16 + 2), color(255, 244, 87, 125), color(0, 0, 0, 0), color(255, 244, 87, 125), color(0, 0, 0, 0), 7)
    end

    if blur_switch:get() then
        render.blur(vector(x - 95, y/13 - 6), vector(x - 7, y/13 + 16), 10, 1, 7)
    else
        render.rect(vector(x - 95, y/13 - 6), vector(x - 7, y/13 + 16), color(0, 0, 0, 190), 7)
    end
    render.text(1, vector(x - 50, y/13 + 4), color(255, 255, 255, 255), "c", ""..ping.."ms | "..frequency.."hz")

    else


    if ping < 100 then
        render.gradient(vector(x - 95 - 2, y/21 - 6 - 2), vector(x - 7 + 2, y/21 + 16 + 2), color(110, 250, 95, 125), color(0, 0, 0, 0), color(110, 250, 95, 125), color(0, 0, 0, 0), 7)
    end
    if ping > 50 then
        render.gradient(vector(x - 95 - 2, y/21 - 6 - 2), vector(x - 7 + 2, y/21 + 16 + 2), color(255, 244, 87, 125), color(0, 0, 0, 0), color(255, 244, 87, 125), color(0, 0, 0, 0), 7)
    end

    if blur_switch:get() then
        render.blur(vector(x - 95, y/21 - 6), vector(x - 7, y/21 + 16), 10, 1, 7)
    else
        render.rect(vector(x - 95, y/21 - 6), vector(x - 7, y/21 + 16), color(0, 0, 0, 190), 7)
    end

    render.text(1, vector(x - 50, y/21 + 4), color(255, 255, 255, 255), "c", ""..ping.."ms | "..frequency.."hz")

    --[[if refs.dt:get() or refs.hs:get() then
        render.text(1, vector(x - 52 - 8, y/60 + 4), color(255, 255, 255, 255), "c", ""..text.."")
    else
        render.text(1, vector(x - 52 + 23, y/60 + 4), color(255, 255, 255, 255), "c", ""..text.."")
    end--]]

    end
end
end
events.render:set(iopanel)

--keybinds
local animations = {

    speed = 9.2,
    stored_values = {},
    active_this_frame = {},
    prev_realtime = globals.realtime,
    realtime = globals.realtime,
    multiplier = 0.0,


    clamp = function(v, min, max)
        return ((v > max) and max) or ((v < min) and min or v)
    end,


    new_frame = function(self)
        self.prev_realtime = self.realtime
        self.realtime = globals.realtime
        self.multiplier = (self.realtime - self.prev_realtime) * self.speed

        for k, v in pairs(self.stored_values) do
            if self.active_this_frame[k] ~= nil then goto continue end
            self.stored_values[k] = nil
            ::continue::
        end

        self.active_this_frame = {}
    end,
    reset = function(self, name)
        self.stored_values[name] = nil
    end,


    animate = function (self, name, decrement, max_value)
        max_value = max_value or 1.0
        decrement = decrement or false

        local frames = self.multiplier * (decrement and -1 or 1)

        local v = self.clamp(self.stored_values[name] and self.stored_values[name] or 0.0, 0.0, max_value)
        v = self.clamp(v + frames, 0.0, max_value)

        self.stored_values[name] = v
        self.active_this_frame[name] = true

        return v
    end
}

local memory = { x, y }
local drag_items = {
    x_slider = group:slider("X position", 0, 2560, 50.0, 0.01),
    y_slider= group:slider("Y position", 0, 1440, 50.0, 0.01)
}
drag_items.x_slider:set_visible(false)
drag_items.y_slider:set_visible(false)

local drag_window = function(x, y, w, h, val1, val2)
    local key_pressed  = common.is_button_down(0x01);
    local mouse_pos    = ui.get_mouse_position()

    if mouse_pos.x >= x and mouse_pos.x <= x + w and mouse_pos.y >= y and mouse_pos.y <= y + h then
        if key_pressed and drag == false then
            drag = true;
            memory.x = x - mouse_pos.x;
            memory.y = y - mouse_pos.y;
        end
    end

    if not key_pressed then
        drag = false;
    end

    if drag == true and ui.get_alpha() == 1 then
        val1:set(mouse_pos.x + memory.x);
        val2:set(mouse_pos.y + memory.y);
    end
end

local function render_conteiner(x, y, w, h, name, font_size, font, alpha)
    if solus_select:get('Keybinds') then
    local alpha2 = (alpha/350)
    local name_size = render.measure_text(1, nil, name)

    if blur_switch:get() then
        render.gradient(vector(x + 1 - 2, y - 4 - 2), vector(x + w + 1 + 2, y + h - 3), color(color_picker:get().r, color_picker:get().g, color_picker:get().b, alpha), color(color_picker:get().r, color_picker:get().g, color_picker:get().b, alpha), color(0, 0, 0, alpha*0), color(0, 0, 0, alpha*0), 7)
        render.blur(vector(x + 1, y - 4), vector(x + w + 2, y + h - 1.5), 10, alpha*1, 7)
    else
        render.gradient(vector(x + 1 - 2, y - 4 - 2), vector(x + w + 1 + 2, y + h + 2), color(color_picker:get().r, color_picker:get().g, color_picker:get().b, alpha), color(color_picker:get().r, color_picker:get().g, color_picker:get().b, alpha), color(0, 0, 0, alpha*0), color(0, 0, 0, alpha*0), 7)
        render.rect(vector(x + 1, y - 4), vector(x + w + 1, y + h - 1.5), color(0, 0, 0, alpha/1.4), 7)
    end

    render.text(1, vector(x-1 + w / 2 + 1 - name_size.x / 2, y - 1.5), color(255, 255, 255, alpha), nil, name)
    end
end


local function keybinds()
    if solus_select:get('Keybinds') then
    animations:new_frame()
    local binds = ui.get_binds()
    local j = 0
    local m_alpha = 0
    local maximum_offset = 28
    local kb_shown = false

    for i = 1, #binds do
        local c_name = binds[i].name
        if c_name == 'Peek Assist' then c_name = 'Quick peek' end
        if c_name == 'Edge Jump' then c_name = 'Jump at edge' end
        if c_name == 'Hide Shots' then c_name = 'Hide shots' end
        if c_name == 'Minimum Damage' then c_name = 'Damage override' end
        if c_name == 'Fake Latency' then c_name = 'Ping spike' end
        if c_name == 'Fake Duck' then c_name = 'Duck peek assist' end
        if c_name == 'Safe Points' then c_name = 'Safe point' end
        if c_name == 'Body Aim' then c_name = 'Body aim' end
        if c_name == 'Yaw Base' then c_name = 'Manual override' end
        if c_name == 'Slow Walk' then c_name = 'Slow motion' end

        local text_width = render.measure_text(1, nil, c_name).x - 30

        if binds[i].active then
            kb_shown = true
            maximum_offset = maximum_offset < text_width and text_width or maximum_offset
        end
    end

    local w = 90 + maximum_offset
    local x,y = drag_items.x_slider:get(), drag_items.y_slider:get()

    m_alpha = animations:animate('state', not (kb_shown or ui.get_alpha() == 1))
    tween_table.kb_alpha = tween.new(0.25, tween_data, {kb_alpha = w}, 'outCubic');w = tween_data.kb_alpha

    render_conteiner(x-1, y, w, 17, 'keybinds', 11, 1, math.floor(tonumber(m_alpha*255)))
    --Render.BoxFilled(vector(x, y), vector(x + w, y + 18), Color.new(0,0,0,1*m_alpha))
    --Render.BoxFilled(vector(x, y), vector(x + w, y + 2), Color.new(173/255, 249/255, 1,1*m_alpha))

    --Render.Text(' ' .. 'keybinds', vector(x - Render.CalcTextSize('keybinds', 11, font).x / 2 + w/2, y + 4), Color.new(1.0, 1.0, 1.0, 1*m_alpha), 11, 1, false)

    for i=1, #binds do
        local alpha = animations:animate(binds[i].name, not binds[i].active)
        local get_mode = binds[i].mode == 1 and '[holding]' or (binds[i].mode == 2 and '[toggled]') or '[?]'

        local c_name = binds[i].name
        if c_name == 'Peek Assist' then c_name = 'Quick peek' end
        if c_name == 'Edge Jump' then c_name = 'Jump at edge' end
        if c_name == 'Hide Shots' then c_name = 'Hide shots' end
        if c_name == 'Minimum Damage' then c_name = 'Damage override' end
        if c_name == 'Fake Latency' then c_name = 'Ping spike' end
        if c_name == 'Fake Duck' then c_name = 'Duck peek assist' end
        if c_name == 'Safe Points' then c_name = 'Safe point' end
        if c_name == 'Body Aim' then c_name = 'Body aim' end
        if c_name == 'Double Tap' then c_name = 'Double tap' end
        if c_name == 'Yaw Base' then c_name = 'Manual override' end
        if c_name == 'Slow Walk' then c_name = 'Slow motion' end


        local get_value = binds[i].value
        if c_name == 'Damage override' or c_name == 'Ping spike' then
            render.text(1, vector(x + 2, y + 18 + j), color(255, 255, 255, alpha*255), nil, c_name)
            render.text(1, vector(x - 12 + w - render.measure_text(1, nil, get_value).x , y + 18 + j), color(255, 255, 255, alpha*255), nil, "["..get_value.."]")
        else
            render.text(1, vector(x + 2, y + 18 + j), color(255, 255, 255, alpha*255), nil, c_name)
            render.text(1, vector(x - 2 + w - render.measure_text(1, nil, get_mode).x , y + 18 + j), color(255, 255, 255, alpha*255), nil, '' .. get_mode)
        end

        j = j + 15*alpha
        ::skip::
    end

    drag_window(x, y, 150, 25, drag_items.x_slider, drag_items.y_slider)
end
end
events.render:set(keybinds)
вроде работают. не проверял т.к. подписка закончилась
Работают, т.к многим не нравиться такие в2 солиусы
бля ну ник его в нле мне скажите...
хотя если вы не знаете как написать КЕЙБИНДЫ то что вы вообще тогда можете
Можешь пж выдать их мне пж, а то те солиусы многим не нравиться да и мне тоже
Ник:PEACEDUKE2
 
ryo
Пользователь
Статус
Оффлайн
Регистрация
4 Июн 2021
Сообщения
327
Реакции[?]
113
Поинты[?]
2K
Начинающий
Статус
Оффлайн
Регистрация
18 Окт 2022
Сообщения
37
Реакции[?]
3
Поинты[?]
0
выдал обоим
ток вы глоу пофиксите, а то я долбаеб, когда делал свечение про render.shadow забыл
Спасибо огромное.) Ну глов я тоже далбаёб я когда свои делал что бы ты понимал у меня на ватермарке глоу просто не было
 
dsc.gg/solar-tech
Продавец
Статус
Оффлайн
Регистрация
10 Мар 2022
Сообщения
141
Реакции[?]
53
Поинты[?]
15K
вроде работают. не проверял т.к. подписка закончилась
Код:
       if c_name == 'Peek Assist' then c_name = 'Quick peek' end
        if c_name == 'Edge Jump' then c_name = 'Jump at edge' end
        if c_name == 'Hide Shots' then c_name = 'Hide shots' end
        if c_name == 'Minimum Damage' then c_name = 'Damage override' end
        if c_name == 'Fake Latency' then c_name = 'Ping spike' end
        if c_name == 'Fake Duck' then c_name = 'Duck peek assist' end
        if c_name == 'Safe Points' then c_name = 'Safe point' end
        if c_name == 'Body Aim' then c_name = 'Body aim' end
        if c_name == 'Yaw Base' then c_name = 'Manual override' end
        if c_name == 'Slow Walk' then c_name = 'Slow motion' end
Это просто пиздец..
 
Начинающий
Статус
Оффлайн
Регистрация
19 Май 2021
Сообщения
55
Реакции[?]
4
Поинты[?]
3K
Код:
       if c_name == 'Peek Assist' then c_name = 'Quick peek' end
        if c_name == 'Edge Jump' then c_name = 'Jump at edge' end
        if c_name == 'Hide Shots' then c_name = 'Hide shots' end
        if c_name == 'Minimum Damage' then c_name = 'Damage override' end
        if c_name == 'Fake Latency' then c_name = 'Ping spike' end
        if c_name == 'Fake Duck' then c_name = 'Duck peek assist' end
        if c_name == 'Safe Points' then c_name = 'Safe point' end
        if c_name == 'Body Aim' then c_name = 'Body aim' end
        if c_name == 'Yaw Base' then c_name = 'Manual override' end
        if c_name == 'Slow Walk' then c_name = 'Slow motion' end
Это просто пиздец..
если что их просто слили с маркета на другом форуме.
 
Начинающий
Статус
Оффлайн
Регистрация
16 Авг 2021
Сообщения
33
Реакции[?]
2
Поинты[?]
0
та мне уже пох, давай ник, если без сабки смогу выдать то выдам
Приветик, вроде давно тема давняя, если не трудно, можешь выдать? Буду благодарен.
Ник prizrak12171
 
Сверху Снизу