0% found this document useful (0 votes)
15 views

Message

Uploaded by

crvcloudyx
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Message

Uploaded by

crvcloudyx
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 29

local user = "admin"

local function getbuild() return "beta" end


local function rgba(r, g, b, a, ...) return ("\a%x%x%x%x"):format(r, g, b,
a) .. ... end
local vector = require("vector")
local notify=(function()local b=vector;local c=function(d,b,c)return d+(b-d)*c
end;local e=function()return b(client.screen_size())end;local
f=function(d,...)local c={...}local c=table.concat(c,"")return
b(renderer.measure_text(d,c))end;local
g={notifications={bottom={}},max={bottom=6}}g.__index=g;g.new_bottom=function(h,i,j
,...)table.insert(g.notifications.bottom,
{started=false,instance=setmetatable({active=false,timeout=5,color={["r"]=h,
["g"]=i,["b"]=j,a=0},x=e().x/2,y=e().y,text=...},g)})end;function g:handler()local
d=0;local b=0;for d,b in pairs(g.notifications.bottom)do if not b.instance.active
and b.started then table.remove(g.notifications.bottom,d)end end;for
d=1,#g.notifications.bottom do if g.notifications.bottom[d].instance.active then
b=b+1 end end;for c,e in pairs(g.notifications.bottom)do if c>g.max.bottom then
return end;if e.instance.active then e.instance:render_bottom(d,b)d=d+1 end;if not
e.started then e.instance:start()e.started=true end end end;function
g:start()self.active=true;self.delay=globals.realtime()+self.timeout end;function
g:get_text()local d=""for b,b in pairs(self.text)do local c=f("",b[1])local
c,e,f=255,255,255;if b[2]then c,e,f=99,199,99 end;d=d..("\a%02x%02x%02x%02x
%s"):format(c,e,f,self.color.a,b[1])end;return d end;local k=(function()local
d={}d.rec=function(d,b,c,e,f,g,k,l,m)m=math.min(d/2,b/2,m)renderer.rectangle(d,b+m,
c,e-m*2,f,g,k,l)renderer.rectangle(d+m,b,c-
m*2,m,f,g,k,l)renderer.rectangle(d+m,b+e-m,c-
m*2,m,f,g,k,l)renderer.circle(d+m,b+m,f,g,k,l,m,180,.25)renderer.circle(d-
m+c,b+m,f,g,k,l,m,90,.25)renderer.circle(d-m+c,b-
m+e,f,g,k,l,m,0,.25)renderer.circle(d+m,b-m+e,f,g,k,l,m,-
90,.25)end;d.rec_outline=function(d,b,c,e,f,g,k,l,m,n)m=math.min(c/2,e/2,m)if m==1
then renderer.rectangle(d,b,c,n,f,g,k,l)renderer.rectangle(d,b+e-n,c,n,f,g,k,l)else
renderer.rectangle(d+m,b,c-m*2,n,f,g,k,l)renderer.rectangle(d+m,b+e-n,c-
m*2,n,f,g,k,l)renderer.rectangle(d,b+m,n,e-m*2,f,g,k,l)renderer.rectangle(d+c-
n,b+m,n,e-
m*2,f,g,k,l)renderer.circle_outline(d+m,b+m,f,g,k,l,m,180,.25,n)renderer.circle_out
line(d+m,b+e-m,f,g,k,l,m,90,.25,n)renderer.circle_outline(d+c-m,b+m,f,g,k,l,m,-
90,.25,n)renderer.circle_outline(d+c-m,b+e-m,f,g,k,l,m,0,.25,n)end
end;d.glow_module_notify=function(b,c,e,f,g,k,l,m,n,o,p,q,r,s,s)local t=1;local
u=1;if s then d.rec(b,c,e,f,l,m,n,o,k)end;for l=0,g do local
m=o/2*(l/g)^3;d.rec_outline(b+(l-g-u)*t,c+(l-g-u)*t,e-(l-g-u)*t*2,f-(l-g-
u)*t*2,p,q,r,m/1.5,k+t*(g-l+u),t)end end;return d end)()function
g:render_bottom(g,l)local e=e()local m=6;local n=" "..self:get_text()local
f=f("",n)local o=8;local p=5;local q=0+m+f.x;local q,r=q+p*2,12+10+1;local
s,t=self.x-q/2,math.ceil(self.y-40+.4)local u=globals.frametime()if
globals.realtime()<self.delay then self.y=c(self.y,e.y-45-(l-
g)*r*1.4,u*7)self.color.a=c(self.color.a,255,u*2)else self.y=c(self.y,self.y-
10,u*15)self.color.a=c(self.color.a,0,u*20)if self.color.a<=1 then
self.active=false end end;local
c,e,g,l=self.color.r,self.color.g,self.color.b,self.color.a;k.glow_module_notify(s,
t,q,r,15,o,25,25,25,l,179, 255, 18,l,true)local
k=p+2;k=k+0+m;renderer.text(s+k,t+r/2-f.y/2,99,199,99,l,"b",nil,"L")renderer.text(s
+k,t+r/2-f.y/
2,c,e,g,l,"",nil,n)end;client.set_event_callback("paint_ui",function()g:handler()en
d)return g end)()
notify.new_bottom(179, 255, 18, { { 'Loading' }, { "... ", true }, })
local w, h = client.screen_size()
local js = panorama.open()
local alpha = 69
local toggled = false
client.set_event_callback("paint_ui", function()
if alpha > 0 and toggled then
if alpha == 169 then
notify.new_bottom(179, 255, 18, { { 'Welcome: ' }, { user .. " ",
true } })
end
alpha = alpha - 0.5
else
if not toggled then
alpha = alpha + 1
if alpha == 254 then
toggled = true
end
alpha = alpha + 1
end
end
if alpha > 1 then
renderer.gradient(0,0,w,h,0,0,0,alpha,0,0,0,alpha,false)
end
end)
return (function(tbl)
tbl.items = {
enabled = tbl.ref("aa", "anti-aimbot angles", "enabled"),
pitch = tbl.ref("aa", "anti-aimbot angles", "pitch"),
base = tbl.ref("aa", "anti-aimbot angles", "yaw base"),
jitter = tbl.ref("aa", "anti-aimbot angles", "yaw jitter"),
yaw = tbl.ref("aa", "anti-aimbot angles", "yaw"),
body = tbl.ref("aa", "anti-aimbot angles", "body yaw"),
fsbody = tbl.ref("aa", "anti-aimbot angles", "freestanding body yaw"),
edge = tbl.ref("aa", "anti-aimbot angles", "edge yaw"),
roll = tbl.ref("aa", "anti-aimbot angles", "roll"),
fs = tbl.ref("aa", "anti-aimbot angles", "freestanding")
}
local prefix = function(x, z)
return (z and ("\a32a852FFluasense \a698a6dFF~ \a414141FF(\ab5b5b5FF%s\
a414141FF) \a89f596FF%s"):format(x, z) or ("\a32a852FFluasense \a698a6dFF~ \
a89f596FF%s"):format(x))
end
local ffi = require("ffi")
local clipboard = {
["ffi"] = ffi.cdef([[
typedef int(__thiscall* get_clipboard_text_count)(void*);
typedef void(__thiscall* set_clipboard_text)(void*, const char*, int);
typedef void(__thiscall* get_clipboard_text)(void*, int, const char*,
int);
]]),
["export"] = function(arg)
local pointer = ffi.cast(ffi.typeof('void***'),
client.create_interface('vgui2.dll', 'VGUI_System010'))
local func = ffi.cast('set_clipboard_text', pointer[0][9])
func(pointer, arg, #arg)
end,
["import"] = function()
local pointer = ffi.cast(ffi.typeof('void***'),
client.create_interface('vgui2.dll', 'VGUI_System010'))
local func = ffi.cast('get_clipboard_text_count', pointer[0][7])
local sizelen = func(pointer)
local output = ""
if sizelen > 0 then
local buffer = ffi.new("char[?]", sizelen)
local sizefix = sizelen * ffi.sizeof("char[?]", sizelen)
local extrafunc = ffi.cast('get_clipboard_text', pointer[0][11])
extrafunc(pointer, 0, buffer, sizefix)
output = ffi.string(buffer, sizelen-1)
end
return output
end
}
local category = ui.new_combobox("aa", "anti-aimbot angles",
prefix("category" .. rgba(69,169,155,255," " .. (getbuild() == "beta" and " (beta)"
or ""))), {"anti aimbot", "visuals & misc", "config"})
local aa = {}
local menu = {}
local notifications = {}
local draw_gamesense_ui = {}
draw_gamesense_ui.alpha = function(color, alpha)
color[4] = alpha
return color
end
draw_gamesense_ui.colors = {
main = {12, 12, 12},
border_edge = {60, 60, 60},
border_inner = {40, 40, 40},
gradient = {
top = {
left = {55, 177, 218},
middle = {204, 70, 205},
right = {204, 227, 53}
},
bottom = {
left = {29, 94, 116},
middle = {109, 37, 109},
right = {109, 121, 28}
},
pixel_three = {6, 6, 6}
},
combine = function(color1, color2, ...)
local t = {unpack(color1)}
for i = 1, #color2 do
table.insert(t, color2[i])
end
local args = {...}
for i = 1, #args do
table.insert(t, args[i])
end
return t
end
}
draw_gamesense_ui.border = function(x, y, width, height, alpha)
local x = x - 7 - 1
local y = y - 7 - 5
local w = width + 14 + 2
local h = height + 14 + 10
renderer.rectangle(x, y, w, h,
unpack(draw_gamesense_ui.alpha(draw_gamesense_ui.colors.main, alpha)))
renderer.rectangle(x + 1, y + 1, w - 2, h - 2,
unpack(draw_gamesense_ui.alpha(draw_gamesense_ui.colors.border_edge, alpha)))
renderer.rectangle(x + 2, y + 2, w - 4, h - 4,
unpack(draw_gamesense_ui.alpha(draw_gamesense_ui.colors.border_inner, alpha)))
renderer.rectangle(x + 6, y + 6, w - 12, h - 12,
unpack(draw_gamesense_ui.alpha(draw_gamesense_ui.colors.border_edge, alpha)))
end
draw_gamesense_ui.gradient = function(x, y, width, alpha)
local full_width = width
local width = math.floor(width / 2)
local top_left =
draw_gamesense_ui.alpha(draw_gamesense_ui.colors.gradient.top.left, alpha)
local top_middle =
draw_gamesense_ui.alpha(draw_gamesense_ui.colors.gradient.top.middle, alpha)
local top_right =
draw_gamesense_ui.alpha(draw_gamesense_ui.colors.gradient.top.right, alpha)
local bottom_left =
draw_gamesense_ui.alpha(draw_gamesense_ui.colors.gradient.bottom.left, alpha)
local bottom_middle =
draw_gamesense_ui.alpha(draw_gamesense_ui.colors.gradient.bottom.middle, alpha)
local bottom_right =
draw_gamesense_ui.alpha(draw_gamesense_ui.colors.gradient.bottom.right, alpha)
top_left = draw_gamesense_ui.colors.combine(top_left, top_middle, true)
top_right = draw_gamesense_ui.colors.combine(top_middle, top_right,
true)
bottom_left = draw_gamesense_ui.colors.combine(bottom_left,
bottom_middle, true)
bottom_right = draw_gamesense_ui.colors.combine(bottom_middle,
bottom_right, true)
local oddfix = math.ceil(full_width / 2)
renderer.gradient(x, y - 4, width, 1, unpack(top_left))
renderer.gradient(x + width, y - 4, oddfix, 1, unpack(top_right))
renderer.gradient(x, y - 3, width, 1, unpack(bottom_left))
renderer.gradient(x + width, y - 3, oddfix, 1, unpack(bottom_right))
renderer.rectangle(x, y - 2, full_width, 1,
unpack(draw_gamesense_ui.colors.gradient.pixel_three))
end
draw_gamesense_ui.draw = function(x, y, width, height, alpha)
y = y - 7
draw_gamesense_ui.border(x, y, width, height, alpha)
renderer.rectangle(x - 1, y - 5, width + 2, height + 10,
unpack(draw_gamesense_ui.alpha(draw_gamesense_ui.colors.main, alpha)))
draw_gamesense_ui.gradient(x, y, width, alpha)
end
local function push_notify(text)
if tbl.contains(ui.get(menu["visuals & misc"]["visuals"]["notify"]), "old")
then
notify.new_bottom(179, 255, 18, { { text } })
else
table.insert(notifications, 1, {
text = text,
alpha = 255,
spacer = 0,
lifetime = client.timestamp() + (10.0 * 100),
})
end
end
local lerp = function(current, to_reach, t) return current + (to_reach -
current) * t end
client.set_event_callback("paint_ui", function()
local width, height = client.screen_size()
local frametime = globals.frametime()
local timestamp = client.timestamp()
for idx, notification in next, notifications do
if timestamp > notification.lifetime then
notification.alpha = lerp(255, 0, 1 - (notification.alpha /
255) + frametime * (1 / 7.5 * 10))
end
if notification.alpha <= 0 then
notifications[idx] = nil
else
notification.spacer = lerp(notification.spacer, idx * 40,
frametime)
local text_width = renderer.measure_text("c",
notification.text) + 10
draw_gamesense_ui.draw(width/2 - text_width / 2, height/2 +
300 + notification.spacer, text_width, 12, notification.alpha)
renderer.text(width/2, height/2 + 300 +
notification.spacer, 255, 255, 255, notification.alpha, "c", 0,
notification.text:gsub("\a%x%x%x%x%x%x%x%x", function(color)
return color:sub(1, #color -
2)..string.format("%02x", notification.alpha)
end):sub(1, -1))
end
end
end)
menu = {
["anti aimbot"] = {
submenu = ui.new_combobox("aa", "anti-aimbot angles", "\nmenu",
{"builder", "keybinds", "features"}),
["builder"] = {
builder = ui.new_combobox("aa", "anti-aimbot angles",
prefix("builder"), tbl.states),
team = ui.new_combobox("aa", "anti-aimbot angles", "\nteam", {"ct",
"t"})
},
["keybinds"] = {
keys = ui.new_multiselect("aa", "anti-aimbot angles",
prefix("keys"), {"manual", "edge", "freestand"}),
left = ui.new_hotkey("aa", "anti-aimbot angles", prefix("left")),
right = ui.new_hotkey("aa", "anti-aimbot angles", prefix("right")),
forward = ui.new_hotkey("aa", "anti-aimbot angles",
prefix("forward")),
backward = ui.new_hotkey("aa", "anti-aimbot angles",
prefix("backward")),
type_manual = ui.new_combobox("aa", "anti-aimbot angles",
prefix("manual"), {"default", "jitter", "static"}),
edge = ui.new_hotkey("aa", "anti-aimbot angles", prefix("edge")),
type_freestand = ui.new_combobox("aa", "anti-aimbot angles",
prefix("freestand"), {"default", "jitter", "static"}),
freestand = ui.new_hotkey("aa", "anti-aimbot angles", "\
nfreestand", true),
disablers = ui.new_multiselect("aa", "anti-aimbot angles",
prefix("fs disablers"), {"air", "slow", "duck", "edge", "manual", "fake lag"})
},
["features"] = {
legit = ui.new_combobox("aa", "anti-aimbot angles",
prefix("legit"), {"off", "default", "luasense"}),
fix = ui.new_multiselect("aa", "anti-aimbot angles", "\nfix",
{"generic", "bombsite"}),
defensive = ui.new_combobox("aa", "anti-aimbot angles",
prefix("defensive"), {"off", "pitch", "spin", "random", "random pitch", "sideways
down", "sideways up"}),
fixer = ui.new_combobox("aa", "anti-aimbot angles", "\nfixer",
{"default", "luasense"}),
states = ui.new_multiselect("aa", "anti-aimbot angles", "\
nstates\n", {"standing", "moving", "air", "air duck", "duck", "duck moving", "slow
motion"}),
backstab = ui.new_combobox("aa", "anti-aimbot angles",
prefix("backstab"), {"off", "forward", "random"}),
distance = ui.new_slider("aa", "anti-aimbot angles", "\nbackstab",
100, 500, 250),
roll = ui.new_slider("aa", "anti-aimbot angles", prefix("roll"), -
45, 45, 0)
},
},
["visuals & misc"] = {
submenu = ui.new_combobox("aa", "anti-aimbot angles", "\nvisuals &
misc", {"visuals", "misc"}),
["visuals"] = {
watermark = ui.new_combobox("aa", "anti-aimbot angles",
prefix("always on", "watermark"), {"bottom", "right", "left"}),
watermark_color = ui.new_color_picker("aa", "anti-aimbot angles",
"\nwatermark", 150, 200, 69, 255),
watermark_spaces = ui.new_combobox("aa", "anti-aimbot angles",
prefix("remove spaces"), {"yes", "no"}),
notify = ui.new_multiselect("aa", "anti-aimbot angles",
prefix("notify"), {"hit", "miss", "shot", "reset", "old"}),
arrows = ui.new_combobox("aa", "anti-aimbot angles",
prefix("arrows"), {"-", "simple", "body", "luasense"}),
arrows_color = ui.new_color_picker("aa", "anti-aimbot angles", "\
narrows", 137, 245, 150, 255),
indicators = ui.new_combobox("aa", "anti-aimbot angles",
prefix("indicators"), {"-", "default"}),
indicators_color = ui.new_color_picker("aa", "anti-aimbot angles",
"\nindicators", 137, 245, 150, 255),
},
["misc"] = {
features = ui.new_multiselect("aa", "anti-aimbot angles",
prefix("features"), {"fix hideshot", "animations", "legs spammer"}),
spammer = ui.new_slider("aa", "anti-aimbot angles", "\nspammer", 1,
9, 1),
autobuy = ui.new_combobox("aa", "anti-aimbot angles", prefix("auto
buy"), {"off", "awp", "scout"})
}
},
["config"] = {
export = ui.new_button("aa", "anti-aimbot angles", "\a89f596FF export",
function()
local tbl = {}
for i, v in next, aa do
tbl[i] = {}
for index, value in next, v do
tbl[i][index] = {}
for ii, vv in next, value do
if ii == "type" then
tbl[i][index][ii] = ui.get(vv)
else
if ii ~= "button" then
tbl[i][index][ii] = {}
for iii, vvv in next, vv do
tbl[i][index][ii][iii] = ui.get(vvv)
end
end
end
end
end
end
tbl["extra"] = {}
for i, v in next, menu["anti aimbot"] do
if i == "submenu" then
tbl["extra"][i] = ui.get(v)
else
tbl["extra"][i] = {}
for index, value in next, v do
local fixer = true
if i == "keybinds" then
if index == "left" or index == "right" or index ==
"forward" or index == "backward" or index == "edge" or index == "freestand" then
fixer = false
end
end
if fixer then
tbl["extra"][i][index] = ui.get(value)
end
end
end
end
push_notify("Exported config!")
clipboard.export(json.stringify({["LUASENSE"] = tbl}))
end),
import = ui.new_button("aa", "anti-aimbot angles", "\a32a852FF import",
function()
local check, message = pcall(function()
local tbl = json.parse(clipboard.import())
for i, v in next, tbl["LUASENSE"]["extra"] do
if i == "submenu" then
ui.set(menu["anti aimbot"][i], v)
else
for index, value in next, v do
ui.set(menu["anti aimbot"][i][index], value)
end
end
end
tbl["LUASENSE"]["extra"] = nil
for i, v in next, tbl["LUASENSE"] do
for index, value in next, v do
for ii, vv in next, value do
if ii == "type" then
ui.set(aa[i][index][ii], vv)
else
for iii, vvv in next, vv do
ui.set(aa[i][index][ii][iii], vvv)
end
end
end
end
end
end)
push_notify(check and "Imported config!" or "Error while
importing!")
end),
}
}
for i, v in next, tbl.states do
aa[v] = {}
for index, value in next, {"ct", "t"} do
aa[v][value] = {
["type"] = ui.new_combobox("aa", "anti-aimbot angles", prefix(v ..
" " .. value, "type"), (v == "global" and {"normal", "luasense", "advanced",
"auto"} or {"disabled", "normal", "luasense", "advanced", "auto"})),
["normal"] = {
mode = ui.new_multiselect("aa", "anti-aimbot angles",
prefix(v .. " " .. value, "mode"), {"yaw", "left right"}),
yaw = ui.new_slider("aa", "anti-aimbot angles", prefix(v .. " "
.. value, "yaw"), -180, 180, 0),
left = ui.new_slider("aa", "anti-aimbot angles", prefix(v .. "
" .. value, "left"), -180, 180, 0),
right = ui.new_slider("aa", "anti-aimbot angles", prefix(v .. "
" .. value, "right"), -180, 180, 0),
method = ui.new_combobox("aa", "anti-aimbot angles",
prefix(v .. " " .. value, "method"), {"default", "luasense"}),
jitter = ui.new_combobox("aa", "anti-aimbot angles",
prefix(v .. " " .. value, "jitter"), {"off", "offset", "center", "random",
"skitter"}),
jitter_slider = ui.new_slider("aa", "anti-aimbot angles", "\
njitter slider " .. v .. " " .. value, -180, 180, 0),
body = ui.new_combobox("aa", "anti-aimbot angles", prefix(v ..
" " .. value, "body"), {"off", "luasense", "opposite", "static", "jitter"}),
body_slider = ui.new_slider("aa", "anti-aimbot angles", "\nbody
slider " .. v .. " " .. value, -180, 180, 0),
custom_slider = ui.new_slider("aa", "anti-aimbot angles", "\
ncustom slider " .. v .. " " .. value, 0, 60, 60),
defensive = ui.new_combobox("aa", "anti-aimbot angles",
prefix(v .. " " .. value, "defensive"), {"off", "always on", "luasense"})
},
["luasense"] = {
luasense = ui.new_slider("aa", "anti-aimbot angles",
prefix(v .. " " .. value, "luasense"), 1, 10, 1),
mode = ui.new_multiselect("aa", "anti-aimbot angles",
prefix(v .. " " .. value, "mode\n"), {"yaw", "left right"}),
yaw = ui.new_slider("aa", "anti-aimbot angles", prefix(v .. " "
.. value, "yaw\n"), -180, 180, 0),
left = ui.new_slider("aa", "anti-aimbot angles", prefix(v .. "
" .. value, "left\n"), -180, 180, 0),
right = ui.new_slider("aa", "anti-aimbot angles", prefix(v .. "
" .. value, "right\n"), -180, 180, 0),
fake = ui.new_slider("aa", "anti-aimbot angles", prefix(v .. "
" .. value, "fake"), 0, 60, 60),
defensive = ui.new_combobox("aa", "anti-aimbot angles",
prefix(v .. " " .. value, "defensive\n"), {"off", "always on", "luasense"})
},
["advanced"] = {
--trigger = tbl.item("new_combobox",
{rgba(69,169,55,255,v .. ": ") .. rgba(69,169,155,255,"Trigger"), "A: Brandon", "B:
Best", "C: Experimental", "Automatic"}),
trigger = ui.new_combobox("aa", "anti-aimbot angles",
prefix(v .. " " .. value, "trigger"), "a: brandon", "b: best", "c: experimental",
"automatic"),
left = ui.new_slider("aa", "anti-aimbot angles",
prefix(v .. " " .. value, "left\n\n"), -180, 180, 0),
right = ui.new_slider("aa", "anti-aimbot angles", prefix(v .. "
" .. value, "right\n\n"), -180, 180, 0),
defensive = ui.new_combobox("aa", "anti-aimbot
angles", prefix(v .. " " .. value, "defensive\n\n\n"), {"off", "always on",
"luasense"})
},
["auto"] = {
method = ui.new_combobox("aa", "anti-aimbot angles",
prefix(v .. " " .. value, "method\n"), {"simple", "luasense"}),
timer = ui.new_slider("aa", "anti-aimbot angles", "\ntimer",
50, 250, 150),
left = ui.new_slider("aa", "anti-aimbot angles",
prefix(v .. " " .. value, "left\n\n\n"), -180, 180, 0),
right = ui.new_slider("aa", "anti-aimbot angles", prefix(v .. "
" .. value, "right\n\n\n"), -180, 180, 0),
antibf = ui.new_combobox("aa", "anti-aimbot angles",
prefix(v .. " " .. value, "bruteforce"), {"no", "yes"}),
defensive = ui.new_combobox("aa", "anti-aimbot angles",
prefix(v .. " " .. value, "defensive\n\n"), {"off", "always on", "luasense"})
},
["disabled"] = {},
["button"] = ui.new_button("aa", "anti-aimbot angles", "\
a32a852FFsend to \a89f596FF" .. (value == "t" and "ct" or "t"), function()
local state = ui.get(menu["anti aimbot"]["builder"]["builder"])
local team = ui.get(menu["anti aimbot"]["builder"]["team"])
local target = (team == "t" and "ct" or "t")
for i, v in next, aa[state][team] do
if i ~= "button" then
if i == "type" then
ui.set(aa[state][target][i], ui.get(v))
else
for index, value in next, v do
ui.set(aa[state][target][i][index],
ui.get(value))
end
end
end
end
end)
}
end
end
tbl.refs = {
slow = tbl.ref("aa", "other", "slow motion"),
hide = tbl.ref("aa", "other", "on shot anti-aim"),
dt = tbl.ref("rage", "aimbot", "double tap")
}
tbl.antiaim = {
luasensefake = false,
autocheck = false,
current = false,
active = false,
count = false,
ready = false,
timer = 0,
fs = 0,
last = 0,
log = {},
manual = {
aa = 0,
tick = 0
}
}
local distance = function(x1,y1,z1,x2,y2,z2)
return math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2))
end
local extrapolate = function(player, ticks, x,y,z)
local xv, yv, zv = entity.get_prop(player, "m_vecVelocity")
local new_x = x + globals.tickinterval() * xv * ticks
local new_y = y + globals.tickinterval() * yv * ticks
local new_z = z + globals.tickinterval() * zv * ticks
return new_x, new_y, new_z
end
local function calcangle(localplayerxpos, localplayerypos, enemyxpos,
enemyypos)
local relativeyaw = math.atan( (localplayerypos - enemyypos) /
(localplayerxpos - enemyxpos) )
return relativeyaw * 180 / math.pi
end
local function angle_vector(angle_x, angle_y)
local sp, sy, cp, cy = nil
sy = math.sin(math.rad(angle_y));
cy = math.cos(math.rad(angle_y));
sp = math.sin(math.rad(angle_x));
cp = math.cos(math.rad(angle_x));
return cp * cy, cp * sy, -sp;
end
local enemy_visible = function(x)
if not (entity.is_alive(x) and not entity.is_dormant(x)) then
return false
end
for i=0, 18 do
if client.visible(entity.hitbox_position(x, i)) then
return true
end
end
return false
end
local function get_camera_pos(enemy)
local e_x, e_y, e_z = entity.get_prop(enemy, "m_vecOrigin")
if e_x == nil then return end
local _, _, ofs = entity.get_prop(enemy, "m_vecViewOffset")
e_z = e_z + (ofs - (entity.get_prop(enemy, "m_flDuckAmount") * 16))
return e_x, e_y, e_z
end
local function fired_at(target, shooter, shot)
local shooter_cam = { get_camera_pos(shooter) }
if shooter_cam[1] == nil then return end
local player_head = { entity.hitbox_position(target, 0) }
local shooter_cam_to_head = { player_head[1] -
shooter_cam[1],player_head[2] - shooter_cam[2],player_head[3] - shooter_cam[3] }
local shooter_cam_to_shot = { shot[1] - shooter_cam[1], shot[2] -
shooter_cam[2],shot[3] - shooter_cam[3]}
local magic = ((shooter_cam_to_head[1]*shooter_cam_to_shot[1]) +
(shooter_cam_to_head[2]*shooter_cam_to_shot[2]) +
(shooter_cam_to_head[3]*shooter_cam_to_shot[3])) /
(math.pow(shooter_cam_to_shot[1], 2) + math.pow(shooter_cam_to_shot[2], 2) +
math.pow(shooter_cam_to_shot[3], 2))
local closest = { shooter_cam[1] + shooter_cam_to_shot[1]*magic,
shooter_cam[2] + shooter_cam_to_shot[2]*magic, shooter_cam[3] +
shooter_cam_to_shot[3]*magic}
local length = math.abs(math.sqrt(math.pow((player_head[1]-closest[1]),
2) + math.pow((player_head[2]-closest[2]), 2) + math.pow((player_head[3]-
closest[3]), 2)))
local frac_shot = client.trace_line(shooter, shot[1], shot[2], shot[3],
player_head[1], player_head[2], player_head[3])
local frac_final = client.trace_line(target, closest[1], closest[2],
closest[3], player_head[1], player_head[2], player_head[3])
return (length < 69) and (frac_shot > 0.99 or frac_final > 0.99)
end
local tickshot = 0
client.set_event_callback("bullet_impact", function(event)
if entity.get_local_player() == nil then return end
local enemy = client.userid_to_entindex(event.userid)
local lp = entity.get_local_player()
if enemy == entity.get_local_player() or not entity.is_enemy(enemy) or
not entity.is_alive(lp) then return nil end
if fired_at(lp, enemy, {event.x, event.y, event.z}) then
if tickshot ~= globals.tickcount() then
if tbl.contains(ui.get(menu["visuals & misc"]["visuals"]
["notify"]), "shot") then
push_notify("Detected a shot!")
end
tickshot = globals.tickcount()
tbl.antiaim.count = true
tbl.antiaim.timer = 0
if tbl.antiaim.active and tbl.antiaim.log[enemy] == nil then
tbl.antiaim.log[enemy] = not tbl.antiaim.current
else
tbl.antiaim.log[enemy] = not tbl.antiaim.log[enemy]
end
end
end
end)
local hitboxes = { [0] = 'body', 'head', 'chest', 'stomach', 'arm', 'arm',
'leg', 'leg', 'neck', 'body', 'body' }
client.set_event_callback('aim_miss', function(shot)
if not tbl.contains(ui.get(menu["visuals & misc"]["visuals"]
["notify"]), "miss") then return nil end
local target = entity.get_player_name(shot.target):lower()
local hitbox = hitboxes[shot.hitgroup] or "?"
push_notify("Missed " .. target .. "'s " .. hitbox .. " due to " ..
shot.reason .. "!")
end)
client.set_event_callback('aim_hit', function(shot)
if not tbl.contains(ui.get(menu["visuals & misc"]["visuals"]
["notify"]), "hit") then return nil end
local target = entity.get_player_name(shot.target):lower()
local hitbox = hitboxes[shot.hitgroup] or "?"
push_notify("Hit " .. target .. "'s " .. hitbox .. " for " ..
shot.damage .. "!")
end)
local z = {}
z.defensive = {
cmd = 0,
check = 0,
defensive = 0,
run = function(arg)
z.defensive.cmd = arg.command_number
ladder = (entity.get_prop(z, "m_MoveType") == 9)
end,
predict = function(arg)
if arg.command_number == z.defensive.cmd then
local tickbase = entity.get_prop(entity.get_local_player(),
"m_nTickBase")
z.defensive.defensive = math.abs(tickbase -
z.defensive.check)
z.defensive.check = math.max(tickbase, z.defensive.check or
0)
z.defensive.cmd = 0
end
end
}
client.set_event_callback("level_init", function()
z.defensive.check, z.defensive.defensive = 0, 0
end)
local scope_fix = false
local scope_int = 0
local shift_int = 0
local list_shift = (function()
local index, max = { }, 16
for i=1, max do
index[#index+1] = 0
if i == max then
return index
end
end
end)()
z.dtshift = function()
local local_player = entity.get_local_player()
local sim_time = entity.get_prop(local_player, "m_flSimulationTime")
if local_player == nil or sim_time == nil then
return
end
local tick_count = globals.tickcount()
local shifted = math.max(unpack(list_shift))
shift_int = shifted < 0 and math.abs(shifted) or 0
list_shift[#list_shift+1] = sim_time/globals.tickinterval() -
tick_count
table.remove(list_shift, 1)
end
client.set_event_callback("net_update_start", z.dtshift)
client.set_event_callback("run_command", z.defensive.run)
client.set_event_callback("predict_command", z.defensive.predict)
local animkeys = {
dt = 0,
duck = 0,
hide = 0,
safe = 0,
baim = 0,
fs = 0
}
local gradient = function(r1, g1, b1, a1, r2, g2, b2, a2, text)
local output = ''
local len = #text-1
local rinc = (r2 - r1) / len
local ginc = (g2 - g1) / len
local binc = (b2 - b1) / len
local ainc = (a2 - a1) / len
for i=1, len+1 do
output = output .. ('\a%02x%02x%02x%02x%s'):format(r1, g1, b1,
a1, text:sub(i, i))
r1 = r1 + rinc
g1 = g1 + ginc
b1 = b1 + binc
a1 = a1 + ainc
end
return output
end
z.items = {}
z.items.keys = {
dt = {ui.reference("rage", "aimbot", "double tap")},
hs = {ui.reference("aa", "other", "on shot anti-aim")},
fd = {ui.reference("rage", "other", "duck peek assist")},
sp = {ui.reference("rage", "aimbot", "force safe point")},
fb = {ui.reference("rage", "aimbot", "force body aim")}
}
local limitfl = ui.reference("aa", "fake lag", "limit")
local legs = ui.reference("aa", "other", "leg movement")
local spammer = 0
tbl.tick_aa = -2147483500
tbl.list_aa = {}
tbl.reset_aa = false
tbl.defensive_aa = 1337
tbl.callbacks = {
["freestand"] = function()
local result = 0
local player = client.current_threat()
if player ~= nil and not enemy_visible(player) then
local lx, ly, lz = entity.get_prop(entity.get_local_player(),
"m_vecOrigin")
local enemyx, enemyy, enemyz = entity.get_prop(player,
"m_vecOrigin")
local yaw = calcangle(lx, ly, enemyx, enemyy)
local dir_x, dir_y = angle_vector(0, (yaw + 90))
local end_x = lx + dir_x * 55
local end_y = ly + dir_y * 55
local end_z = lz + 80
local index, damage = client.trace_bullet(player, enemyx, enemyy,
enemyz + 70, end_x, end_y, end_z,true)
if damage > 0 then result = 1 end
dir_x, dir_y = angle_vector(0, (yaw + -90))
end_x = lx + dir_x * 55
end_y = ly + dir_y * 55
end_z = lz + 80
index, damage = client.trace_bullet(player, enemyx, enemyy, enemyz
+ 70, end_x, end_y, end_z,true)
if damage > 0 then
if result == 1 then
result = 0
else
result = -1
end
end
end
tbl.antiaim.fs = result
end,
["command"] = function(arg)
local myself = entity.get_local_player()
local air = bit.band(entity.get_prop(myself, "m_fFlags"), 1) == 0
local xv, yv, zv = entity.get_prop(myself, "m_vecVelocity")
local duck = (entity.get_prop(myself, "m_flDuckAmount") > 0.1)
local team = (entity.get_prop(myself, "m_iTeamNum") == 2 and "t" or
"ct")
local fakelag = not ((ui.get(tbl.refs.dt[1]) and
ui.get(tbl.refs.dt[2])) or (ui.get(tbl.refs.hide[1]) and ui.get(tbl.refs.hide[2])))
local real_state = tbl.getstate(arg.in_jump == 1 or air, duck,
math.sqrt(xv*xv + yv*yv + zv*zv), (ui.get(tbl.refs.slow[1]) and
ui.get(tbl.refs.slow[2])))
local hideshot = ((ui.get(tbl.refs.hide[1]) and
ui.get(tbl.refs.hide[2])) and not (ui.get(tbl.refs.dt[1]) and
ui.get(tbl.refs.dt[2])))
local state = real_state
if fakelag and ui.get(aa["fake lag"][team]["type"]) ~= "disabled" then
state = "fake lag"
elseif hideshot and ui.get(aa["hide shot"][team]["type"]) ~= "disabled"
then
state = "hide shot"
elseif ui.get(aa[state][team]["type"]) == "disabled" then
state = "global"
else end
local enemy = client.current_threat()
local menutbl = aa[state][team]
ui.set(tbl.items.enabled[1], true)
ui.set(tbl.items.base[1], "at targets")
ui.set(tbl.items.pitch[1], "default")
ui.set(tbl.items.yaw[1], "180")
ui.set(tbl.items.fsbody[1], false)
ui.set(tbl.items.edge[1], false)
ui.set(tbl.items.fs[1], false)
ui.set(tbl.items.fs[2], "always on")
ui.set(tbl.items.roll[1], 0)
arg.roll = ui.get(menu["anti aimbot"]["features"]["roll"])
local myweapon = entity.get_player_weapon(myself)
if ui.get(menu["anti aimbot"]["features"]["legit"]) ~= "off" and
arg.in_use == 1 and entity.get_classname(myweapon) ~= "CC4" then
if tbl.contains(ui.get(menu["anti aimbot"]["features"]["fix"]),
"generic") then
if arg.chokedcommands ~= 1 then
arg.in_use = 0
end
else
arg.in_use = 0
end
if tbl.contains(ui.get(menu["anti aimbot"]["features"]["fix"]),
"bombsite") then
local player_x, player_y, player_z = entity.get_prop(myself,
"m_vecOrigin")
local distance_bomb = 100
local bomb = entity.get_all("CPlantedC4")[1]
local bomb_x, bomb_y, bomb_z = entity.get_prop(bomb,
"m_vecOrigin")
if bomb_x ~= nil then
distance_bomb = distance(bomb_x, bomb_y, bomb_z, player_x,
player_y, player_z)
end
local distance_hostage = 100
local hostage = entity.get_all("CPlantedC4")[1]
local hostage_x, hostage_y, hostage_z = entity.get_prop(bomb,
"m_vecOrigin")
if hostage_x ~= nil then
distance_hostage = distance(hostage_x, hostage_y,
hostage_z, player_x, player_y, player_z)
end
if (distance_bomb < 69) or (distance_hostage < 69) then
arg.in_use = 1
end
end
ui.set(tbl.items.base[1], "local view")
ui.set(tbl.items.pitch[1], "off")
ui.set(tbl.items.fsbody[1], true)
ui.set(tbl.items.yaw[2], 180)
ui.set(tbl.items.jitter[1], "off")
ui.set(tbl.items.jitter[2], 0)
if ui.get(menu["anti aimbot"]["features"]["legit"]) == "default" or
tbl.antiaim.fs == 0 then
ui.set(tbl.items.body[1], ui.get(menu["anti aimbot"]
["features"]["legit"]) == "default" and "opposite" or "jitter")
ui.set(tbl.items.body[2], 0)
else
ui.set(tbl.items.body[1], "static")
ui.set(tbl.items.body[2], tbl.antiaim.fs == 1 and -180 or 180)
if arg.chokedcommands == 0 then
arg.allow_send_packet = false
end
end
arg.force_defensive = true
return nil
end
if ui.get(menu["anti aimbot"]["features"]["backstab"]) ~= "off" and
enemy ~= nil then
local weapon = entity.get_player_weapon(enemy)
if weapon ~= nil and entity.get_classname(weapon) == "CKnife" then
local ex,ey,ez = entity.get_origin(enemy)
local lx,ly,lz = entity.get_origin(myself)
if ex ~= nil and lx ~= nil then
for ticks = 1,9 do
local tex,tey,tez =
extrapolate(myself,ticks,lx,ly,lz)
local distance =
distance(ex,ey,ez,tex,tey,tez)
if math.abs(distance) < ui.get(menu["anti aimbot"]
["features"]["distance"]) then
ui.set(tbl.items.yaw[2], ui.get(menu["anti aimbot"]
["features"]["backstab"]) == "forward" and 180 or client.random_int(-180, 180))
ui.set(tbl.items.jitter[1], "off")
ui.set(tbl.items.jitter[2], 0)
ui.set(tbl.items.body[1], ui.get(menu["anti
aimbot"]["features"]["backstab"]) == "random" and "jitter" or "opposite")
ui.set(tbl.items.body[2], 0)
arg.force_defensive = true
return nil
end
end
end
end
end
if ui.get(menutbl["type"]) == "normal" then
menutbl = menutbl[ui.get(menutbl["type"])]
local yaw = tbl.antiaim.manual.aa
if tbl.contains(ui.get(menutbl["mode"]), "yaw") then
yaw = tbl.antiaim.manual.aa + ui.get(menutbl["yaw"])
end
if tbl.contains(ui.get(menutbl["mode"]), "left right") then
local method = arg.chokedcommands == 0
if ui.get(menutbl["method"]) == "luasense" then
method = arg.chokedcommands ~= 0
end
if method and ui.get(menutbl["body"]) ~= "luasense" then
if math.max(-60, math.min(60,
math.floor((entity.get_prop(myself,"m_flPoseParameter", 11) or 0)*120-60+0.5))) > 0
then
ui.set(tbl.items.yaw[2], tbl.clamp(yaw +
ui.get(menutbl["right"])))
else
ui.set(tbl.items.yaw[2], tbl.clamp(yaw +
ui.get(menutbl["left"])))
end
end
else
ui.set(tbl.items.yaw[2], tbl.clamp(yaw))
end
ui.set(tbl.items.jitter[1], ui.get(menutbl["jitter"]))
ui.set(tbl.items.jitter[2], ui.get(menutbl["jitter_slider"]))
if ui.get(menutbl["body"]) ~= "luasense" then
ui.set(tbl.items.body[1], ui.get(menutbl["body"]))
ui.set(tbl.items.body[2], ui.get(menutbl["body_slider"]))
else
ui.set(tbl.items.body[1], "static")
local fake = (ui.get(menutbl["custom_slider"])+1) * 2
local luasensefake = false
if arg.command_number % client.random_int(3,6) == 1 then
tbl.antiaim.ready = true
end
if tbl.antiaim.ready and arg.chokedcommands == 0 then
tbl.antiaim.ready = false
tbl.antiaim.luasensefake = not
tbl.antiaim.luasensefake
ui.set(tbl.items.body[2], tbl.antiaim.luasensefake and -
fake or fake)
luasensefake = true
end
if tbl.contains(ui.get(menutbl["mode"]), "left right") then
if luasensefake then
if tbl.antiaim.luasensefake then
ui.set(tbl.items.yaw[2], tbl.clamp(yaw +
ui.get(menutbl["right"])))
else
ui.set(tbl.items.yaw[2], tbl.clamp(yaw +
ui.get(menutbl["left"])))
end
end
end
end
if ui.get(menutbl["defensive"]) == "luasense" then
arg.force_defensive = arg.command_number % 3 ~= 1 or
arg.weaponselect ~= 0 or arg.quick_stop == 1
elseif ui.get(menutbl["defensive"]) == "always on" then
arg.force_defensive = true
else end
elseif ui.get(menutbl["type"]) == "luasense" then
menutbl = menutbl[ui.get(menutbl["type"])]
ui.set(tbl.items.jitter[1], "off")
ui.set(tbl.items.body[1], "static")
if arg.command_number % (ui.get(menutbl["luasense"])+1+1) == 1 then
tbl.antiaim.ready = true
end
if tbl.antiaim.ready and arg.chokedcommands == 0 then
local fake = (ui.get(menutbl["fake"])+1) * 2
tbl.antiaim.ready = false
tbl.antiaim.luasensefake = not tbl.antiaim.luasensefake
ui.set(tbl.items.body[2], tbl.antiaim.luasensefake and -fake or
fake)
local yaw = tbl.antiaim.manual.aa
if tbl.contains(ui.get(menutbl["mode"]), "yaw") then
yaw = tbl.antiaim.manual.aa + ui.get(menutbl["yaw"])
end
if tbl.contains(ui.get(menutbl["mode"]), "left right") then
if tbl.antiaim.luasensefake then
ui.set(tbl.items.yaw[2], tbl.clamp(yaw +
ui.get(menutbl["right"])))
else
ui.set(tbl.items.yaw[2], tbl.clamp(yaw +
ui.get(menutbl["left"])))
end
else
ui.set(tbl.items.yaw[2], tbl.clamp(yaw))
end
end
if ui.get(menutbl["defensive"]) == "luasense" then
arg.force_defensive = arg.command_number % 3 ~= 1 or
arg.weaponselect ~= 0 or arg.quick_stop == 1
elseif ui.get(menutbl["defensive"]) == "always on" then
arg.force_defensive = true
else end
elseif ui.get(menutbl["type"]) == "advanced" then
menutbl = menutbl[ui.get(menutbl["type"])]
ui.set(tbl.items.jitter[1], "off")
ui.set(tbl.items.body[1], "static")
local trigger = client.random_int(3,6)
if ui.get(menutbl["trigger"]) == "a: brandon" then
trigger = 5
end
if ui.get(menutbl["trigger"]) == "b: best" then
trigger = 6
end
if ui.get(menutbl["trigger"]) == "c: experimental" then
if trigger == 1 or trigger == 1+1 then
trigger = 9
else
trigger = trigger + 1
end
end
if arg.command_number % trigger == 1 then
tbl.auto = not tbl.auto
if tbl.auto then
ui.set(tbl.items.body[2], -123)
ui.set(tbl.items.yaw[2],
tbl.clamp(ui.get(menutbl["right"]) + tbl.antiaim.manual.aa))
else
ui.set(tbl.items.body[2], 123)
ui.set(tbl.items.yaw[2],
tbl.clamp(ui.get(menutbl["left"]) + tbl.antiaim.manual.aa))
end
end
if ui.get(menutbl["defensive"]) == "luasense" then
arg.force_defensive = arg.command_number % 3 ~= 1 or
arg.weaponselect ~= 0 or arg.quick_stop == 1
elseif ui.get(menutbl["defensive"]) == "always on" then
arg.force_defensive = true
else end
elseif ui.get(menutbl["type"]) == "auto" then
menutbl = menutbl[ui.get(menutbl["type"])]
ui.set(tbl.items.jitter[1], "random")
ui.set(tbl.items.body[1], "static")
ui.set(tbl.items.yaw[2], tbl.antiaim.manual.aa)
local check = arg.command_number % 10 > 5
if tbl.antiaim.fs ~= 0 then
check = tbl.antiaim.fs ~= 1
tbl.antiaim.last = check
tbl.antiaim.current = check
tbl.antiaim.active = true
end
if ui.get(menutbl["method"]) == "simple" and tbl.antiaim.fs == 0
then
check = not tbl.antiaim.last
tbl.antiaim.current = check
tbl.antiaim.active = true
end
if ui.get(menutbl["method"]) == "luasense" then
if tbl.antiaim.count then
if tbl.antiaim.timer > ui.get(menutbl["timer"]) then
tbl.antiaim.timer = 0
tbl.antiaim.count = false
tbl.antiaim.log = {}
else
tbl.antiaim.timer = tbl.antiaim.timer + 1
end
end
if tbl.antiaim.fs == 0 then
if arg.command_number % 3 == 1 then
tbl.antiaim.ready = true
end
if tbl.antiaim.ready and arg.chokedcommands ==
0 then
tbl.antiaim.ready = false
tbl.antiaim.luasensefake = not
tbl.antiaim.luasensefake
end
local yaw = tbl.antiaim.manual.aa
check = tbl.antiaim.luasensefake
if tbl.antiaim.luasensefake then
ui.set(tbl.items.yaw[2], tbl.clamp(yaw +
ui.get(menutbl["right"])))
else
ui.set(tbl.items.yaw[2], tbl.clamp(yaw +
ui.get(menutbl["left"])))
end
end
end
if ui.get(menutbl["antibf"]) == "yes" then
if enemy ~= nil then
if tbl.antiaim.log[enemy] ~= nil then
check = tbl.antiaim.log[enemy]
end
end
end
ui.set(tbl.items.jitter[2], check and -3 or 3)
ui.set(tbl.items.body[2], check and -123 or 123)
if ui.get(menutbl["defensive"]) == "luasense" then
arg.force_defensive = arg.command_number % 3 ~= 1 or
arg.weaponselect ~= 0 or arg.quick_stop == 1
elseif ui.get(menutbl["defensive"]) == "always on" then
arg.force_defensive = true
else end
else end
ui.set(tbl.items.edge[1], ui.get(menu["anti aimbot"]["keybinds"]
["edge"]))
local freestand = ui.get(menu["anti aimbot"]["keybinds"]["freestand"])
local disablers = ui.get(menu["anti aimbot"]["keybinds"]["disablers"])
if tbl.contains(disablers, "air") and (arg.in_jump == 1 or air) then
freestand = false
end
if tbl.contains(disablers, "slow") and (ui.get(tbl.refs.slow[1]) and
ui.get(tbl.refs.slow[2])) then
freestand = false
end
if tbl.contains(disablers, "duck") and (duck) then
freestand = false
end
if tbl.contains(disablers, "edge") and (ui.get(menu["anti aimbot"]
["keybinds"]["edge"])) then
freestand = false
end
if tbl.contains(disablers, "manual") and (tbl.antiaim.manual.aa ~= 0)
then
freestand = false
end
if tbl.contains(disablers, "fake lag") and (fakelag) then
freestand = false
end
if tbl.antiaim.manual.aa ~= 0 then
ui.set(tbl.items.base[1], "local view")
if ui.get(menu["anti aimbot"]["keybinds"]["type_manual"]) ~=
"default" then
ui.set(tbl.items.yaw[2], tbl.antiaim.manual.aa)
ui.set(tbl.items.jitter[1], "off")
ui.set(tbl.items.jitter[2], 0)
ui.set(tbl.items.body[1], ui.get(menu["anti aimbot"]
["keybinds"]["type_manual"]) == "jitter" and "jitter" or "opposite")
ui.set(tbl.items.body[2], 0)
end
end
if ui.get(menu["anti aimbot"]["keybinds"]["type_freestand"]) ~=
"default" and freestand then
ui.set(tbl.items.yaw[2], 0)
ui.set(tbl.items.jitter[1], "off")
ui.set(tbl.items.jitter[2], 0)
ui.set(tbl.items.body[1], ui.get(menu["anti aimbot"]["keybinds"]
["type_freestand"]) == "jitter" and "jitter" or "opposite")
ui.set(tbl.items.body[2], 0)
arg.force_defensive = true
end
ui.set(tbl.items.fs[1], freestand)
local defensivecheck = (z.defensive.defensive > 3) and
(z.defensive.defensive < 11)
if fakelag or hideshot then
defensivecheck = false
end
local defensivemenu = ui.get(menu["anti aimbot"]["features"]
["defensive"])
tbl.normal_aa = true
tbl.tick_aa = tbl.tick_aa + 1
tbl.list_aa[tbl.tick_aa] = {
["aa"] = ui.get(tbl.items.yaw[2]),
}
if defensivemenu ~= "off" and defensivecheck and not freestand
and tbl.antiaim.manual.aa == 0 and tbl.contains(ui.get(menu["anti aimbot"]
["features"]["states"]), real_state) then
tbl.normal_aa = false
if defensivemenu == "pitch" then
ui.set(tbl.items.pitch[1], "up")
elseif defensivemenu == "spin" then
ui.set(tbl.items.yaw[2], (((arg.command_number % 360)
- 180) * 3) % 180)
elseif defensivemenu == "random" then
ui.set(tbl.items.yaw[2], client.random_int(-180,180))
elseif defensivemenu == "random pitch" then
ui.set(tbl.items.pitch[1], (arg.command_number % 4 >
2) and "up" or "down")
ui.set(tbl.items.yaw[2], client.random_int(-180,180))
elseif defensivemenu == "sideways up" then
ui.set(tbl.items.pitch[1], "up")
ui.set(tbl.items.yaw[2], (arg.command_number % 6 > 3)
and 111 or -111)
elseif defensivemenu == "sideways down" then
ui.set(tbl.items.yaw[2], (arg.command_number % 6 > 3)
and 111 or -111)
end
if defensivemenu ~= "pitch" then
tbl.reset_aa = true
tbl.defensive_aa = ui.get(tbl.items.yaw[2])
end
end
tbl.list_aa[tbl.tick_aa]["check"] = tbl.normal_aa
if tbl.normal_aa and tbl.reset_aa and ui.get(menu["anti aimbot"]
["features"]["fixer"]) == "luasense" then
tbl.reset_aa = false
for i = 1, 69 do
if tbl.list_aa[tbl.tick_aa-i] then
if tbl.list_aa[tbl.tick_aa-i]["check"] then
if tbl.defensive_aa ~=
tbl.list_aa[tbl.tick_aa-i]["aa"] then
ui.set(tbl.items.yaw[2],
tbl.list_aa[tbl.tick_aa-i]["aa"])
return nil
end
end
end
end
end
end,
["reset"] = function()
if tbl.contains(ui.get(menu["visuals & misc"]["visuals"]
["notify"]), "reset") then
push_notify("Reset for new round!")
end
tbl.antiaim.manual.aa = 0
tbl.antiaim.manual.tick = 0
if ui.get(menu["visuals & misc"]["misc"]["autobuy"]) ~= "off" then
client.exec("buy " .. (ui.get(menu["visuals & misc"]["misc"]
["autobuy"]) == "scout" and "ssg08" or "awp"))
end
end,
["menu"] = function()
ui.set(menu["anti aimbot"]["keybinds"]["left"], "on hotkey")
ui.set(menu["anti aimbot"]["keybinds"]["right"], "on hotkey")
ui.set(menu["anti aimbot"]["keybinds"]["forward"], "on hotkey")
ui.set(menu["anti aimbot"]["keybinds"]["backward"], "on hotkey")
local tick = globals.tickcount()
if ui.get(menu["anti aimbot"]["keybinds"]["left"]) and
(tbl.antiaim.manual.tick < tick - 11) then
tbl.antiaim.manual.aa = tbl.antiaim.manual.aa == -90 and 0 or -90
tbl.antiaim.manual.tick = tick
end
if ui.get(menu["anti aimbot"]["keybinds"]["right"]) and
(tbl.antiaim.manual.tick < tick - 11) then
tbl.antiaim.manual.aa = tbl.antiaim.manual.aa == 90 and 0 or 90
tbl.antiaim.manual.tick = tick
end
if ui.get(menu["anti aimbot"]["keybinds"]["forward"]) and
(tbl.antiaim.manual.tick < tick - 11) then
tbl.antiaim.manual.aa = tbl.antiaim.manual.aa == 180 and 0 or 180
tbl.antiaim.manual.tick = tick
end
if ui.get(menu["anti aimbot"]["keybinds"]["backward"]) and
(tbl.antiaim.manual.tick < tick - 11) then
tbl.antiaim.manual.aa = tbl.antiaim.manual.aa == -1 and 0 or -1
tbl.antiaim.manual.tick = tick
end
if tbl.contains(ui.get(menu["visuals & misc"]["misc"]["features"]),
"fix hideshot") then
ui.set(limitfl, (ui.get(tbl.refs.hide[1]) and
ui.get(tbl.refs.hide[2])) and 1 or 14)
end
if tbl.contains(ui.get(menu["visuals & misc"]["misc"]["features"]),
"legs spammer") then
ui.set(legs, globals.tickcount() % ui.get(menu["visuals & misc"]
["misc"]["spammer"]) == 0 and "never slide" or "always slide")
end
if not ui.is_menu_open() then return nil end
for i, v in next, tbl.items do
for index, value in next, v do
ui.set_visible(value, false)
end
end
local current = ui.get(category)
local sub = ui.get(menu["anti aimbot"]["submenu"])
local subextra = ui.get(menu["visuals & misc"]["submenu"])
local fix = true
for i, v in next, aa do
local section = ui.get(menu["anti aimbot"]["builder"]["builder"])
== i
for index, value in next, v do
local selected = ui.get(menu["anti aimbot"]["builder"]["team"])
== index
for ii, vv in next, value do
if ii ~= "type" and ii ~= "button" then
local mode = ui.get(value["type"])
for iii, vvv in next, vv do
fix = true
if ii == "normal" then
if iii == "jitter_slider" then
fix = ui.get(vv["jitter"]) ~= "off"
end
if iii == "body_slider" then
fix = ui.get(vv["body"]) ~= "off" and
ui.get(vv["body"]) ~= "opposite" and ui.get(vv["body"]) ~= "luasense"
end
if iii == "custom_slider" then
fix = ui.get(vv["body"]) == "luasense"
end
if iii == "yaw" then
fix = tbl.contains(ui.get(vv["mode"]), iii)
end
if iii == "left" or iii == "right" or iii ==
"method" then
fix = tbl.contains(ui.get(vv["mode"]),
"left right")
end
end
if ii == "luasense" then
if iii == "yaw" then
fix = tbl.contains(ui.get(vv["mode"]), iii)
end
if iii == "left" or iii == "right" then
fix = tbl.contains(ui.get(vv["mode"]),
"left right")
end
end
if ii == "auto" then
if iii == "timer" or iii == "left" or iii ==
"right" then
fix = ui.get(vv["method"]) == "luasense"
end
end
ui.set_visible(vvv, section and selected and
current == "anti aimbot" and sub == "builder" and mode == ii and fix)
end
else
ui.set_visible(vv, section and selected and current ==
"anti aimbot" and sub == "builder")
end
end
end
end
for i, v in next, menu do
for index, value in next, v do
if i == "anti aimbot" and index ~= "submenu" then
for ii, vv in next, value do
fix = true
if index == "features" then
if ii == "distance" then
fix = ui.get(value["backstab"]) ~= "off"
end
if ii == "fix" then
fix = ui.get(value["legit"]) ~= "off"
end
if ii == "fixer" or ii == "states"
then
fix =
ui.get(value["defensive"]) ~= "off"
end
end
if index == "keybinds" then
if ii == "edge" then
fix = tbl.contains(ui.get(value["keys"]), ii)
end
if ii == "freestand" or ii == "type_freestand" or
ii == "disablers" then
fix = tbl.contains(ui.get(value["keys"]),
"freestand")
end
if ii == "left" or ii == "right" or ii == "forward"
or ii == "backward" or ii == "type_manual" then
fix = tbl.contains(ui.get(value["keys"]),
"manual")
end
end
ui.set_visible(vv, i == current and index == sub and
fix)
end
elseif i == "visuals & misc" and index ~= "submenu" then
for ii, vv in next, value do
fix = true
if index == "misc" then
if ii == "spammer" then
fix = tbl.contains(ui.get(value["features"]),
"legs spammer")
end
end
if index == "visuals" then
if ii == "arrows_color" then
fix = ui.get(value["arrows"]) ~= "-"
end
end
if index == "visuals" then
if ii == "indicators_color" then
fix = ui.get(value["indicators"]) ~= "-"
end
end
ui.set_visible(vv, i == current and index == subextra
and fix)
end
else
ui.set_visible(value, i == current)
end
end
end
end,
["animations"] = function()
local myself = entity.get_local_player()
if tbl.contains(ui.get(menu["visuals & misc"]["misc"]["features"]),
"animations") and myself ~= nil then
entity.set_prop(myself, "m_flPoseParameter", 1,
bit.band(entity.get_prop(myself, "m_fFlags"), 1) == 0 and 6 or 0)
end
end,
["arrows"] = function()
local myself = entity.get_local_player()
if myself ~= nil and entity.is_alive(myself) then
local width, height = client.screen_size()
local r2, g2, b2, a2 = 55,55,55,255
local highlight_fraction = (globals.realtime() / 2 % 1.2 * 2) -
1.2
local output = ""
local text_to_draw = " S E N S E"
for idx = 1, #text_to_draw do
local character = text_to_draw:sub(idx, idx)
local character_fraction = idx / #text_to_draw
local r1, g1, b1, a1 = 255, 255, 255, 255
local highlight_delta = (character_fraction -
highlight_fraction)
if highlight_delta >= 0 and highlight_delta <= 1.4 then
if highlight_delta > 0.7 then
highlight_delta = 1.4 - highlight_delta
end
local r_fraction, g_fraction, b_fraction, a_fraction = r2 -
r1, g2 - g1, b2 - b1
r1 = r1 + r_fraction * highlight_delta / 0.8
g1 = g1 + g_fraction * highlight_delta / 0.8
b1 = b1 + b_fraction * highlight_delta / 0.8
end
output = output .. ('\a%02x%02x%02x%02x%s'):format(r1, g1, b1,
255, text_to_draw:sub(idx, idx))
end
output = "L U A" .. output
if ui.get(menu["visuals & misc"]["visuals"]["watermark_spaces"]) ==
"yes" then
output = output:gsub(" ", "")
end
if getbuild() == "beta" then
output = output .. ("\a%x%x%x%x"):format(200, 69, 69, 255) .. "
[BETA] "
end
local r,g,b = ui.get(menu["visuals & misc"]["visuals"]
["watermark_color"])
if ui.get(menu["visuals & misc"]["visuals"]["watermark"]) ==
"bottom" then
renderer.text(width/2, height - 20, r,g,b, 255, "c", 0, output)
elseif ui.get(menu["visuals & misc"]["visuals"]["watermark"]) ==
"right" then
renderer.text(width - 69, height/2, r,g,b, 255, "c", 0, output)
elseif ui.get(menu["visuals & misc"]["visuals"]["watermark"]) ==
"left" then
renderer.text(69, height/2, r,g,b, 255, "c", 0, output)
end
local r,g,b = ui.get(menu["visuals & misc"]["visuals"]
["arrows_color"])
local leftkey = ui.get(menu["visuals & misc"]["visuals"]["arrows"])
== "simple" and "<" or "⯇"
local rightkey = ui.get(menu["visuals & misc"]["visuals"]
["arrows"]) == "simple" and ">" or "⯈"
local w, h = client.screen_size()
w, h = w/2, h/2
local yaw_body = math.max(-60, math.min(60,
math.floor((entity.get_prop(myself, "m_flPoseParameter", 11) or 0)*120-60+0.5)))
if yaw_body > 0 and yaw_body > 60 then yaw_body = 60 end
if yaw_body < 0 and yaw_body < -60 then yaw_body = -60 end
local alpha = 255
if ui.get(menu["visuals & misc"]["visuals"]["arrows"]) == "simple"
then
renderer.text(w + 50, h, 111, 111, 111, 255, "c+", 0, rightkey)
if tbl.antiaim.manual.aa == 90 then
renderer.text(w + 50, h, r,g,b, alpha, "c+", 0, rightkey)
end
renderer.text(w - 50, h, 111, 111, 111, 255, "c+", 0, leftkey)
if tbl.antiaim.manual.aa == -90 then
renderer.text(w - 50, h, r,g,b, alpha, "c+", 0, leftkey)
end
elseif ui.get(menu["visuals & misc"]["visuals"]["arrows"]) ==
"body" then
renderer.line(w + -(40), h-8, w + -(40), h+8, r, g, b, yaw_body
> 0 and 55 or 255)
renderer.line(w + (42), h-8, w + (42), h+8, r, g, b, yaw_body <
0 and 55 or 255)
h = h - 2.5
renderer.text(w + 50, h, 111, 111, 111, 255, "c+", 0, rightkey)
if tbl.antiaim.manual.aa == 90 then
renderer.text(w + 50, h, r,g,b, alpha, "c+", 0, rightkey)
end
renderer.text(w - 50, h, 111, 111, 111, 255, "c+", 0, leftkey)
if tbl.antiaim.manual.aa == -90 then
renderer.text(w - 50, h, r,g,b, alpha, "c+", 0, leftkey)
end
elseif ui.get(menu["visuals & misc"]["visuals"]["arrows"]) ==
"luasense" then
local xv, yv, zv = entity.get_prop(myself, "m_vecVelocity")
local speed = math.sqrt(xv*xv + yv*yv + zv*zv)/10
if tbl.antiaim.fs == 1 then
renderer.line(w + -(36+speed), h-8, w + -(36+speed), h+8,
255, 255, 255, alpha)
end
if tbl.antiaim.fs == -1 then
renderer.line(w + (38+speed), h-8, w + (38+speed), h+8,
255, 255, 255, alpha)
end
renderer.line(w + -(40+speed), h-8, w + -(40+speed), h+8, r, g,
b, yaw_body > 0 and 55 or 255)
renderer.line(w + (42+speed), h-8, w + (42+speed), h+8, r, g,
b, yaw_body < 0 and 55 or 255)
h = h - 2.5
renderer.text(w + (50+speed), h, 111, 111, 111, 255, "c+", 0,
rightkey)
if tbl.antiaim.manual.aa == 90 then
renderer.text(w + (50+speed), h, r,g,b, alpha, "c+", 0,
rightkey)
end
renderer.text(w - (50+speed), h, 111, 111, 111, 255, "c+", 0,
leftkey)
if tbl.antiaim.manual.aa == -90 then
renderer.text(w - (50+speed), h, r,g,b, alpha, "c+", 0,
leftkey)
end
else end
end
end,
["indicator"] = function()
local myself = entity.get_local_player()
if not entity.is_alive(myself) then return nil end
if ui.get(menu["visuals & misc"]["visuals"]["indicators"]) ==
"default" then
local w, h = client.screen_size()
w, h = w/2, h/2
local yaw_body = math.max(-60, math.min(60,
math.floor((entity.get_prop(myself,"m_flPoseParameter", 11) or 0)*120-60+0.5)))
if yaw_body > 0 and yaw_body > 60 then yaw_body = 60 end
if yaw_body < 0 and yaw_body < -60 then yaw_body = -60 end
scope_fix = entity.get_prop(myself, "m_bIsScoped") ~= 0
if scope_fix then
if scope_int < 30 then
scope_int = scope_int + 1
end
else
if scope_int > 0 then
scope_int = scope_int - 1
end
end
w = w + scope_int
w = w - 2
local ind_height = 15
local r, g, b = ui.get(menu["visuals & misc"]["visuals"]
["indicators_color"])
local r1, g1, b1, a1 = r,g,b, 255
local r2, g2, b2, a2 = 155, 155, 155, 255
if yaw_body > 0 then
renderer.text( w, h + ind_height, 255, 255, 255, 255,
"cb", nil, gradient(r2, g2, b2, a2, r1, g1, b1, a1, "luasense") )
else
renderer.text( w, h + ind_height, 255, 255, 255, 255,
"cb", nil, gradient(r1, g1, b1, a1, r2, g2, b2, a2, "luasense") )
end
local dt_on = (ui.get(z.items.keys.dt[1]) and
ui.get(z.items.keys.dt[2]))
local hs_on = (ui.get(z.items.keys.hs[1]) and
ui.get(z.items.keys.hs[2]))
if ui.get(z.items.keys.fd[1]) then
ind_height = ind_height + 8
renderer.text( w, h + ind_height, r2, g2, b2, a2,
"c-", nil, "DUCK" )
if entity.get_prop(myself, "m_flDuckAmount") > 0.1
then
if animkeys.duck < 255 then
animkeys.duck = animkeys.duck + 2.5
end
renderer.text( w, h + ind_height, r1, g1, b1,
animkeys.duck, "c-", nil, "DUCK" )
else
animkeys.duck = 0
end
else
animkeys.duck = 0
end
if ui.get(z.items.keys.sp[1]) then
ind_height = ind_height + 8
if animkeys.safe < 255 then
animkeys.safe = animkeys.safe + 2.5
end
renderer.text( w, h + ind_height, r1, g1, b1,
animkeys.safe , "c-", nil, "SAFE" )
else
animkeys.safe = 0
end
if ui.get(z.items.keys.fb[1]) then
ind_height = ind_height + 8
if animkeys.baim < 255 then
animkeys.baim = animkeys.baim + 2.5
end
renderer.text( w, h + ind_height, r1, g1, b1,
animkeys.baim , "c-", nil, "BAIM" )
else
animkeys.baim = 0
end
if dt_on then
ind_height = ind_height + 8
renderer.text( w, h + ind_height, r2, g2, b2, a2,
"c-", nil, "DT" )
if (shift_int > 0) or (z.defensive.defensive > 1)
then
if animkeys.dt < 255 then
animkeys.dt = animkeys.dt + 2.5
end
renderer.text( w, h + ind_height, r1, g1, b1,
animkeys.dt , "c-", nil, "DT" )
else
animkeys.dt = 0
end
else
animkeys.dt = 0
end
if hs_on then
ind_height = ind_height + 8
renderer.text( w, h + ind_height, r2, g2, b2, a2,
"c-", nil, "HS" )
if not (dt_on) then
if animkeys.hide < 255 then
animkeys.hide = animkeys.hide + 2.5
end
renderer.text( w, h + ind_height, r1, g1, b1,
animkeys.hide , "c-", nil, "HS" )
else
animkeys.hide = 0
end
else
animkeys.hide = 0
end
if ui.get(menu["anti aimbot"]["keybinds"]["freestand"])
then
ind_height = ind_height + 8
if animkeys.fs < 255 then
animkeys.fs = animkeys.fs + 2.5
end
renderer.text( w, h + ind_height, r1, g1, b1,
animkeys.fs , "c-", nil, "FS" )
else
animkeys.fs = 0
end
end
end,
["shutdown"] = function()
for i, v in next, tbl.items do
for index, value in next, v do
ui.set_visible(value, true)
end
end
ui.set(tbl.items.enabled[1], true)
ui.set(tbl.items.base[1], "at targets")
ui.set(tbl.items.pitch[1], "default")
ui.set(tbl.items.yaw[1], "180")
ui.set(tbl.items.yaw[2], 0)
ui.set(tbl.items.jitter[1], "off")
ui.set(tbl.items.jitter[2], 0)
ui.set(tbl.items.body[1], "opposite")
ui.set(tbl.items.body[2], 0)
ui.set(tbl.items.fsbody[1], true)
ui.set(tbl.items.edge[1], false)
ui.set(tbl.items.fs[1], false)
ui.set(tbl.items.fs[2], "always on")
ui.set(tbl.items.roll[1], 0)
ui.set_visible(tbl.items.jitter[2], false)
ui.set_visible(tbl.items.body[2], false)
end
}
tbl.events = {
paint_ui = { "menu", "arrows", "indicator" },
setup_command = { "command", "freestand" },
shutdown = { "shutdown" },
round_prestart = { "reset" },
pre_render = { "animations" }
}
for index, value in next, tbl.events do
for i, v in next, value do client.set_event_callback(index,
tbl.callbacks[v]) end
end
end)({
ref = function(a,b,c) return { ui.reference(a,b,c) } end,
clamp = function(x) if x == nil then return 0 end x = (x % 360 + 360) % 360
return x > 180 and x - 360 or x end,
contains = function(z,x) for i, v in next, z do if v == x then return true end
end return false end,
states = { "global", "standing", "moving", "air", "air duck", "duck", "duck
moving", "slow motion", "fake lag", "hide shot" },
getstate = function(air, duck, speed, slowcheck)
local state = "global"
if air and duck then state = "air duck" end
if air and not duck then state = "air" end
if duck and not air and speed < 1.1 then state = "duck" end
if duck and not air and speed > 1.1 then state = "duck moving" end
if speed < 1.1 and not air and not duck then state = "standing" end
if speed > 1.1 and not air and not duck then state = "moving" end
if slowcheck and not air and not duck and speed > 1.1 then state =
"slow motion" end
return state
end
})

You might also like