jaxov:ну тут платно а я хочу бесплатноПожалуйста, авторизуйтесь для просмотра ссылки.
бля ну ник его в нле мне скажите...jaxov:ну тут платно а я хочу бесплатно
У него спрашивай ево ник, и умеет ли он писать кейбинды. Но по шапке понятно что он не умеет делать ихбля ну ник его в нле мне скажите...
хотя если вы не знаете как написать КЕЙБИНДЫ то что вы вообще тогда можете
Ему они нужны либо (учить и написать свои что мало вероятно) либо (для супермега корда)бля ну ник его в нле мне скажите...
хотя если вы не знаете как написать КЕЙБИНДЫ то что вы вообще тогда можете
бля ну ник его в нле мне скажите...
хотя если вы не знаете как написать КЕЙБИНДЫ то что вы вообще тогда можете
срочно помогите у кого они есть!!!!
--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 солиусывроде работают. не проверял т.к. подписка закончиласьКод:--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)
Можешь пж выдать их мне пж, а то те солиусы многим не нравиться да и мне тожебля ну ник его в нле мне скажите...
хотя если вы не знаете как написать КЕЙБИНДЫ то что вы вообще тогда можете
Пожалуйста, авторизуйтесь для просмотра ссылки.
выдал обоимPEACEDUKE2
Спасибо огромное.) Ну глов я тоже далбаёб я когда свои делал что бы ты понимал у меня на ватермарке глоу просто не быловыдал обоим
ток вы глоу пофиксите, а то я долбаеб, когда делал свечение про render.shadow забыл
А мне можешь пожалуйста выдать?выдал обоим
ток вы глоу пофиксите, а то я долбаеб, когда делал свечение про render.shadow забыл
та мне уже пох, давай ник, если без сабки смогу выдать то выдамА мне можешь пожалуйста выдать?
oppsite1337та мне уже пох, давай ник, если без сабки смогу выдать то выдам
вроде работают. не проверял т.к. подписка закончилась
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
если что их просто слили с маркета на другом форуме.Это просто пиздец..Код: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
Типа солюсов?срочно помогите у кого они есть!!!!
Приветик, вроде давно тема давняя, если не трудно, можешь выдать? Буду благодарен.та мне уже пох, давай ник, если без сабки смогу выдать то выдам
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz