-
Автор темы
- #1
Данный скрипт не проверялся модераторами, так как является кряком приватной LUA и в нём может присутствовать обфускация. Даже известные пользователи могут выложить вредоносный скрипт под видом крякнутого, поэтому любое использование исключительно на свой страх и риск.
Author: k1mbor
Миллион строчек, убогая драг система которая курсор тянет в середину объекта
Миллион строчек, убогая драг система которая курсор тянет в середину объекта
code_language.lua:
local screen_size = EngineClient.GetScreenSize()
local windows_value = Menu.MultiCombo('Visuals', 'Visuals', 'Windows', {'Watermark', 'Spectators', 'Hotkey list', 'Anti-aimbot indication', 'Frequency update information'}, 0)
local custom_value = Menu.Combo('Visuals', 'Visuals', 'User/Cheat name', {'Default', 'Custom'}, 0)
local custom_user_name = Menu.TextBox('Visuals', 'Visuals', 'Custom User name', 64, Cheat.GetCheatUserName())
local custom_cheatname = Menu.TextBox('Visuals', 'Visuals', 'Custom Cheat name', 64, 'skeet.cc')
local avatar_pos = Menu.Combo('Visuals', 'Visuals', 'Avatars Position', {'Disabled', 'Left', 'Right'}, 0)
local keybinds_value = Menu.Combo('Visuals', 'Visuals', 'Keybinds Mode', {'Key State', 'Key State + Value'}, 0)
local windows_theme = Menu.Combo('Visuals', 'Settings', 'Windows Theme', {'Default', 'Rounded', 'Half-Round', 'Glow'}, 0)
local line_theme = Menu.Combo('Visuals', 'Settings', 'Line Theme', {'Static', 'Gradient', 'Fade'}, 0)
local theme = Menu.Combo('Visuals', 'Settings', 'Theme', {'Dark', 'Light'}, 0)
local accent_color = Menu.ColorEdit('Visuals', 'Settings', 'Accent Color', Color.RGBA(142, 165, 229, 255))
local width_value = Menu.SliderInt('Visuals', 'Settings', 'Min. Width', 145, 80, 165)
local alpha_slider = Menu.SliderInt('Visuals', 'Settings', 'Background Alpha', 222, 0, 255)
local background_blur = Menu.SwitchColor('Visuals', 'Settings', 'Blur Background', false, Color.RGBA(255, 255, 255, 255))
local keybinds_x = Menu.SliderInt('Visuals', 'Settings', 'x_pos', screen_size.x/2-250, 1, screen_size.x)
local keybinds_y = Menu.SliderInt('Visuals', 'Settings', 'y_pos', screen_size.y/2-50, 1, screen_size.y)
local spectators_x = Menu.SliderInt('Visuals', 'Settings', 'x_poss', screen_size.x/2-550, 1, screen_size.x)
local spectators_y = Menu.SliderInt('Visuals', 'Settings', 'y_poss', screen_size.y/2-50, 1, screen_size.y)
verdanar11 = Render.InitFont('Verdana', 11, {'r'})
jmp_ecx = Utils.PatternScan('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.PatternScan('engine.dll', 'FF 15 ? ? ? ? A3 ? ? ? ? EB 05')) + 2)[0][0]
pGetModuleHandle = ffi.cast('uint32_t**', ffi.cast('uint32_t', Utils.PatternScan('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])
local frequency = pLpDevMode[0].dmDisplayFrequency
function lerp(time,a,b)
return a * (1-time) + b * time
end
textSize = 0
cheatname = 'killaura'
user_name = Cheat.GetCheatUserName()
ffi.cdef[[
typedef unsigned short WORD;
typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
}
SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
void GetLocalTime(
LPSYSTEMTIME lpSystemTime
);
]]
function get_time()
local systym_time = ffi.new('SYSTEMTIME')
ffi.C.GetLocalTime(systym_time)
return {
hour = systym_time.wHour,
minute = systym_time.wMinute,
second = systym_time.wSecond,
milliseconds = systym_time.wMilliseconds,
}
end
function watermark()
local time = get_time()
if time.hour < 10 then time.hour = '0' .. time.hour end
if time.minute < 10 then time.minute = '0' .. time.minute end
if time.second < 10 then time.second = '0' .. time.second end
local screen = EngineClient.GetScreenSize()
local ticks = math.floor(1.0 / GlobalVars.interval_per_tick)
local rightPadding = 12
local var = screen.x - textSize - rightPadding
local x = var - 18
local y = 7
local w = textSize + 20
local h = 16
local start_position = x - 22
if custom_value:Get() == 0 then
cheatname = 'killaura'
user_name = Cheat.GetCheatUserName()
else
cheatname = custom_cheatname:Get()
user_name = custom_user_name:Get()
if custom_cheatname:Get() == '' then
cheatname = 'killaura'
end
if custom_user_name:Get() == '' then
user_name = Cheat.GetCheatUserName()
end
end
local actual_time = ('%02d:%02d:%02d'):format(time.hour, time.minute, time.second)
local suffix = ("%s"):format(cheatname)
local nexttext = ('%s | %s | %s'):format(suffix, user_name, actual_time)
if EngineClient.IsInGame() then
local latency = EngineClient.GetNetChannelInfo():GetLatency(0)
if latency == nil then latency = 0 end
local latency_text = latency > 5 and (' | delay: %dms'):format(latency) or ''
nexttext = ('%s | %s%s | %s'):format(suffix, user_name, latency_text, actual_time)
end
local text_size = Render.CalcTextSize(nexttext, 11, verdanar11)
if background_blur:GetBool() then
Render.Blur(Vector2.new(x+10,y+2+1),Vector2.new(x+textSize+20,h * 1.5 + 4), background_blur:GetColor(), windows_theme:Get() == 0 and 0 or 6)
end
if windows_theme:Get() == 0 then
if line_theme:Get() == 0 then
Render.BoxFilled(Vector2.new(x+10,y+1),Vector2.new(x+textSize+20,h-6), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b))
elseif line_theme:Get() == 1 then
Render.GradientBoxFilled(Vector2.new(x+10+(textSize/2),y+1),Vector2.new(x+textSize+20,h-6), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0))
Render.GradientBoxFilled(Vector2.new(x+10,y+1), Vector2.new(x+(textSize+20)/2,h-6), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1))
elseif line_theme:Get() == 2 then
Render.GradientBoxFilled(Vector2.new(x+10+(textSize/2),y+1),Vector2.new(x+textSize+20,h-6), Color.RGBA(204, 18, 204, 255), Color.RGBA(255, 250, 0, 255), Color.RGBA(204, 18, 204, 255), Color.RGBA(255, 250, 0, 255))
Render.GradientBoxFilled(Vector2.new(x+10,y+1), Vector2.new(x+(textSize+20)/2,h-6), Color.RGBA(0, 213, 255, 255), Color.RGBA(204, 18, 204, 255), Color.RGBA(0, 213, 255, 255), Color.RGBA(204, 18, 204, 255))
end
Render.BoxFilled(Vector2.new(x+10,y+2+1),Vector2.new(x+textSize+20,h * 1.5 + 4), theme:Get() == 0 and Color.RGBA(17, 17, 17, alpha_slider:Get()) or Color.RGBA(237, 237, 237, alpha_slider:Get()))
elseif windows_theme:Get() == 1 then
Render.BoxFilled(Vector2.new(x+10,y+2+1),Vector2.new(x+textSize+20,h * 1.5 + 4), theme:Get() == 0 and Color.RGBA(17, 17, 17, alpha_slider:Get()) or Color.RGBA(237, 237, 237, alpha_slider:Get()), 6)
Render.Box(Vector2.new(x+9, y+1+1), Vector2.new(x+textSize+21, h * 1.5 + 5), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), 6)
elseif windows_theme:Get() == 2 then
Render.BoxFilled(Vector2.new(x+13,y+1),Vector2.new(x+textSize+17,h-6), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b))
Render.BoxFilled(Vector2.new(x+10,y+2+1),Vector2.new(x+textSize+20,h * 1.5 + 4), theme:Get() == 0 and Color.RGBA(17, 17, 17, alpha_slider:Get()) or Color.RGBA(237, 237, 237, alpha_slider:Get()), 6)
Render.Circle( -- right
Vector2.new(x + textSize + 16, y + text_size.y - 4),
5, 90, Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), 2, 270, 370
)
Render.Circle( -- left
Vector2.new(start_position + 36, y + text_size.y - 4),
5, 90, Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), 2, 270, 170
)
Render.GradientBoxFilled(
Vector2.new(x + textSize + 22, y + text_size.y - 4),
Vector2.new(x + textSize + 20, y + text_size.y + 3),
Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b),
Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b)
)
Render.GradientBoxFilled(
Vector2.new(start_position + 32, y + text_size.y - 4),
Vector2.new(start_position + 32 - 2, y + text_size.y + 3),
Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b),
Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0)
)
else
renderer_window(x+10, y+2+1, x + textSize+20, y+2+1 + h + 2, Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, alpha_slider:GetInt()/255), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), false, true)
end
Render.Text(nexttext, Vector2.new(var-2,13), theme:Get() == 0 and Color.RGBA(0, 0, 0, 180) or Color.RGBA(255, 255, 255, 180), 11, verdanar11)
Render.Text(nexttext, Vector2.new(var-3,12), theme:Get() == 0 and Color.RGBA(255, 255, 255, 255) or Color.RGBA(0, 0, 0, 255), 11, verdanar11)
--Render.Text(cheatname:sub(1, #cheatname / 2), Vector2.new(var-3,12), theme:Get() == 0 and Color.RGBA(255, 255, 255, 255) or Color.RGBA(0, 0, 0, 255), 11, verdanar11)
local wide = Render.CalcTextSize(nexttext, 11, verdanar11)
var = var + wide.x
textSize = var - (screen.x - textSize - rightPadding)
end
current_choke = 0
ind_phase, ind_num, ind_time = 0, 0, 0
last_sent, current_choke = 0, 0
teleport = 0
last_origin = 0
breaking_lc = 0
function gram_create(value, count) local gram = { }; for i=1, count do gram[i] = value; end return gram; end
function gram_update(tab, value, forced) local new_tab = tab; if forced or new_tab[#new_tab] ~= value then table.insert(new_tab, value); table.remove(new_tab, 1); end; tab = new_tab; end
function get_average(tab) local elements, sum = 0, 0; for k, v in pairs(tab) do sum = sum + v; elements = elements + 1; end return sum / elements; end
gram_fyaw = gram_create(0, 2)
teleport_data = gram_create(0, 3)
avg = 0
gram_update(gram_fyaw, math.min(math.abs(AntiAim.GetCurrentRealRotation() - AntiAim.GetFakeRotation()), 58), true)
client = {}
client.data_call = {}
client.delay_call = function(time, fn)
table.insert(client.data_call, {
fn = fn,
time = time,
realtime = GlobalVars.realtime
})
function client_call_delay()
for i, data in ipairs(client.data_call) do
if data.realtime + data.time < GlobalVars.realtime then
data.fn()
data.realtime = GlobalVars.realtime
end
end
end
end
client.delay_call(0.4, function() --Oh no cringe
if not EngineClient.IsInGame() or not EngineClient.IsConnected() or EntityList.GetLocalPlayer() == nil then return end
gram_update(gram_fyaw, math.min(math.abs(Menu.FindVar('Aimbot', 'Anti Aim', 'Fake Angle', 'LBY Mode'):Get() == 1 and (AntiAim.GetCurrentRealRotation() - AntiAim.GetFakeRotation())/2 or (AntiAim.GetCurrentRealRotation() - AntiAim.GetFakeRotation())), 58), true)
current_choke = ClientState.m_choked_commands
avg = math.abs(GlobalVars.frametime*600)
end)
function update_choked()
if not EngineClient.IsInGame() or not EngineClient.IsConnected() or EntityList.GetLocalPlayer() == nil then return end
if ClientState.m_choked_commands == 0 then
local m_origin = EntityList.GetLocalPlayer():GetProp('m_vecOrigin')
if last_origin ~= nil then
teleport = (m_origin-last_origin):Length2D()
gram_update(teleport_data, teleport, true)
end
last_sent = current_choke
last_origin = m_origin
end
breaking_lc =
get_average(teleport_data) > 65 and 1 or
(Exploits.GetCharge() > 0.7 and 2 or 0)
end
lag_data = gram_create(0, 90)
function get_color(number, max, i)
local Colors = {
{ 255, 0, 0 },
{ 237, 27, 3 },
{ 235, 63, 6 },
{ 229, 104, 8 },
{ 228, 126, 10 },
{ 220, 169, 16 },
{ 213, 201, 19 },
{ 176, 205, 10 },
{ 124, 195, 13 }
}
function math.num(int, max, declspec)
local int = (int > max and max or int)
local tmp = max / int;
if not declspec then declspec = max end
local i = (declspec / tmp)
i = (i >= 0 and math.floor(i + 0.5) or math.ceil(i - 0.5))
return i
end
i = math.num(number, max, #Colors)
return
Colors[i <= 1 and 1 or i][1],
Colors[i <= 1 and 1 or i][2],
Colors[i <= 1 and 1 or i][3],
i
end
function graphs() local a = {} function a:renderer_line(b, c, d) renderer_line(b.x, b.y, c.x, c.y, Color.new(d.r, d.g, d.b, d.a)) end function a:renderer_rectangle_filled(b, c, d) local e = c.x - b.x local f = c.y - b.y if e < 0 then if f < 0 then renderer_rectangle(c.x, c.y, -e, -f, Color.new(d.r, d.g, d.b, d.a)) else renderer_rectangle(c.x, b.y, -e, f, Color.new(d.r, d.g, d.b, d.a)) end else if f < 0 then renderer_rectangle(b.x, c.y, e, -f, Color.new(d.r, d.g, d.b, d.a)) else renderer_rectangle(b.x, b.y, e, f, Color.new(d.r, d.g, d.b, d.a)) end end end function a:renderer_rectangle_filled_gradient(b, c, g, h, i) local e = c.x - b.x local f = c.y - b.y if e < 0 then if f < 0 then renderer_gradient(c.x, c.y, -e, -f, Color.new(g.r,g.g,g.b,g.a), Color.new(h.r,h.g,h.b,h.a), i) else renderer_gradient(c.x, b.y, -e, f, Color.new(g.r,g.g,g.b,g.a), Color.new(h.r,h.g,h.b,h.a), i) end else if f < 0 then renderer_gradient(b.x, c.y, e, -f, Color.new(h.r,h.g,h.b,h.a), Color.new(g.r,g.g,g.b,g.a), i) else renderer_gradient(b.x, b.y, e, f, Color.new(h.r,h.g,h.b,h.a), Color.new(g.r,g.g,g.b,g.a), i) end end end function a:draw_histogram(j, k, l, m, n) local p = k k = 0 l = l - p local r = n.w_IO / (m - 1) local s = l - k for t = 1, m - 1 do local u = {(j[t] - p) / s, (j[t + 1] - p) / s} local v = { {x = math.floor(n.x_HZ + r * (t - 1)), y = math.floor(n.y_HZ + n.h_IO - n.h_IO * u[1])}, {x = math.floor(n.x_HZ + r * t), y = math.floor(n.y_HZ + n.h_IO)}, isZero = math.floor(n.y_HZ + n.h_IO) == math.floor(n.y_HZ + n.h_IO - n.h_IO * u[1]) } if n.sDrawBar == 'fill' then a:renderer_rectangle_filled( {x = v[1].x, y = v[1].y}, {x = v[2].x, y = v[2].y}, {r = n.clr_1[1], g = n.clr_1[2], b = n.clr_1[3], a = n.clr_1[4]} ) elseif n.sDrawBar == 'gradient_fadeout' then a:renderer_rectangle_filled_gradient( {x = v[1].x, y = v[1].y}, {x = v[2].x, y = v[2].y}, {r = n.clr_1[1], g = n.clr_1[2], b = n.clr_1[3], a = 0}, {r = n.clr_1[1], g = n.clr_1[2], b = n.clr_1[3], a = n.clr_1[4]}, false ) elseif n.sDrawBar == 'gradient_fadein' then a:renderer_rectangle_filled_gradient( {x = v[1].x, y = v[1].y}, {x = v[2].x, y = v[2].y}, {r = n.clr_1[1], g = n.clr_1[2], b = n.clr_1[3], a = n.clr_1[4]}, {r = n.clr_1[1], g = n.clr_1[2], b = n.clr_1[3], a = 0}, false ) else end if n.bDrawPeeks and not v.isZero then a:renderer_line( {x = v[1].x, y = v[1].y}, {x = v[2].x, y = v[1].y}, {r = n.clr_2[1], g = n.clr_2[2], b = n.clr_2[3], a = n.clr_2[4]} ) end end end return a end
function renderer_gradient(x,y,w,h,c1,c2,ishorizon)
if ishorizon == true then
Render.GradientBoxFilled(Vector2.new(x,y),Vector2.new(x+w,y+h),c1,c2,c1,c2)
else
Render.GradientBoxFilled(Vector2.new(x,y),Vector2.new(x+w,y+h),c1,c1,c2,c2)
end
end
function renderer_fade(x, y, w, h, color, length, round)
local r, g, b, a = color.r, color.g, color.b, color.a
for i = 1, 10 do
Render.Box(Vector2.new(x - i, y - i), Vector2.new(w + i, h + i), Color.new(r, g, b, (60 - (60 / length) * i) * (a / 255)), round)
--Render.BoxFilled(Vector2.new(x,y),Vector2.new(x+w,y+h),c1,round)
end
end
function renderer_window(x, y, w, h, color, shadow_color, outline_color, left, outline)
local r, g, b, a = color.r, color.g, color.b, color.a
local r1, g1, b1, a1 = shadow_color.r, shadow_color.g, shadow_color.b, shadow_color.a
local r2, g2, b2, a2 = outline_color.r, outline_color.g, outline_color.b, outline_color.a
--render.blur(x, y, w, h, 1)
if background_blur:GetBool() then
Render.Blur(Vector2.new(x, y), Vector2.new(w, h), Color.new(1,1,1, 1), 5)
end
if outline then
Render.Circle(Vector2.new(x + 4, y + 4), 4, 4, Color.new(r, g, b, 1), 1, -175, -90)
Render.BoxFilled(Vector2.new(x + 4, y), Vector2.new(w - 5, y+1), Color.new(r, g, b, 1))
Render.Circle(Vector2.new(w - 4, y + 4), 4, 4, Color.new(r, g, b, 1), 1, 260, 370)
Render.GradientBoxFilled(Vector2.new(x, y + 4), Vector2.new(x + 1, h - 6), Color.new(r, g, b, 1), Color.new(r, g, b, 1), Color.new(r, g, b, 0), Color.new(r, g, b, 0))
Render.GradientBoxFilled(Vector2.new(w - 1, y + 4), Vector2.new(w, h - 6), Color.new(r, g, b, 1), Color.new(r, g, b, 1), Color.new(r, g, b, 0), Color.new(r, g, b, 0))
end
Render.Box(Vector2.new(x, y), Vector2.new(w, h), Color.new(r2, g2, b2, (80 / 255) * a2), 5)
if left then
Render.BoxFilled(Vector2.new(x, y + 4), Vector2.new(x+1, h - 5), Color.new(r, g, b, 1))
Render.Circle(Vector2.new(x + 5, y + 5), 5, 12, Color.new(r, g, b, 1), 1, -90, -165)
Render.Circle(Vector2.new(x + 5, h - 5), 5, 12, Color.new(r, g, b, 1), 1, -185, -255)
Render.GradientBoxFilled(Vector2.new(x + 4, y), Vector2.new(x+20, y+1), Color.new(r, g, b, 1), Color.new(r, g, b, 0), Color.new(r, g, b, 1), Color.new(r, g, b, 0))
Render.GradientBoxFilled(Vector2.new(x + 4, h - 1), Vector2.new(x+20, h), Color.new(r, g, b, 1), Color.new(r, g, b, 0), Color.new(r, g, b, 1), Color.new(r, g, b, 0))
end
Render.BoxFilled(Vector2.new(x+1, y+1), Vector2.new(w-1, h-1), theme:Get() == 0 and Color.new(0, 0, 0, a) or Color.new(0.93, 0.93, 0.93, a) , 5)
renderer_fade(x, y, w, h, Color.new(r1, g1, b1, (120 / 255) * a1), 10, 10)
end
function renderer_rectangle(x,y,w,h,c1)
if windows_theme:Get() == 0 then
Render.BoxFilled(Vector2.new(x,y),Vector2.new(x+w,y+h),c1,windows_theme:Get() == 0 and 0 or 6)
elseif windows_theme:Get() == 1 then
Render.BoxFilled(Vector2.new(x,y),Vector2.new(x+w,y+h),c1,windows_theme:Get() == 0 and 0 or 6)
Render.Box(Vector2.new(x-1, y-1), Vector2.new(x + w + 1, y + h + 1), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), 6)
elseif windows_theme:Get() == 2 then
Render.BoxFilled(Vector2.new(x,y),Vector2.new(x+w,y+h),c1,windows_theme:Get() == 0 and 0 or 6)
Render.BoxFilled(Vector2.new(x+3,y),Vector2.new(x-3+w,y-2), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b))
Render.Circle(Vector2.new(x + w - 4, y + h - 13.7), 5, 90, Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), 2, 270, 370)
Render.Circle(Vector2.new(x - 32 + 36, y + h - 13.7), 5, 90, Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), 2, 270, 170)
Render.GradientBoxFilled(Vector2.new(x + w + 2, y + h - 13.7), Vector2.new(x + w, y + h - 7), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b))
Render.GradientBoxFilled(Vector2.new(x - 32 + 32, y + h - 13.7), Vector2.new(x - 32 + 32 - 2, y + h - 7), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0))
end
end
function renderer_blur(x,y,w,h,c)
Render.Blur(Vector2.new(x,y),Vector2.new(x+w,y+h), c, windows_theme:Get() == 0 and 0 or 6)
end
function renderer_text(x,y,cent,string,c1,font,size,alpha)
Render.Text(string,Vector2.new(x+1,y+1),theme:Get() == 0 and Color.RGBA(0, 0, 0, alpha) or Color.RGBA(255, 255, 255, alpha),size,font,false,cent)
Render.Text(string,Vector2.new(x,y),c1,size,font,false,cent)
end
function renderer_line(x,y,w,h,c1)
Render.Line(Vector2.new(x, y), Vector2.new(w,h), c1)
end
formatting = (function(avg)
if avg < 1 then return ('%.2f'):format(avg) end
if avg < 10 then return ('%.1f'):format(avg) end
return ('%d'):format(avg)
end)
fps_data = gram_create(0, 30)
g_frameRate, g_prev_frameRate, x_minus = 0, 0, 0
function solus_ui()
if not EngineClient.IsInGame() or not EngineClient.IsConnected() or EntityList.GetLocalPlayer() == nil then return end
local transp = alpha_slider:GetInt()
local addr, nval = '', false
local r, g, b = 150, 150, 150
local fr = GlobalVars.frametime * 3.75
local min_offset = 1200+math.max(0, get_average(teleport_data)-3800)
local teleport_mt = math.abs(math.min(teleport-3800, min_offset) / min_offset * 100)
if ind_num ~= teleport_mt and ind_time < GlobalVars.realtime then
ind_time = GlobalVars.realtime + 0.005
ind_num = ind_num + (ind_num > teleport_mt and -1 or 1)
end
ind_phase = ind_phase + (breaking_lc == 1 and fr or -fr)
ind_phase = ind_phase > 1 and 1 or ind_phase
ind_phase = ind_phase < 0 and 0 or ind_phase
if breaking_lc == 2 then
addr, ind_phase, ind_num = ' | SHIFTING', 0, 0
r, g, b = 228, 126, 10
elseif ind_phase > 0.1 then
addr = ' | dst: \x20\x20\x20\x20\x20\x20\x20\x20\x20'
end
local text_FL = ('FL: %s%s'):format(
(function()
if tonumber(last_sent) < 10 then
return '\x20\x20' .. last_sent
end
return last_sent
end)(),
addr)
local h_FL, w_FL = 18, (windows_value:Get(4) and EntityList.GetLocalPlayer():IsAlive()) and Render.CalcTextSize(text_FL,11,verdanar11).x + 8 or -4
local x_FL, y_FL = screen_size.x, (windows_value:Get(1) and 35 or 10) + (25*0)
x_FL = x_FL - w_FL - 10
if windows_value:Get(4) and EntityList.GetLocalPlayer():IsAlive() then
if background_blur:GetBool() and windows_theme:Get() ~= 3 then
renderer_blur(x_FL, y_FL, w_FL, h_FL, background_blur:GetColor())
end
renderer_rectangle(x_FL, y_FL, w_FL, h_FL, theme:Get() == 0 and Color.RGBA(17,17,17,transp) or Color.RGBA(237,237,237,transp))
if windows_theme:Get() == 0 then
renderer_gradient(x_FL, y_FL+h_FL, w_FL-w_FL/2, 1, theme:Get() == 0 and Color.RGBA(17,17,17,transp) or Color.RGBA(237,237,237,transp), Color.RGBA(r, g, b,255),true)
renderer_gradient(x_FL + w_FL/2, y_FL + h_FL, w_FL - w_FL/2, 1, Color.RGBA(r, g, b,255), theme:Get() == 0 and Color.RGBA(17,17,17,transp) or Color.RGBA(237,237,237,transp),true)
elseif windows_theme:Get() == 3 then
renderer_window(x_FL, y_FL, x_FL+w_FL, y_FL+h_FL, Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, transp/255), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), false, true)
end
if ind_phase > 0 then
renderer_gradient(
x_FL + w_FL - Render.CalcTextSize(' | dst: ', 11, verdanar11).x + 2,
y_FL + 6, math.min(100, ind_num) / 100 * 24, 5,
Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, ind_phase*220/255),
Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, ind_phase * 25/255),
true
)
end
renderer_text(x_FL+4, y_FL + 2,false,text_FL,theme:Get() == 0 and Color.RGBA(255,255,255,255) or Color.RGBA(0, 0, 0, 255),verdanar11,11,120)
end
local add_text = ((get_average(gram_fyaw) > 0) and windows_theme:Get() ~= 3) and '\x20\x20\x20\x20\x20' or ''
text_FI = ('%sFAKE (%.1f°) '):format(add_text, get_average(gram_fyaw))
local h_FI, w_FI = 18, (windows_value:Get(4) and EntityList.GetLocalPlayer():IsAlive()) and Render.CalcTextSize(text_FI,11,verdanar11).x + 8 or 0
local r,g,b = get_color(get_average(gram_fyaw),30)
local dec = { math.ceil(r - (r/100 * 50)), math.ceil(g - (g/100 * 50)), math.ceil(b - (b/100 * 50)) }
if (windows_value:Get(4) and EntityList.GetLocalPlayer():IsAlive()) then
if background_blur:GetBool() and windows_theme:Get() ~= 3 then
renderer_blur(x_FL - w_FI - 4, y_FL, w_FI, h_FI, background_blur:GetColor())
end
if windows_theme:Get() ~= 3 then
renderer_gradient(x_FL - w_FI - 6, y_FL, 2, h_FI / 2,Color.RGBA(dec[1], dec[2], dec[3],0),Color.RGBA(r,g,b,255),false)
renderer_gradient(x_FL - w_FI - 6, y_FL + h_FI / 2, 2, h_FI / 2,Color.RGBA(r,g,b,255),Color.RGBA(dec[1], dec[2], dec[3],0),false)
renderer_gradient(x_FL - w_FI - 4, y_FL, w_FI / 2, h_FI,theme:Get() == 0 and Color.RGBA(17,17,17,math.floor(transp/20)) or Color.RGBA(237,237,237,math.floor(transp/20)),theme:Get() == 0 and Color.RGBA(17,17,17,transp) or Color.RGBA(237,237,237,transp),true)
renderer_gradient(x_FL - w_FI - 4 + w_FI / 2, y_FL, w_FI / 2, h_FI,theme:Get() == 0 and Color.RGBA(17,17,17,transp) or Color.RGBA(237,237,237,transp),theme:Get() == 0 and Color.RGBA(17,17,17,math.floor(transp/20)) or Color.RGBA(237,237,237,math.floor(transp/20)),true)
if get_average(gram_fyaw) > 0 then
Render.Circle(Vector2.new(x_FL - w_FI + 6, y_FL + 8.5), 5, 32, Color.RGBA(89, 119, 239, 255), 2, 0, math.min(360, get_average(gram_fyaw)*6.21))
end
else
renderer_window(x_FL - w_FI - 6, y_FL, x_FL - 6, y_FL+h_FI, Color.RGBA(r,g,b,transp), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), true, false)
end
renderer_text(x_FL - w_FI, y_FL + 2,false,text_FI,theme:Get() == 0 and Color.RGBA(255,255,255,255) or Color.RGBA(0, 0, 0, 255),verdanar11,11,120)
end
local text_HZ = ('%sms / %dhz'):format(formatting(avg), frequency)
local h_HZ, w_HZ = 18, windows_value:Get(5) and Render.CalcTextSize(text_HZ,11,verdanar11).x+8 or -4
local x_HZ, y_HZ = screen_size.x, (windows_value:Get(1) and 35 or 10) + (25*((windows_value:Get(4) and EntityList.GetLocalPlayer():IsAlive()) and 1 or 0))
local x_HZ = x_HZ - w_HZ - 10
if windows_value:Get(5) then
local interp = { get_color(15-avg, 15) }
if background_blur:GetBool() and windows_theme:Get() ~= 3 then
renderer_blur(x_HZ, y_HZ, w_HZ, h_HZ, background_blur:GetColor())
end
renderer_rectangle(x_HZ, y_HZ, w_HZ, h_HZ, theme:Get() == 0 and Color.RGBA(17,17,17,transp) or Color.RGBA(237,237,237,transp))
if windows_theme:Get() == 0 then
renderer_gradient(x_HZ,y_HZ+h_HZ,w_HZ/2,1,theme:Get() == 0 and Color.RGBA(17,17,17,math.floor(transp/3)) or Color.RGBA(237,237,237,math.floor(transp/3)),Color.RGBA(interp[1], interp[2], interp[3], 255),true )
renderer_gradient(x_HZ + w_HZ/2, y_HZ+h_HZ, w_HZ-w_HZ/2, 1,Color.RGBA(interp[1], interp[2], interp[3], 255),theme:Get() == 0 and Color.RGBA(17,17,17,math.floor(transp/3)) or Color.RGBA(237,237,237,math.floor(transp/3)), true)
elseif windows_theme:Get() == 3 then
renderer_window(x_HZ, y_HZ, x_HZ+w_HZ, y_HZ+h_HZ, Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, transp/255), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), false, true)
end
renderer_text(x_HZ+4, y_HZ + 2,false,text_HZ,theme:Get() == 0 and Color.RGBA(255,255,255,255) or Color.RGBA(0, 0, 0, 255),verdanar11,11,120)
end
g_frameRate = 0.9 * g_frameRate + (1.0 - 0.9) * GlobalVars.absoluteframetime
gram_update(fps_data, math.abs(g_prev_frameRate-(1/g_frameRate)), true)
g_prev_frameRate = 1/g_frameRate
local g_nValues_t = {
avg, 1, 3,
get_average(fps_data)/4, 0
}
local min_value, max_value = math.min(unpack(g_nValues_t)), math.max(unpack(g_nValues_t))
local text_IO_sub = ' '
local text_IO = 'IO | ' .. text_IO_sub
local w_IE = Render.CalcTextSize(text_IO_sub,11,verdanar11).x+3
local h_IO, w_IO = 18, Render.CalcTextSize(text_IO,11,verdanar11).x+8
local graphics = graphs()
if windows_theme:Get() == 0 then
x_minus = 0
elseif windows_theme:Get() == 1 then
x_minus = 2
elseif windows_theme:Get() == 2 then
x_minus = 6
else
x_minus = 0
end
if windows_value:Get(5) then
if background_blur:GetBool() and windows_theme:Get() ~= 3 then
renderer_blur(x_HZ - x_minus - w_IO - 4, y_HZ, w_IO, h_IO, background_blur:GetColor())
end
renderer_rectangle(x_HZ - x_minus - w_IO - 4, y_HZ, w_IO, h_IO,theme:Get() == 0 and Color.RGBA(17,17,17,transp) or Color.RGBA(237,237,237,transp))
if windows_theme:Get() == 3 then
renderer_window(x_HZ - x_minus - w_IO - 4, y_HZ, x_HZ - x_minus - w_IO - 4+w_IO, y_HZ+h_IO, Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, transp/255), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), true, false)
end
renderer_text(x_HZ - x_minus - w_IO, y_HZ + 2,false,text_IO,theme:Get() == 0 and Color.RGBA(255,255,255,255) or Color.RGBA(0, 0, 0, 255),verdanar11,11,120)
graphics:draw_histogram(g_nValues_t, 0, max_value, #g_nValues_t, {
x_HZ = x_HZ - x_minus - w_IO + 1 + w_IE,
y_HZ = y_HZ + 4,
w_IO = w_IO - w_IE - 9,
h_IO = h_IO - 8,
sDrawBar = 'gradient_fadein', -- 'none', 'fill', 'gradient_fadeout', 'gradient_fadein'
bDrawPeeks = false,
thickness = 1,
clr_1 = { accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1 },
clr_2 = { 0, 0.5, 1, 1 },
})
end
end
function Render.conteiner(x, y, w, h, name, font_size, font)
local name_size = Render.CalcTextSize(name, font_size, font)
if background_blur:GetBool() then
Render.Blur(Vector2.new(x, y), Vector2.new(x + w + 3, y + h + 2), background_blur:GetColor(), windows_theme:Get() == 0 and 0 or 6)
end
if windows_theme:Get() == 0 then
if line_theme:Get() == 0 then
Render.BoxFilled(Vector2.new(x, y), Vector2.new(x + w + 3, y - 2), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1))
elseif line_theme:Get() == 1 then
Render.GradientBoxFilled(Vector2.new(x + w/2, y), Vector2.new(x + w + 3, y - 2), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0))
Render.GradientBoxFilled(Vector2.new(x, y), Vector2.new(x + (w + 3)/2, y - 2), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1))
elseif line_theme:Get() == 2 then
Render.GradientBoxFilled(Vector2.new(x + w/2, y), Vector2.new(x + w + 3, y - 2), Color.RGBA(204, 18, 204, 255), Color.RGBA(255, 250, 0, 255), Color.RGBA(204, 18, 204, 255), Color.RGBA(255, 250, 0, 255))
Render.GradientBoxFilled(Vector2.new(x, y), Vector2.new(x + (w + 3)/2, y - 2), Color.RGBA(0, 213, 255, 255), Color.RGBA(204, 18, 204, 255), Color.RGBA(0, 213, 255, 255), Color.RGBA(204, 18, 204, 255))
end
Render.BoxFilled(Vector2.new(x, y), Vector2.new(x + w + 3, y + h + 2), theme:Get() == 0 and Color.RGBA(18, 18, 18, alpha_slider:Get()) or Color.RGBA(237, 237, 237, alpha_slider:Get()))
elseif windows_theme:Get() == 1 then
Render.BoxFilled(Vector2.new(x, y), Vector2.new(x + w + 3, y + h + 2), theme:Get() == 0 and Color.RGBA(18, 18, 18, alpha_slider:Get()) or Color.RGBA(237, 237, 237, alpha_slider:Get()), 6)
Render.Box(Vector2.new(x-1, y-1), Vector2.new(x + w + 4, y + h + 3), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), 6)
elseif windows_theme:Get() == 2 then
Render.BoxFilled(Vector2.new(x+4,y),Vector2.new(x-1+w,y-2), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b))
Render.BoxFilled(Vector2.new(x, y), Vector2.new(x + w + 3, y + h + 2), theme:Get() == 0 and Color.RGBA(18, 18, 18, alpha_slider:Get()) or Color.RGBA(237, 237, 237, alpha_slider:Get()), 6)
Render.Circle( -- right
Vector2.new(x + w - 1, y + h - 12),
5, 90, Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), 2, 270, 370
)
Render.Circle( -- left
Vector2.new(x - 32 + 36, y + h - 12),
5, 90, Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), 2, 270, 170
)
Render.GradientBoxFilled(
Vector2.new(x + w + 5, y + h - 11),
Vector2.new(x + w + 3, y + h - 7),
Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b),
Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b)
)
Render.GradientBoxFilled(
Vector2.new(x - 32 + 32, y + h - 11),
Vector2.new(x - 32 + 32 - 2, y + h - 7),
Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b),
Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0)
)
else
-- renderer_fade(x, y, x + w + 3, y + h + 2 , Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, (120 / 255) * accent_color:GetColor().a), 10, 10)
renderer_window(x, y, x + w + 3, y + h + 2, Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, alpha_slider:GetInt()/255), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), false, true)
--Render.BoxFilled(Vector2.new(x, y), Vector2.new(x + w + 3, y + h + 2), theme:Get() == 0 and Color.RGBA(18, 18, 18, alpha_slider:Get()) or Color.RGBA(237, 237, 237, alpha_slider:Get()), 6)
end
Render.Text(name, Vector2.new(x+2 + w / 2 + 1 - name_size.x / 2, y + 3), theme:Get() == 0 and Color.RGBA(0, 0, 0, 180) or Color.RGBA(255, 255, 255, 180), font_size, font)
Render.Text(name, Vector2.new(x+1 + w / 2 + 1 - name_size.x / 2, y + 2), theme:Get() == 0 and Color.RGBA(255, 255, 255, 255) or Color.RGBA(0, 0, 0, 255), font_size, font)
end
keybinds_x:SetVisible(false)
keybinds_y:SetVisible(false)
spectators_x:SetVisible(false)
spectators_y:SetVisible(false)
local g_players = { }
alpha_k = 1
data_k = {
[''] = {alpha_k = 0}
}
drag_s = false
width_k = 0
width_ka = 0
alpha_s = 1
width_sa = 0
width_s = 0
dick = 0
data_s = {
[''] = {alpha_s = 0}
}
function getsteam_id(steamid)
return string.sub(tostring(ffi.new('uint64_t', 76561197960265728) + ffi.new('uint64_t', steamid)), 1, -4)
end
width_k = 0
width_ka = 0
function get_spectators(player)
local buffer = { }
local players = EntityList.GetPlayers()
for tbl_idx, player_pointer in pairs(players) do
if player_pointer:EntIndex() ~= player:EntIndex() then
if not player_pointer:IsAlive() then
local spectatingMode = player_pointer:GetProp('m_iObserverMode')
local spectatingPlayer = player_pointer:GetProp('m_hObserverTarget')
if spectatingPlayer then
if spectatingMode >= 4 or spectatingMode <= 5 then
local spectatingEntity = EntityList.GetClientEntityFromHandle(spectatingPlayer)
if spectatingEntity ~= nil and spectatingEntity:EntIndex() == player:EntIndex() then
local player_info = player_pointer:GetPlayerInfo()
table.insert(buffer, 1, {
['id'] = player_info.iSteamID,
['id64'] = getsteam_id(player_info.iSteamID),
['name'] = player_pointer:GetName()
})
end
end
end
end
end
end
return buffer
end
function getspectators()
if not EngineClient.IsConnected() or EngineClient.GetLocalPlayer() == nil or EntityList.GetLocalPlayer() == nil then return end
local local_player = EntityList.GetLocalPlayer()
if local_player == nil then return end
if local_player:IsAlive() then
return get_spectators(local_player:GetPlayer())
else
local m_hObserverTarget = local_player:GetProp('m_hObserverTarget')
if m_hObserverTarget then
local targetEntity = EntityList.GetClientEntityFromHandle(m_hObserverTarget)
if targetEntity ~= nil then
return get_spectators(targetEntity:GetPlayer())
end
end
end
end
function loadimages()
if not EngineClient.IsConnected() or EntityList.GetLocalPlayer() == nil then return end
local players = EntityList.GetPlayers()
for tbl_idx, player_pointer in pairs(players) do
local player_info = player_pointer:GetPlayerInfo()
if g_players[player_info.iSteamID] == nil then
g_players[player_info.iSteamID] = {
['downloaded'] = false,
['image'] = nil
}
Http.GetAsync(string.format('https://steamcommunity.com/profiles/%s/?xml=1', getsteam_id(player_info.iSteamID)), function(url_content)
if player_info.fakeplayer then
ht4r = 'https://avatars.cloudflare.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_medium.jpg'
else
if url_content == nil then return end
link_start = string.find(url_content, '<avatarMedium>')
if link_start == nil then return end
link_end = string.find(url_content, '</avatarMedium>')
if link_end == nil then return end
ht4r = url_content:sub(link_start+23,link_end-4);
end
Http.GetAsync(ht4r, function(response)
local image = Render.LoadImage(response, Vector2.new(12, 12))
g_players[player_info.iSteamID].downloaded = true
g_players[player_info.iSteamID].image = image
end)
end)
else
if g_players[player_info.iSteamID].downloaded and g_players[player_info.iSteamID].image == nil then
Http.GetAsync(string.format('https://steamcommunity.com/profiles/%s/?xml=1', getsteam_id(player_info.iSteamID)), function(url_content)
if player_info.fakeplayer then
ht4r = 'https://avatars.cloudflare.steamstatic.com/fef49e7fa7e1997310d705b2a6158ff8dc1cdfeb_medium.jpg'
else
if url_content == nil then return end
link_start = string.find(url_content, '<avatarMedium>')
if link_start == nil then return end
link_end = string.find(url_content, '</avatarMedium>')
if link_end == nil then return end
ht4r = url_content:sub(link_start+23,link_end-4);
end
Http.GetAsync(ht4r, function(response)
local image = Render.LoadImage(response, Vector2.new(12, 12))
g_players[player_info.iSteamID].downloaded = true
g_players[player_info.iSteamID].image = image
end)
end)
end
end
end
end
function Render.conteiner(x, y, w, h, name, font_size, font)
local name_size = Render.CalcTextSize(name, font_size, font)
if background_blur:GetBool() then
Render.Blur(Vector2.new(x, y), Vector2.new(x + w + 3, y + h + 2), background_blur:GetColor(), windows_theme:Get() == 0 and 0 or 6)
end
if windows_theme:Get() == 0 then
if line_theme:Get() == 0 then
Render.BoxFilled(Vector2.new(x, y), Vector2.new(x + w + 3, y - 2), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1))
elseif line_theme:Get() == 1 then
Render.GradientBoxFilled(Vector2.new(x + w/2, y), Vector2.new(x + w + 3, y - 2), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0))
Render.GradientBoxFilled(Vector2.new(x, y), Vector2.new(x + (w + 3)/2, y - 2), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1))
elseif line_theme:Get() == 2 then
Render.GradientBoxFilled(Vector2.new(x + w/2, y), Vector2.new(x + w + 3, y - 2), Color.RGBA(204, 18, 204, 255), Color.RGBA(255, 250, 0, 255), Color.RGBA(204, 18, 204, 255), Color.RGBA(255, 250, 0, 255))
Render.GradientBoxFilled(Vector2.new(x, y), Vector2.new(x + (w + 3)/2, y - 2), Color.RGBA(0, 213, 255, 255), Color.RGBA(204, 18, 204, 255), Color.RGBA(0, 213, 255, 255), Color.RGBA(204, 18, 204, 255))
end
Render.BoxFilled(Vector2.new(x, y), Vector2.new(x + w + 3, y + h + 2), theme:Get() == 0 and Color.RGBA(18, 18, 18, alpha_slider:Get()) or Color.RGBA(237, 237, 237, alpha_slider:Get()))
elseif windows_theme:Get() == 1 then
Render.BoxFilled(Vector2.new(x, y), Vector2.new(x + w + 3, y + h + 2), theme:Get() == 0 and Color.RGBA(18, 18, 18, alpha_slider:Get()) or Color.RGBA(237, 237, 237, alpha_slider:Get()), 6)
Render.Box(Vector2.new(x-1, y-1), Vector2.new(x + w + 4, y + h + 3), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), 6)
elseif windows_theme:Get() == 2 then
Render.BoxFilled(Vector2.new(x+4,y),Vector2.new(x-1+w,y-2), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b))
Render.BoxFilled(Vector2.new(x, y), Vector2.new(x + w + 3, y + h + 2), theme:Get() == 0 and Color.RGBA(18, 18, 18, alpha_slider:Get()) or Color.RGBA(237, 237, 237, alpha_slider:Get()), 6)
Render.Circle( -- right
Vector2.new(x + w - 1, y + h - 12),
5, 90, Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), 2, 270, 370
)
Render.Circle( -- left
Vector2.new(x - 32 + 36, y + h - 12),
5, 90, Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), 2, 270, 170
)
Render.GradientBoxFilled(
Vector2.new(x + w + 5, y + h - 11),
Vector2.new(x + w + 3, y + h - 7),
Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b),
Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b)
)
Render.GradientBoxFilled(
Vector2.new(x - 32 + 32, y + h - 11),
Vector2.new(x - 32 + 32 - 2, y + h - 7),
Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b),
Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 0)
)
else
-- renderer_fade(x, y, x + w + 3, y + h + 2 , Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, (120 / 255) * accent_color:GetColor().a), 10, 10)
renderer_window(x, y, x + w + 3, y + h + 2, Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, alpha_slider:GetInt()/255), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), Color.new(accent_color:GetColor().r, accent_color:GetColor().g, accent_color:GetColor().b, 1), false, true)
--Render.BoxFilled(Vector2.new(x, y), Vector2.new(x + w + 3, y + h + 2), theme:Get() == 0 and Color.RGBA(18, 18, 18, alpha_slider:Get()) or Color.RGBA(237, 237, 237, alpha_slider:Get()), 6)
end
Render.Text(name, Vector2.new(x+2 + w / 2 + 1 - name_size.x / 2, y + 3), theme:Get() == 0 and Color.RGBA(0, 0, 0, 180) or Color.RGBA(255, 255, 255, 180), font_size, font)
Render.Text(name, Vector2.new(x+1 + w / 2 + 1 - name_size.x / 2, y + 2), theme:Get() == 0 and Color.RGBA(255, 255, 255, 255) or Color.RGBA(0, 0, 0, 255), font_size, font)
end
function spec_solus()
local spectators = getspectators()
if not EngineClient.IsConnected() or spectators == nil or EntityList.GetLocalPlayer() == nil then return end
loadimages()
local add_y = 0
local max_width = 0
local active_spec = {}
local frametime = GlobalVars.frametime * 16
if spectators ~= nil then
local currentIndex = 1
if spectators ~= nil then
for i = 1, #spectators do
v = spectators[i]
if g_players[v.id].downloaded then
local name_size = Render.CalcTextSize(v.name, 11, verdanar11)
if data_s[v.name] == nil then
data_s[v.name] = {alpha_s = 0}
end
data_s[v.name].alpha_s = lerp(frametime, data_s[v.name].alpha_s,dick < 1 and 1 or 0)
if avatar_pos:Get() == 0 then
Render.Text(v.name, Vector2.new(spectators_x:GetInt()+4+1, spectators_y:GetInt() + 22 + add_y), Color.new(0, 0, 0, data_s[v.name].alpha_s), 11, verdanar11)
Render.Text(v.name, Vector2.new(spectators_x:GetInt()+4, spectators_y:GetInt() + 21 + add_y), Color.new(1, 1, 1, data_s[v.name].alpha_s), 11, verdanar11)
elseif avatar_pos:Get() == 1 then
Render.Image(g_players[v.id].image, Vector2.new(spectators_x:GetInt()+4, spectators_y:GetInt() + 21 + add_y), Vector2.new(12, 12))
Render.Text(v.name, Vector2.new(spectators_x:GetInt()+22, spectators_y:GetInt() + 22 + add_y), Color.new(0, 0, 0, data_s[v.name].alpha_s), 11, verdanar11)
Render.Text(v.name, Vector2.new(spectators_x:GetInt()+22-1, spectators_y:GetInt() + 21 + add_y), Color.new(1, 1, 1, data_s[v.name].alpha_s), 11, verdanar11)
else
Render.Image(g_players[v.id].image, Vector2.new(spectators_x:GetInt()-13 + width_sa, spectators_y:GetInt() + 21 + add_y), Vector2.new(12, 12))
Render.Text(v.name, Vector2.new(spectators_x:GetInt()+4+1, spectators_y:GetInt() + 22 + add_y), Color.new(0, 0, 0, data_s[v.name].alpha_s), 11, verdanar11)
Render.Text(v.name, Vector2.new(spectators_x:GetInt()+4, spectators_y:GetInt() + 21 + add_y), Color.new(1, 1, 1, data_s[v.name].alpha_s), 11, verdanar11)
end
add_y = add_y + 17 * data_s[v.name].alpha_s
local width_s = name_size.x + 21
if width_s > width_value:Get()-11 then
if width_s > max_width then
max_width = width_s
end
end
if dick then
table.insert(active_spec, dick)
end
currentIndex = currentIndex + 1
end
end
end
local dick = #spectators
end
alpha_s = lerp(frametime,alpha_s, (Cheat.IsMenuVisible() or #active_spec > 0) and 1 or 0)
width_sa = lerp(frametime,width_sa,math.max(max_width, width_value:Get()-11))
if #active_spec > 0 or Cheat.IsMenuVisible() then
Render.conteiner(spectators_x:GetInt(), spectators_y:GetInt(), width_sa, 16, 'spectators', 11, verdanar11)
local mouse = Cheat.GetMousePos()
if Cheat.IsKeyDown(1) and Cheat.IsMenuVisible() and drag == false then
if mouse.x >= spectators_x:GetInt() and mouse.y >= spectators_y:GetInt() and mouse.x <= spectators_x:GetInt() + width_value:Get()-11 and mouse.y <= spectators_y:GetInt() + 18 or drag_s then
if not drag_s then
drag_s = true
else
spectators_x:SetInt(mouse.x - math.floor(width_sa / 2))
spectators_y:SetInt(mouse.y - 8)
end
end
else
drag_s = false
end
end
end
function getbinds()
local binds = {}
local cheatbinds = Cheat.GetBinds()
for i = 1, #cheatbinds do
table.insert(binds, 1, cheatbinds[i])
end
return binds
end
local keybind_names = {
['Double Tap'] = 'Double tap',
['Hide Shots'] = 'On shot anti-aim',
['Slow Walk'] = 'Slow motion',
['Edge Jump'] = 'Jump at edge',
['Fake Ping'] = 'Ping spike',
['Override Resolver'] = 'Resolver override',
['Fake Duck'] = 'Duck peek assist',
['Minimum Damage'] = 'Damage override',
['Auto Peek'] = 'Quick peek assist',
['Body Aim'] = 'Force body aim',
['Safe Points'] = 'Safe points',
['Yaw Base'] = 'Yaw base',
['Enable Thirdperson'] = 'Thirdperson',
['Manual Yaw Base'] = 'Yaw base',
}
function upper_to_lower(str)
str1 = string.sub(str, 2, #str)
str2 = string.sub(str, 1, 1)
return str2:upper()..str1:lower()
end
function keybinds()
local x_k, y_k = keybinds_x:GetInt(), keybinds_y:GetInt()
local max_width = 0
local frametime = GlobalVars.frametime * 16
local add_y = 0
local total_width = 66
local active_binds = {}
local bind = getbinds()
for i = 1, #bind do
local binds = bind[i]
local bind_name = keybind_names[binds:GetName()] == nil and upper_to_lower(binds:GetName()) or keybind_names[binds:GetName()]
local bind_state = binds:GetValue():lower()
if keybinds_value:Get() == 0 then
bind_state = binds:GetMode()
if bind_state == 0 then
bind_state = 'toggled'
elseif bind_state == 1 then
bind_state = 'holding'
end
elseif keybinds_value:Get() == 1 then
if bind_state == 'on' then
bind_state = binds:GetMode()
if bind_state == 0 then
bind_state = 'toggled'
elseif bind_state == 1 then
bind_state = 'holding'
end
end
end
if data_k[bind_name] == nil then
data_k[bind_name] = {alpha_k = 0}
end
--if Cheat.IsMenuVisible() then
-- bind_name = 'Menu toggled'
--end
data_k[bind_name].alpha_k = lerp(frametime, data_k[bind_name].alpha_k,binds:IsActive() and 1 or 0)
local bind_state_size = Render.CalcTextSize(bind_state, 11, verdanar11)
local bind_name_size = Render.CalcTextSize(bind_name, 11, verdanar11)
Render.Text(bind_name, Vector2.new(x_k+4, y_k + 21 + add_y), Color.new(0, 0, 0, data_k[bind_name].alpha_k), 11, verdanar11)
Render.Text('['..bind_state..']', Vector2.new(x_k+1 + (width_ka - bind_state_size.x - 8), y_k + 21 + add_y), Color.new(0, 0, 0, data_k[bind_name].alpha_k), 11, verdanar11)
Render.Text(bind_name, Vector2.new(x_k+3, y_k + 20 + add_y), Color.new(1, 1, 1, data_k[bind_name].alpha_k), 11, verdanar11)
Render.Text('['..bind_state..']', Vector2.new(x_k + (width_ka - bind_state_size.x- 8), y_k + 20 + add_y), Color.new(1, 1, 1, data_k[bind_name].alpha_k), 11, verdanar11)
add_y = add_y + 16 * data_k[bind_name].alpha_k
local width_k = bind_state_size.x + bind_name_size.x + 18
if width_k > width_value:Get()-11 then
if width_k > max_width then
max_width = width_k
end
end
if binds:IsActive() then
table.insert(active_binds, binds)
end
end
alpha_k = lerp(frametime,alpha_k, (Cheat.IsMenuVisible() or #active_binds > 0) and 1 or 0)
width_ka = lerp(frametime,width_ka,math.max(max_width, width_value:Get()-11))
if Cheat.IsMenuVisible() or #active_binds > 0 then
Render.conteiner(x_k, y_k, width_ka, 16, 'keybinds', 11, verdanar11)
local mouse = Cheat.GetMousePos()
if Cheat.IsKeyDown(1) and Cheat.IsMenuVisible() and drag_s == false then
if mouse.x >= x_k and mouse.y >= y_k and mouse.x <= x_k + width_ka and mouse.y <= y_k + 18 or drag then
if not drag then
drag = true
else
keybinds_x:SetInt(mouse.x - math.floor(width_ka / 2))
keybinds_y:SetInt(mouse.y - 8)
end
end
else
drag = false
end
end
end
Cheat.RegisterCallback('createmove', function()
update_choked()
end)
Cheat.RegisterCallback('draw', function()
client_call_delay()
if windows_value:Get(3) then
keybinds()
end
if windows_value:Get(1) then
watermark()
end
if windows_value:Get(4) or windows_value:Get(5) then
solus_ui()
end
if windows_value:Get(2) then
spec_solus()
end
end)
line_theme:SetVisible(windows_theme:Get() == 0 and windows_value:Get() ~= 0)
avatar_pos:SetVisible(windows_value:Get(2))
custom_cheatname:SetVisible(windows_value:Get(1) and custom_value:Get() == 1)
custom_user_name:SetVisible(windows_value:Get(1) and custom_value:Get() == 1)
custom_value:SetVisible(windows_value:Get(1))
keybinds_value:SetVisible(windows_value:Get(3))
windows_theme:SetVisible(windows_value:Get() ~= 0)
accent_color:SetVisible(windows_value:Get() ~= 0)
background_blur:SetVisible(windows_value:Get() ~= 0)
alpha_slider:SetVisible(windows_value:Get() ~= 0)
width_value:SetVisible(windows_value:Get(2) or windows_value:Get(3))
theme:SetVisible(windows_value:Get() ~= 0)
windows_theme:RegisterCallback(function()
line_theme:SetVisible(windows_theme:Get() == 0 and windows_value:Get() ~= 0)
end)
windows_value:RegisterCallback(function()
avatar_pos:SetVisible(windows_value:Get(2))
custom_cheatname:SetVisible(windows_value:Get(1) and custom_value:Get() == 1)
custom_user_name:SetVisible(windows_value:Get(1) and custom_value:Get() == 1)
custom_value:SetVisible(windows_value:Get(1))
keybinds_value:SetVisible(windows_value:Get(3))
windows_theme:SetVisible(windows_value:Get() ~= 0)
accent_color:SetVisible(windows_value:Get() ~= 0)
background_blur:SetVisible(windows_value:Get() ~= 0)
alpha_slider:SetVisible(windows_value:Get() ~= 0)
theme:SetVisible(windows_value:Get() ~= 0)
width_value:SetVisible(windows_value:Get(2) or windows_value:Get(3))
end)
custom_value:RegisterCallback(function()
custom_cheatname:SetVisible(windows_value:Get(1) and custom_value:Get() == 1)
custom_user_name:SetVisible(windows_value:Get(1) and custom_value:Get() == 1)
end)
Вложения
-
9.5 KB Просмотры: 215