Apathy Yaw SRC
Apathy Yaw SRC
--owned by testarossa.tech
https://testarossa.tech
https://discord.gg/testarossa
]]
_DEBUG = true
ffi.cdef[[
typedef void*(__thiscall* get_client_entity_t)(void*, int);
typedef struct {
char pad_0000[20];
int m_nOrder; //0x0014
int m_nSequence; //0x0018
float m_flPrevCycle; //0x001C
float m_flWeight; //0x0020
float m_flWeightDeltaRate; //0x0024
float m_flPlaybackRate; //0x0028
float m_flCycle; //0x002C
void *m_pOwner; //0x0030
char pad_0038[4]; //0x0034
} CAnimationLayer;
]]
function theme_color()
return "\a" .. ui.get_style("Link Active"):to_hex()
end
files.create_folder("csgo/Apathy")
if(files.read('csgo/Apathy/cfgdata.txt') == nil) then
files.write('csgo/Apathy/cfgdata.txt', json.stringify(default_config))
end
local lua = {
weapons = {"Global", "Pistols", "AWP", "SSG-08", "AK-47", "AutoSnipers",
"Snipers", "Rifles", "SMGs", "Shotguns", "Machineguns", "M4A1/M4A4", "Desert
Eagle", "R8 Revolver", "AUG/SG 553", "Taser"},
weapons_can_scope = {"SSG-08", "AWP", "AutoSnipers", "Snipers"},
conditions = {"Global", "Standing", "Moving", "Slow-walking", "Jumping", "Jump-
crouching", "T-crouching", "CT-crouching"},
conditions_non_g = {"Standing", "Moving", "Slow-walking", "Jumping", "Jump-
crouching", "T-crouching", "CT-crouching"},
logs = {},
hitgroup_mass = {'generic','head', 'chest', 'stomach','left arm', 'right
arm','left leg', 'right leg','neck', 'generic', 'gear'},
}
local icons = {
home = ui.get_icon("landmark"),
aa = ui.get_icon("ufo"),
left = ui.get_icon("left"),
right = ui.get_icon("right"),
back = ui.get_icon("down"),
up = ui.get_icon("up"),
auto = ui.get_icon("bolt-auto"),
enable = ui.get_icon("fire"),
all = ui.get_icon("up-down-left-right"),
list = ui.get_icon("list"),
bricks = ui.get_icon("block-brick"),
microchip = ui.get_icon("microchip"),
spinner = ui.get_icon("spinner"),
crosshair = ui.get_icon("crosshairs"),
palette = ui.get_icon("palette"),
gear = ui.get_icon("gear"),
gears = ui.get_icon("gears"),
fall = ui.get_icon("person-falling-burst"),
fast_fall = ui.get_icon("person-falling"),
avoid = ui.get_icon("person-arrow-up-from-line"),
notify = ui.get_icon("envelope"),
to_wall = ui.get_icon("person-arrow-down-to-line"),
jump = ui.get_icon("person-ski-jumping"),
no_scope = ui.get_icon("location-crosshairs-slash"),
updown = ui.get_icon("up-down"),
leftright = ui.get_icon("left-right"),
cup = ui.get_icon("caret-up"),
people_arrows = ui.get_icon("people-arrows"),
freestand = ui.get_icon("eye-slash"),
facehide = ui.get_icon("face-hand-peeking"),
bars = ui.get_icon("bars"),
mark = ui.get_icon("markdown"),
keybinds = ui.get_icon("keyboard"),
telescope = ui.get_icon("telescope"),
object = ui.get_icon("object-group"),
ugear = ui.get_icon("user-gear"),
cloud = ui.get_icon("cloud"),
danger = ui.get_icon("circle-exclamation"),
desync_arrows = ui.get_icon("arrows-turn-to-dots"),
width = ui.get_icon("text-width"),
gun = ui.get_icon("gun"),
bg = ui.get_icon("ban-bug"),
dmg = ui.get_icon("arrow-down-9-1"),
flag = ui.get_icon("flag"),
marker = ui.get_icon("marker"),
}
local tabs = {
info = {
home = pui.create(theme_color() .. icons.home, theme_color() .. "HOME"),
cfg = pui.create(theme_color() .. icons.home, theme_color() .. "CONFIGS"),
logo = pui.create(theme_color() .. icons.home, theme_color() .. "LOGO"),
recs = pui.create(theme_color() .. icons.home, theme_color() ..
"RECOMENDATIONS"),
},
misc = {
ragebot = pui.create(theme_color() .. icons.gear, theme_color() ..
"RAGEBOT"),
interface = pui.create(theme_color() .. icons.gear, theme_color() ..
"INTERFACE"),
misc = pui.create(theme_color() .. icons.gear, theme_color() ..
"MISCELLANEOUS"),
mods = pui.create(theme_color() .. icons.gear, theme_color() ..
"MODIFICATIONS")
},
aa = {
main = pui.create(theme_color() .. icons.aa, theme_color() .. "MAIN"),
settings = pui.create(theme_color() .. icons.aa, theme_color() ..
"BUILDER"),
defensive = pui.create(theme_color() .. icons.aa, theme_color() ..
"DEFENSIVE"),
misc = pui.create(theme_color() .. icons.aa, theme_color() .. "MISC"),
configs = pui.create(theme_color() .. icons.aa, theme_color() ..
"CONFIGS"),
},
}
local menu = {
info = {
l1 = tabs.info.home:label("Welcome to Apathyaw, " ..
gradient.text(common.get_username(), false, {ui.get_style("Link Active"),
color(ui.get_style("Link Active").r * 2, ui.get_style("Link Active").g,
ui.get_style("Link Active").b * 2, ui.get_style("Link Active").a / 2.5)}) .. "\
aDEFAULT!"),
l2 = tabs.info.home:label("Update: " .. theme_color() .. date),
l3 = tabs.info.home:label("Recomendations:"),
bt1 = tabs.info.home:button(" Config ", function()
panorama.SteamOverlayAPI.OpenExternalBrowserURL("https://en.neverlose.cc/market/
item?id=AaZRYq")
end, true),
bt2 = tabs.info.home:button(" Discord ", function()
panorama.SteamOverlayAPI.OpenExternalBrowserURL("https://discord.gg/
XkreHhj8")
end, true),
how_to_get_role = tabs.info.home:label("1. Join to discord \n2. Open the
ticket \n3. Send screen with lua and your nickname"),
logo =
tabs.info.logo:texture(render.load_image(network.get("https://cdn.discordapp.com/
attachments/795288743509622846/1090326848791138304/ssssssas.gif"), vector(500,
500)), vector(265, 265), ui.get_style("Link Active"), 'f'),
},
aaf = {
enabled = tabs.aa.main:switch(theme_color() .. icons.enable .. "\aDEFAULT
Enabled"),
freestand = tabs.aa.main:switch(theme_color() .. icons.auto .. "\aDEFAULT
Freestand", false, "", function(gear)
return {
disablers = gear:selectable("Disable on:", lua.conditions_non_g),
manual = gear:switch("Disable on Manual"),
}
end),
yaw_base = tabs.aa.main:combo(theme_color() .. icons.all .. "\aDEFAULT
Manual base", {
icons.back .. " Backward",
icons.left .. " Left",
icons.right .. " Right",
icons.up .. " Forward",
icons.back .. " At Target"}),
},
tb = tabs.aa.main:list(theme_color() .. icons.list .. "\aDEFAULT Current tab",
{
theme_color() .. icons.bricks .. "\aDEFAULT Builder",
theme_color() .. icons.microchip .. "\aDEFAULT Miscellaneous",
theme_color() .. icons.gears .. "\aDEFAULT Configs",
}),
aa = {
cond = tabs.aa.settings:combo("", lua.conditions),
anti_brute_reset = tabs.aa.settings:slider("Reset time", 1, 60, 6, 1,
function(self)
return self .. "s"
end),
err_oru = tabs.aa.settings:label("Activate this condition in Builder"),
max_phase = {},
builder = {},
ab_builder = {},
defensive = {
cond = tabs.aa.defensive:selectable("Works on", lua.conditions_non_g,
"", function(gear)
return {
sens = gear:slider("Sensitivity", 0, 100, 75, 1, function(self)
return self .. "%"
end)
}
end),
pitch = tabs.aa.defensive:combo(theme_color() .. icons.updown .. "\
aDEFAULT Pitch", {"Disabled", "Down", "Fake Up", "Fake Down", "Jitter"}, 0,
function(gear)
return {
pitches = gear:selectable("", {"Disabled", "Down", "Fake Up",
"Fake Down"}),
}
end),
yaw_mod = tabs.aa.defensive:combo(theme_color() .. icons.leftright ..
"\aDEFAULT Yaw Modifier", {"Disabled", "Center", "Offset", "Random", "Spin", "3-
Way", "5-Way", "Hidden"}, 0, function(gear)
return {
custom_ways = gear:switch("Custom ways"),
modifier_degree = tabs.aa.defensive:slider(theme_color() ..
icons.cup .. "\aDEFAULT Modiifer degree", -180, 180, 0),
first_degree = gear:slider("First degree", -180, 180, 0),
second_degree = gear:slider("Second degree", -180, 180, 0),
third_degree = gear:slider("Third degree", -180, 180, 0),
fourth_degree = gear:slider("Fourth degree", -180, 180, 0),
fifth_degree = gear:slider("Fifth degree", -180, 180, 0),
}
end),
yaw_add_left = tabs.aa.defensive:slider("Yaw add left", -180, 180, 0),
yaw_add_right = tabs.aa.defensive:slider("Yaw add right", -180, 180,
0),
},
break_lc = tabs.aa.misc:selectable("Break LC", lua.conditions_non_g),
static_if = tabs.aa.misc:selectable("Static if", {"Warmup", "Manual",
"Fake-lag", "Freestand"}),
fast_ladder = tabs.aa.misc:switch("Fast ladder", false, "", function(gear)
return {
options = gear:selectable("Work on", {"Ascending", "Descending"}),
ladder_yaw_checkbox = gear:switch("Ladder yaw"),
ladder_yaw_slider = gear:slider("", -180, 180, 0),
}
end),
bomb_e_fix = tabs.aa.misc:switch("Bombsite e fix"),
},
config_system = {
cfg_list = tabs.aa.configs:list("", config_data.n),
cfg_info = tabs.aa.configs:label("Author: " .. theme_color() .. "\n" ..
"Config update: " .. theme_color()),
cfg_name = tabs.aa.configs:input("Config name", ""),
load_cfg = tabs.aa.configs:button(theme_color() .. ui.get_icon("file-arrow-
up") .. "\aDEFAULT Load", function()
f_load_cfg()
end, true),
create_cfg = tabs.aa.configs:button(theme_color() .. ui.get_icon("plus") ..
"\aDEFAULT Create", function()
f_create_cfg()
end, true),
save_cfg = tabs.aa.configs:button(theme_color() .. ui.get_icon("floppy-
disk") .. "\aDEFAULT Save", function()
f_save_cfg()
end, true),
delete_cfg = tabs.aa.configs:button(theme_color() ..
ui.get_icon("trash") .. "\aDEFAULT Delete", function()
f_remove_cfg()
end, true),
cfg_import = tabs.aa.configs:button(theme_color() .. ui.get_icon("file-
import") .. "\aDEFAULT Import Config", function()
f_import_cfg()
end, true),
cfg_export = tabs.aa.configs:button(theme_color() .. ui.get_icon("file-
export") .. "\aDEFAULT Export Config", function()
f_export_cfg()
end, true),
},
rage = {
no_fall_damage = tabs.misc.ragebot:switch(theme_color() .. icons.fall .. "\
aDEFAULT No fall damage", false, "", function(gear)
return {
draw_ind = gear:switch("Indicator"),
always_on = gear:switch("Always On"),
color = gear:color_picker("Accent Color", ui.get_style("Link
Active")),
x = gear:slider("X", -150, 150, 0),
y = gear:slider("Y", -150, 150, 0),
font = gear:combo("Font", {"Default", "Small", "Console", "Bold"}),
}
end),
avoid_collisions = tabs.misc.ragebot:switch(theme_color() .. icons.avoid ..
"\aDEFAULT Avoid collisions", false, "", function(gear)
return {
distance = gear:slider("Distance", 5, 20, 15),
}
end),
exploits_discharge = tabs.misc.ragebot:switch(theme_color() ..
icons.to_wall .. "\aDEFAULT Exploit discharge", false, "", function(gear)
return {
sens = gear:slider("Sensitivity", 0, 100, 75, 1, function(self)
return self .."%"
end),
}
end),
in_air_hitchance = tabs.misc.ragebot:switch(theme_color() .. icons.jump ..
"\aDEFAULT In air hitchance", false, "", function(gear)
return {
weapons = gear:selectable("Works with", lua.weapons),
hitchance = gear:slider("Hitchance", 0, 100, 45),
}
end),
no_scope_hitchance = tabs.misc.ragebot:switch(theme_color() ..
icons.no_scope .. "\aDEFAULT No scope hitchance", false, "", function(gear)
return {
weapons = gear:selectable("Works with", lua.weapons_can_scope),
hitchance = gear:slider("Hitchance", 0, 100, 45),
}
end),
fast_fall = tabs.misc.ragebot:switch(theme_color() .. icons.fast_fall .. "\
aDEFAULT Fast fall"),
},
visuals = {
lua_indicators = tabs.misc.interface:switch(theme_color() .. icons.list ..
"\aDEFAULT Lua indicators", false, "", function(gear)
return {
show = gear:selectable("Show", {"Clouds", "Logo", "Desync",
"Condition", "Binds"}),
first_color = gear:color_picker("First color"),
second_color = gear:color_picker("Second color"),
logo_type = gear:combo("Logo Style", {"Static", "Invert",
"Gradient"}),
adjustments = gear:selectable("Adjustments", {"DPI scale", "Scope
turn-off"}),
}
end),
left_indicators = tabs.misc.interface:switch(theme_color() .. icons.bars ..
"\aDEFAULT Left indicators", false, ""),
watermark = tabs.misc.interface:switch(theme_color() .. icons.mark .. "\
aDEFAULT Watermark", false, "", function(gear)
return {
show = gear:selectable("Watermark show", {"Cheat name", "Lua name",
"Nickname", "FPS", "Ping", "Tickrate", "Build", "User text", "Time"}),
posi = gear:combo("Position", "Right-Up", "Bottom", "Left-Up"),
cheat_name = gear:input("Cheat name", "neverlose.cc"),
nick = gear:combo("Username", {"From cheat", "From box"}),
nickname = gear:input("", "ублюдок123"),
user_text = gear:input("", "NEVERSENSE V3.5 [naghtli debyk]"),
}
end),
keybinds = tabs.misc.interface:switch(theme_color() .. icons.keybinds .. "\
aDEFAULT Keybinds", false, "", function(gear)
return {
x = gear:slider("x", 0, render.screen_size().x, 300),
y = gear:slider("y", 0, render.screen_size().y, 300),
}
end),
spectators = tabs.misc.interface:switch(theme_color() .. icons.telescope ..
"\aDEFAULT Spectators"),
interface_design = tabs.misc.interface:label(theme_color() ..
icons.object .. "\aDEFAULT Design", "", function(gear)
return {
accent_color = gear:color_picker("Accent color", ui.get_style("Link
Active")),
glow = gear:slider("Glow strength", 0, 100, 0, 1, function(self)
if(self > 0) then
return self .. "%"
else
return "Off"
end
end),
enable_color = gear:switch("Custom glow color"),
glow_color = gear:color_picker("Glow color", ui.get_style("Link
Active")),
}
end),
},
mods = {
anim_breakers = tabs.misc.mods:switch(theme_color() .. icons.danger .. "\
aDEFAULT Anim breakers", false, "", function(gear)
return {
body_lean = gear:combo("Body lean", {"Disabled", "Neverlose",
"Default", "Extreme"}),
legs = gear:combo("Legs", {"Disabled", "Forward", "Moonwalk"}),
airleg = gear:combo("Legs in air", {"Disabled", "Static"}),
pitch = gear:combo("Pitch on land", {"Disabled", "Zero"}),
}
end),
aspect_ratio = tabs.misc.mods:switch(theme_color() .. icons.width .. "\
aDEFAULT Aspect ratio", false, "", function(gear)
return {
val = gear:slider("Value", 0, 200, 0, 0.01),
first = gear:button("16:9", function() aspect_ratio(16, 9) end,
true),
second = gear:button("16:10", function() aspect_ratio(16, 10) end,
true),
third = gear:button("3:2", function() aspect_ratio(3, 2) end,
true),
fourth = gear:button("4:3", function() aspect_ratio(4, 3) end,
true),
fifth = gear:button("5:3", function() aspect_ratio(5, 3) end,
true),
sixth = gear:button("5:4", function() aspect_ratio(5, 4) end,
true),
}
end),
viewmodel = tabs.misc.mods:switch(theme_color() .. icons.gun .. "\aDEFAULT
Custom viewmodel", false, "", function(gear)
return {
viewmodel_fov = gear:slider("Fov", -50, 50, 0, ""),
viewmodel_x = gear:slider("X", -30, 30, 0, 1),
viewmodel_y = gear:slider("Y", -50, 50, 0, 1),
viewmodel_z = gear:slider("Z", -50, 50, 0, 1),
}
end),
lagcomp = tabs.misc.mods:switch(theme_color() .. icons.bg .. "\aDEFAULT
Lagcomp debug box"),
hitmarker = tabs.misc.mods:switch(theme_color() .. icons.marker .. "\
aDEFAULT Hitmarker"),
},
misc = {
logs = tabs.misc.misc:switch(theme_color() .. icons.notify .. "\aDEFAULT
Logs", false, "", function(gear)
return {
output = gear:selectable("Output", {"Console", "Up of screen",
"Screen"}),
events = gear:selectable("Events", {"Hits", "Misses", "Anti-
bruteforce", "Buys"}),
hit_color = gear:color_picker("Hit color", color(151,200,60,255)),
miss_color = gear:color_picker("Miss color", color(237, 15, 15,
255)),
misc_color = gear:color_picker("Misc color", color(255, 255, 255,
255)),
log_preview = gear:switch("Preview logs"),
glow = gear:slider("Glow strength", 0, 100, 0, 1, function(self)
if(self > 0) then
return self .. "%"
else
return "Off"
end
end),
enable_color = gear:switch("Custom glow color"),
glow_color = gear:color_picker("Glow color", ui.get_style("Link
Active")),
}
end),
better_scope = tabs.misc.misc:switch(theme_color() .. icons.crosshair .. "\
aDEFAULT Better scope overlay", false, "", function(gear)
return {
pos = gear:slider("Pos", 0, 500, 15),
offset = gear:slider("Offset", 0, 750, 35),
adjustments = gear:selectable("Options", {"Invert", "Animations",
"Glow"}),
color = gear:color_picker("Accent Color", color(255,255,255,255)),
glow = gear:slider("Glow strength", 0, 100, 0, 1, function(self)
if(self > 0) then
return self .. "%"
else
return "Off"
end
end),
enable_color = gear:switch("Custom glow color"),
glow_color = gear:color_picker("Glow color", ui.get_style("Link
Active")),
}
end),
manual_arrows = tabs.misc.misc:switch(theme_color() ..
icons.desync_arrows .. "\aDEFAULT Manual arrows", false, "", function(gear)
return {
style = gear:combo("Style", {"Teamskeet", "Ideal Yaw"}),
desync_color = gear:color_picker("Desync color", color(67, 161,
255)),
manual_color = gear:color_picker("Manual color",
color(182,247,66,255)),
accent_color = gear:color_picker("Accent color",
color(255,255,255,255)),
reverse = gear:switch("Reverse"),
dynamic = gear:slider("Dynamic", 0, 20, 0),
}
end),
damage = tabs.misc.misc:switch(theme_color() .. icons.dmg .. "\aDEFAULT
Damage Indicator", false, "", function(gear)
return {
x = gear:slider("X", -400, 400, 0),
y = gear:slider("Y", -400, 400, 0),
color = gear:color_picker("Accent Color", color(255,255,255,255)),
font = gear:combo("Font", {"Default", "Small", "Console", "Bold"}),
}
end),
taskbar = tabs.misc.misc:switch(theme_color() .. icons.flag .. "\aDEFAULT
Icon flash"),
},
}
panorama.SteamOverlayAPI.OpenExternalBrowserURL("https://testarossa.tech")
panorama.SteamOverlayAPI.OpenExternalBrowserURL("https://discord.gg/testarossa")
events.round_start:set(function()
if(menu.misc.taskbar:get()) then
notify_user()
end
end)
menu.misc.manual_arrows.style:depend(menu.misc.manual_arrows)
menu.misc.manual_arrows.desync_color:depend(menu.misc.manual_arrows,
{menu.misc.manual_arrows.style, "Teamskeet"})
menu.misc.manual_arrows.manual_color:depend(menu.misc.manual_arrows,
{menu.misc.manual_arrows.style, "Teamskeet"})
menu.misc.manual_arrows.accent_color:depend(menu.misc.manual_arrows,
{menu.misc.manual_arrows.style, "Ideal Yaw"})
menu.misc.manual_arrows.reverse:depend(menu.misc.manual_arrows)
menu.misc.manual_arrows.dynamic:depend(menu.misc.manual_arrows)
menu.mods.anim_breakers.body_lean:depend(menu.mods.anim_breakers)
menu.mods.anim_breakers.legs:depend(menu.mods.anim_breakers)
menu.mods.anim_breakers.airleg:depend(menu.mods.anim_breakers)
menu.mods.anim_breakers.pitch:depend(menu.mods.anim_breakers)
menu.config_system.cfg_list:depend({menu.tb, 3})
menu.config_system.cfg_info:depend({menu.tb, 3})
menu.config_system.cfg_name:depend({menu.tb, 3})
menu.config_system.load_cfg:depend({menu.tb, 3})
menu.config_system.save_cfg:depend({menu.tb, 3})
menu.config_system.create_cfg:depend({menu.tb, 3})
menu.config_system.delete_cfg:depend({menu.tb, 3})
menu.config_system.cfg_import:depend({menu.tb, 3})
menu.config_system.cfg_export:depend({menu.tb, 3})
menu.config_system.cfg_list:update(config_data.n)
menu.config_system.cfg_info.ref:name("Author: " .. theme_color() ..
config_data.author[menu.config_system.cfg_list:get()] .. "\n\aDEFAULT" .. "Last
update: " .. theme_color() .. config_data.date[menu.config_system.cfg_list:get()])
menu.config_system.cfg_list:set_callback(function()
menu.config_system.cfg_list:update(config_data.n)
menu.config_system.cfg_info.ref:name("Author: " .. theme_color() ..
config_data.author[menu.config_system.cfg_list:get()] .. "\n\aDEFAULT" .. "Last
update: " .. theme_color() .. config_data.date[menu.config_system.cfg_list:get()])
end)
function f_export_cfg()
local date_cfg = common.get_date("%m.%d.%Y %H:%M")
local config = base64.encode(json.stringify(pui.save()))
local authors = common.get_username()
if(menu.config_system.cfg_name:get() ~= "") then
name = menu.config_system.cfg_name:get()
else
name = "config by " .. authors
end
local cfg_to_export = {n = name, cfg = config, author = authors, date =
date_cfg}
clipboard.set(json.stringify(cfg_to_export))
end
function f_import_cfg()
local imported_cfg = json.parse(clipboard.get())
table.insert(config_data.n, imported_cfg.n)
table.insert(config_data.cfg, imported_cfg.cfg)
table.insert(config_data.author, imported_cfg.author)
table.insert(config_data.date, imported_cfg.date)
menu.config_system.cfg_list:update(config_data.n)
menu.config_system.cfg_info.ref:name("Author: " .. theme_color() ..
config_data.author[menu.config_system.cfg_list:get()] .. "\n\aDEFAULT" .. "Last
update: " .. theme_color() .. config_data.date[menu.config_system.cfg_list:get()])
files.write('csgo/Apathy/cfgdata.txt', json.stringify(config_data))
end
function f_load_cfg()
if(menu.config_system.cfg_list:get() == 1) then
pui.load(json.parse(base64.decode(network.get("https://text-host.ru/raw/
default-config-apathy"))))
else
pui.load(json.parse(base64.decode(config_data.cfg[menu.config_system.cfg_list:get()
])))
end
end
function f_save_cfg()
config_data.date[menu.config_system.cfg_list:get()] = common.get_date("%m.%d.%Y
%H:%M")
config_data.cfg[menu.config_system.cfg_list:get()] =
base64.encode(json.stringify(pui.save()))
menu.config_system.cfg_info.ref:name("Author: " .. theme_color() ..
config_data.author[menu.config_system.cfg_list:get()] .. "\n\aDEFAULT" .. "Last
update: " .. theme_color() .. config_data.date[menu.config_system.cfg_list:get()])
files.write('csgo/Apathy/cfgdata.txt', json.stringify(config_data))
end
function f_create_cfg()
local date_cfg = common.get_date("%m.%d.%Y %H:%M")
local cfg = base64.encode(json.stringify(pui.save()))
local author = common.get_username()
local name = menu.config_system.cfg_name:get()
if(name ~= "" and not locate(config_data.n, name)) then
table.insert(config_data.n, name)
table.insert(config_data.cfg, cfg)
table.insert(config_data.author, author)
table.insert(config_data.date, date_cfg)
files.write('csgo/Apathy/cfgdata.txt', json.stringify(config_data))
end
menu.config_system.cfg_list:update(config_data.n)
menu.config_system.cfg_info.ref:name("Author: " .. theme_color() ..
config_data.author[menu.config_system.cfg_list:get()] .. "\n\aDEFAULT" .. "Last
update: " .. theme_color() .. config_data.date[menu.config_system.cfg_list:get()])
end
function f_remove_cfg()
if(menu.config_system.cfg_list:get() ~= 1) then
table.remove(config_data.n, menu.config_system.cfg_list:get())
table.remove(config_data.author, menu.config_system.cfg_list:get())
table.remove(config_data.cfg, menu.config_system.cfg_list:get())
table.remove(config_data.date, menu.config_system.cfg_list:get())
files.write('csgo/Apathy/cfgdata.txt', json.stringify(config_data))
menu.config_system.cfg_list:update(config_data.n)
menu.config_system.cfg_info.ref:name("Author: " .. theme_color() ..
config_data.author[menu.config_system.cfg_list:get() - 1] .. "\n\aDEFAULT" .. "Last
update: " .. theme_color() .. config_data.date[menu.config_system.cfg_list:get() -
1])
end
end
menu.visuals.lua_indicators.first_color:depend(menu.visuals.lua_indicators)
menu.visuals.lua_indicators.second_color:depend(menu.visuals.lua_indicators)
menu.visuals.lua_indicators.show:depend(menu.visuals.lua_indicators)
menu.visuals.lua_indicators.logo_type:depend(menu.visuals.lua_indicators,
{menu.visuals.lua_indicators.show, function() return
menu.visuals.lua_indicators.show:get("Logo") end})
menu.visuals.lua_indicators.adjustments:depend(menu.visuals.lua_indicators,
{menu.visuals.lua_indicators.show, function() return
#menu.visuals.lua_indicators.show:get() > 0 end})
menu.misc.better_scope.pos:depend(menu.misc.better_scope)
menu.misc.better_scope.offset:depend(menu.misc.better_scope)
menu.misc.better_scope.adjustments:depend(menu.misc.better_scope)
menu.misc.better_scope.color:depend(menu.misc.better_scope)
menu.misc.better_scope.glow:depend(menu.misc.better_scope,
{menu.misc.better_scope.adjustments, function() return
menu.misc.better_scope.adjustments:get("Glow") end})
menu.misc.better_scope.enable_color:depend(menu.misc.better_scope,
{menu.misc.better_scope.adjustments, function() return
menu.misc.better_scope.adjustments:get("Glow") end}, {menu.misc.better_scope.glow,
function() return menu.misc.better_scope.glow:get() > 0 end})
menu.misc.better_scope.glow_color:depend(menu.misc.better_scope,
{menu.misc.better_scope.adjustments, function() return
menu.misc.better_scope.adjustments:get("Glow") end}, {menu.misc.better_scope.glow,
function() return menu.misc.better_scope.glow:get() > 0 end},
menu.misc.better_scope.enable_color)
menu.visuals.interface_design.enable_color:depend({menu.visuals.interface_design.gl
ow, function() return menu.visuals.interface_design.glow:get() > 0 end})
menu.visuals.interface_design.glow_color:depend({menu.visuals.interface_design.glow
, function() return menu.visuals.interface_design.glow:get() > 0 end},
menu.visuals.interface_design.enable_color)
menu.rage.no_fall_damage.draw_ind:depend(menu.rage.no_fall_damage)
menu.rage.no_fall_damage.always_on:depend(menu.rage.no_fall_damage,
menu.rage.no_fall_damage.draw_ind)
menu.rage.no_fall_damage.color:depend(menu.rage.no_fall_damage,
menu.rage.no_fall_damage.draw_ind)
menu.rage.no_fall_damage.x:depend(menu.rage.no_fall_damage,
menu.rage.no_fall_damage.draw_ind)
menu.rage.no_fall_damage.y:depend(menu.rage.no_fall_damage,
menu.rage.no_fall_damage.draw_ind)
menu.rage.no_fall_damage.font:depend(menu.rage.no_fall_damage,
menu.rage.no_fall_damage.draw_ind)
menu.rage.avoid_collisions.distance:depend(menu.rage.avoid_collisions)
menu.misc.logs.log_preview:depend(menu.misc.logs, {menu.misc.logs.output,
function() return menu.misc.logs.output:get("Screen") end})
menu.misc.logs.output:depend(menu.misc.logs)
menu.misc.logs.events:depend(menu.misc.logs, {menu.misc.logs.output, function()
return menu.misc.logs.output:get("Console") or menu.misc.logs.output:get("Up of
screen") or menu.misc.logs.output:get("Screen") end})
menu.misc.logs.hit_color:depend(menu.misc.logs, {menu.misc.logs.output, function()
return menu.misc.logs.output:get("Console") or menu.misc.logs.output:get("Up of
screen") or menu.misc.logs.output:get("Screen") end}, {menu.misc.logs.events,
function() return menu.misc.logs.events:get("Hits") end })
menu.misc.logs.miss_color:depend(menu.misc.logs, {menu.misc.logs.output, function()
return menu.misc.logs.output:get("Console") or menu.misc.logs.output:get("Up of
screen") or menu.misc.logs.output:get("Screen") end}, {menu.misc.logs.events,
function() return menu.misc.logs.events:get("Misses") end })
menu.misc.logs.misc_color:depend(menu.misc.logs, {menu.misc.logs.output, function()
return menu.misc.logs.output:get("Console") or menu.misc.logs.output:get("Up of
screen") or menu.misc.logs.output:get("Screen") end}, {menu.misc.logs.events,
function() return menu.misc.logs.events:get("Anti-bruteforce") or
menu.misc.logs.events:get("Buys") end })
menu.misc.logs.glow:depend(menu.misc.logs, {menu.misc.logs.output, function()
return menu.misc.logs.output:get("Screen") end}, {menu.misc.logs.events, function()
return menu.misc.logs.events:get("Anti-bruteforce") or
menu.misc.logs.events:get("Buys") or menu.misc.logs.events:get("Misses") or
menu.misc.logs.events:get("Hits") end })
menu.misc.logs.enable_color:depend(menu.misc.logs, {menu.misc.logs.output,
function() return menu.misc.logs.output:get("Screen") end},
{menu.misc.logs.events, function() return menu.misc.logs.events:get("Anti-
bruteforce") or menu.misc.logs.events:get("Buys") or
menu.misc.logs.events:get("Misses") or menu.misc.logs.events:get("Hits") end},
{menu.misc.logs.glow, function() return menu.misc.logs.glow:get() > 0 end})
menu.misc.logs.glow_color:depend(menu.misc.logs, {menu.misc.logs.output,
function()return menu.misc.logs.output:get("Screen") end}, {menu.misc.logs.events,
function() return menu.misc.logs.events:get("Anti-bruteforce") or
menu.misc.logs.events:get("Buys") or menu.misc.logs.events:get("Misses") or
menu.misc.logs.events:get("Hits") end}, {menu.misc.logs.glow, function() return
menu.misc.logs.glow:get() > 0 end}, menu.misc.logs.enable_color)
menu.rage.exploits_discharge.sens:depend(menu.rage.exploits_discharge)
menu.rage.in_air_hitchance.weapons:depend(menu.rage.in_air_hitchance)
menu.rage.in_air_hitchance.hitchance:depend(menu.rage.in_air_hitchance,
{menu.rage.in_air_hitchance.weapons, function() return
#menu.rage.in_air_hitchance.weapons:get() > 0 end})
menu.rage.no_scope_hitchance.weapons:depend(menu.rage.no_scope_hitchance)
menu.rage.no_scope_hitchance.hitchance:depend(menu.rage.no_scope_hitchance,
{menu.rage.no_scope_hitchance.weapons, function() return
#menu.rage.no_scope_hitchance.weapons:get() > 0 end})
menu.aaf.freestand:depend(menu.aaf.enabled)
menu.aaf.yaw_base:depend(menu.aaf.enabled)
menu.tb:depend(menu.aaf.enabled)
menu.aa.defensive.cond:depend(menu.aaf.enabled, {menu.tb, 1})
menu.aa.cond:depend(menu.aaf.enabled, {menu.tb, function() if(menu.tb:get() == 1 or
menu.tb:get() == 2) then return true else return false end end})
menu.visuals.watermark.show:depend(menu.visuals.watermark)
menu.visuals.watermark.cheat_name:depend(menu.visuals.watermark,
{menu.visuals.watermark.show, function() return
menu.visuals.watermark.show:get("Cheat name") end})
menu.visuals.watermark.nick:depend(menu.visuals.watermark,
{menu.visuals.watermark.show, function() return
menu.visuals.watermark.show:get("Nickname") end})
menu.visuals.watermark.nickname:depend(menu.visuals.watermark,
{menu.visuals.watermark.show, function() return
menu.visuals.watermark.show:get("Nickname") end}, {menu.visuals.watermark.nick,
"From box"})
menu.visuals.watermark.user_text:depend(menu.visuals.watermark,
{menu.visuals.watermark.show, function() return
menu.visuals.watermark.show:get("User text") end})
menu.visuals.keybinds.x:visibility(false)
menu.visuals.keybinds.y:visibility(false)
for i = 1, #lua.conditions do
menu.aa.builder[i] = {
enabled = tabs.aa.settings:switch(theme_color() .. icons.enable .. "\
aDEFAULT Enable " .. string.lower(lua.conditions[i]) .. " anti-aim"),
pitch = tabs.aa.settings:combo(theme_color() .. icons.updown .. "\aDEFAULT
Pitch", {"Disabled", "Down", "Fake Up", "Fake Down"}),
yaw_mod = tabs.aa.settings:combo(theme_color() .. icons.leftright .. "\
aDEFAULT Yaw Modifier", {"Disabled", "Center", "Offset", "Random", "Spin", "3-
Way", "5-Way"}, 0, function(gear)
return {
modifier_degree = tabs.aa.settings:slider(theme_color() ..
icons.cup .. "\aDEFAULT Modiifer degree", -180, 180, 0),
custom_ways = gear:switch("Custom ways"),
first_degree = gear:slider("First degree", -180, 180, 0),
second_degree = gear:slider("Second degree", -180, 180, 0),
third_degree = gear:slider("Third degree", -180, 180, 0),
fourth_degree = gear:slider("Fourth degree", -180, 180, 0),
fifth_degree = gear:slider("Fifth degree", -180, 180, 0),
}
end),
yaw_add_left = tabs.aa.settings:slider(theme_color() .. icons.left .. "\
aDEFAULT Yaw add left", -180, 180, 0),
yaw_add_right = tabs.aa.settings:slider(theme_color() .. icons.right .. "\
aDEFAULT Yaw add right", -180, 180, 0),
fake_options = tabs.aa.settings:selectable(theme_color() ..
icons.people_arrows .. "\aDEFAULT Fake options", {"Jitter", "Randomize jitter"},
0, ""),
left_limit = tabs.aa.settings:slider(theme_color() .. icons.cup .. "\
aDEFAULT Left limit", 0, 60, 0, ""),
right_limit = tabs.aa.settings:slider(theme_color() .. icons.cup .. "\
aDEFAULT Right limit", 0, 60, 0, ""),
}
menu.aa.max_phase[i] = {
enabled = tabs.aa.settings:switch("Enable " ..
string.lower(lua.conditions[i]) .. " anti-bruteforce"),
max = tabs.aa.settings:slider("Max phase", 2, 10, 2),
}
for k = 1, 10 do
if(menu.aa.ab_builder[i] == nil) then
menu.aa.ab_builder[i] = {}
end
menu.aa.ab_builder[i][k] = tabs.aa.settings:slider("phase #" .. k .. " +
adding -", -180, 180, 0)
end
end
local cond_to_num = {
["Global"] = 1,
["Standing"] = 2,
["Moving"] = 3,
["Slow-walking"] = 4,
["Jumping"] = 5,
["Jump-crouching"] = 6,
["T-crouching"] = 7,
["CT-crouching"] = 8,
}
for i = 1, #lua.conditions do
local enable = menu.aaf.enabled
local tb = {menu.tb, 1}
local abtb = {menu.tb, 2}
local cond = {menu.aa.cond, lua.conditions[i]}
local yaw_mod = menu.aa.builder[i].yaw_mod
local condea = menu.aa.builder[i].enabled
local ea = {condea, function() if(i == 1) then return true else return
condea:get() end end}
menu.aa.builder[i].enabled:depend(enable, tb, cond, {menu.aa.cond, function()
return (i ~= 1)
end})
menu.aa.builder[i].pitch:depend(enable, tb, cond, ea)
yaw_mod:depend(enable, tb, cond, ea)
yaw_mod.modifier_degree:depend(enable, tb, cond, {yaw_mod.custom_ways,
function() return true end}, {yaw_mod, function()
if(yaw_mod:get() == "3-Way" or yaw_mod:get() == "5-Way" or yaw_mod:get() ==
"Disabled") then
if(yaw_mod:get() == "Disabled") then
return false
else
if(yaw_mod.custom_ways:get()) then
return false
else
return true
end
end
else
return true
end
end}, ea)
yaw_mod.custom_ways:depend(enable, tb, cond, {yaw_mod, function()
if(yaw_mod:get() == "3-Way" or yaw_mod:get() == "5-Way") then return true else
return false end end}, ea)
yaw_mod.first_degree:depend(enable, tb, cond, yaw_mod.custom_ways, {yaw_mod,
function() if(yaw_mod:get() == "3-Way" or yaw_mod:get() == "5-Way") then return
true else return false end end}, ea)
yaw_mod.second_degree:depend(enable, tb, cond, yaw_mod.custom_ways, {yaw_mod,
function() if(yaw_mod:get() == "3-Way" or yaw_mod:get() == "5-Way") then return
true else return false end end}, ea)
yaw_mod.third_degree:depend(enable, tb, cond, yaw_mod.custom_ways, {yaw_mod,
function() if(yaw_mod:get() == "3-Way" or yaw_mod:get() == "5-Way") then return
true else return false end end}, ea)
yaw_mod.fourth_degree:depend(enable, tb, cond, yaw_mod.custom_ways, {yaw_mod,
"5-Way"}, ea)
yaw_mod.fifth_degree:depend(enable, tb, cond, yaw_mod.custom_ways, {yaw_mod,
"5-Way"}, ea)
menu.aa.builder[i].yaw_add_left:depend(enable, tb, cond, ea)
menu.aa.builder[i].yaw_add_right:depend(enable, tb, cond, ea)
menu.aa.builder[i].fake_options:depend(enable, tb, cond, ea)
menu.aa.builder[i].left_limit:depend(enable, tb, cond, ea)
menu.aa.builder[i].right_limit:depend(enable, tb, cond, ea)
menu.aa.max_phase[i].enabled:depend(enable, abtb, cond, ea)
menu.aa.max_phase[i].max:depend(enable, abtb, cond,
menu.aa.max_phase[i].enabled, ea)
for k = 1, 10 do
menu.aa.ab_builder[i][k]:depend(enable, abtb, cond,
menu.aa.max_phase[i].enabled, {menu.aa.max_phase[i].max, function() return
menu.aa.max_phase[i].max:get() >= k end}, ea)
end
end
local ram = {
jitter_move = false,
anti_bruteforce = {
tickcounts = {},
realtime = {},
},
logs = {},
in_bombzone = false,
prev_simulation_time = 0,
defensive = {},
jit_yaw = 0,
yaw_add = 0,
set_lby = false,
jitter = false,
jit_add = 0,
fix_tp = rage.exploit:get(),
}
function sim_diff()
local current_simulation_time =
time_to_ticks(entity.get_local_player().m_flSimulationTime)
local diff = current_simulation_time - ram.prev_simulation_time
ram.prev_simulation_time = current_simulation_time
diff_sim = diff
return diff_sim
end
function anti_brute(event)
local player_which_shotting = entity.get(event.userid, true)
local lp = entity.get_local_player()
if(player_which_shotting == nil or player_which_shotting == lp or lp == nil or
lp.m_iHealth <= 0 or player_which_shotting.m_iTeamNum == lp.m_iTeamNum) then return
end
local spos = player_which_shotting.m_vecOrigin
local epos = vector(event.x, event.y, event.z)
local lpos = vector(lp.m_vecOrigin.x, lp.m_vecOrigin.y, lp.m_vecOrigin.z + 60)
local closray = lpos:closest_ray_point(spos, epos)
local dist = lpos:dist(closray)
if(dist < 75) then
if(ram.anti_bruteforce.tickcounts[globals.tickcount] == nil) then
table.insert(ram.anti_bruteforce.tickcounts, 1, {[globals.tickcount] =
player_which_shotting})
table.insert(ram.anti_bruteforce.realtime, 1, globals.realtime)
end
end
end
function enter_bombzone(event)
if(entity.get(event.userid, true) == entity.get_local_player() and
event.hasbomb) then
ram.in_bombzone = true
end
end
function exit_bombzone(event)
if(entity.get(event.userid, true) == entity.get_local_player()) then
ram.in_bombzone = false
end
end
function fix_bomb_site_e(cmd)
local camera_angles = render.camera_angles()
local camera_position = render.camera_position()
local direction = vector():angles(camera_angles)
local entities = entity.get_entities()
local dist, orig_dist = math.huge, math.huge
local lp = entity.get_local_player()
if(lp ~= nil) then
for i = 1, #entities do
if(entities[i]:get_classname() == "CPropDoorRotating" or
(entities[i]:is_weapon() and entities[i]:get_weapon_owner() ~=
entity.get_local_player()) and entities[i]:is_visible()) then
if(entities[i]:get_classname() == "CPropDoorRotating") then
ent_pos = vector(entities[i]:get_origin().x,
entities[i]:get_origin().y, entities[i]:get_origin().z + 50)
else
ent_pos = entities[i]:get_origin()
end
local lpor = lp:get_origin()
local ray_dist = ent_pos:dist_to_ray(camera_position, direction)
if(ray_dist < dist) then
orig_dist = lpor:dist(ent_pos)
dist = ray_dist
end
end
end
if((ram.in_bombzone or dist > 45 or orig_dist > 105) and lp.m_iTeamNum ==
2) then
cmd.in_use = false
return true
else
return false
end
else
return false
end
end
function get_velocity(player)
if(player == nil) then return end
local vec = player.m_vecVelocity
local velocity = vec:length()
return velocity
end
if bit.band(flags, 4) == 4 then
return true
end
return false
end
if bit.band(flags, 1) == 0 then
return true
end
return false
end
function cond_trig()
local n = 1
local c = ""
local lp = entity.get_local_player()
if(lp ~= nil and lp.m_iHealth > 0) then
local fake_duck = ui.find("aimbot", "anti aim", "misc", "fake duck"):get()
local slowwalking = ui.find("aimbot", "anti aim", "misc", "slow
walk"):get()
local crouch = in_crouching(lp)
local standing = get_velocity(lp) < 3 and not (slowwalking or in_air(lp) or
crouch or fake_duck)
local moving = get_velocity(lp) >= 3 and not (slowwalking or in_air(lp) or
crouch or fake_duck)
local air = in_air(lp) and not (slowwalking or crouch)
local crouch_air = in_air(lp) and crouch and not (slowwalking)
local t_crouch = (crouch or fake_duck) and not (slowwalking or air or
crouch_air) and lp.m_iTeamNum == 2
local ct_crouch = (crouch or fake_duck) and not (slowwalking or air or
crouch_air) and lp.m_iTeamNum == 3
local work = {standing, moving, slowwalking, air, crouch_air, t_crouch,
ct_crouch}
for i = 1, #work do
if(work[i]) then
n = i + 1
c = lua.conditions_non_g[i]
end
end
end
return {n, c}
end
function fs_dis()
if((menu.aaf.freestand.manual:get() and menu.aaf.yaw_base:get() ~=
icons.back .. " At Target") or menu.aaf.freestand.disablers:get(cond_trig()[2]))
then
return true
else
return false
end
end
function force_static()
local ref = {
fake_options = ui.find("Aimbot", "Anti Aim", "Angles", "Body Yaw", "Options"),
autopeek = ui.find("Aimbot", "Ragebot", "Main", "Peek Assist"),
fd = ui.find("Aimbot", "Anti Aim", "Misc", "Fake Duck"),
sw = ui.find("Aimbot", "Anti Aim", "Misc", "Slow Walk"),
dormant = ui.find("Aimbot", "Ragebot", "Main", "Enabled", "Dormant Aimbot"),
pitch = ui.find("Aimbot", "Anti Aim", "Angles", "Pitch"),
yaw = ui.find("Aimbot", "Anti Aim", "Angles", "Yaw"),
base = ui.find("Aimbot", "Anti Aim", "Angles", "Yaw", "Base"),
offset = ui.find("Aimbot", "Anti Aim", "Angles", "Yaw", "Offset"),
yaw_mod = ui.find("Aimbot", "Anti Aim", "Angles", "Yaw Modifier"),
yaw_mod_degree = ui.find("Aimbot", "Anti Aim", "Angles", "Yaw Modifier",
"Offset"),
freestanding = ui.find("Aimbot", "Anti Aim", "Angles", "Freestanding"),
free_body = ui.find("Aimbot", "Anti Aim", "Angles", "Freestanding", "Body
Freestanding"),
yaw_mod_free = ui.find("Aimbot", "Anti Aim", "Angles", "Freestanding", "Disable
Yaw Modifiers"),
body_yaw = ui.find("Aimbot", "Anti Aim", "Angles", "Body Yaw"),
inverter = ui.find("Aimbot", "Anti Aim", "Angles", "Body Yaw", "Inverter"),
left_limit = ui.find("Aimbot", "Anti Aim", "Angles", "Body Yaw", "Left Limit"),
right_limit = ui.find("Aimbot", "Anti Aim", "Angles", "Body Yaw", "Right
Limit"),
options = ui.find("Aimbot", "Anti Aim", "Angles", "Body Yaw", "Options"),
desync_freestand = ui.find("Aimbot", "Anti Aim", "Angles", "Body Yaw",
"Freestanding"),
dt = ui.find("Aimbot", "Ragebot", "Main", "Double Tap"),
aaos = ui.find("Aimbot", "Ragebot", "Main", "Hide Shots"),
hidden_cvars = ui.find("Miscellaneous", "Main", "Other", "Unlock Hidden
Cvars"),
air_strafe = ui.find("Miscellaneous", "Main", "Movement", "Air Strafe"),
scope_type = ui.find("Visuals", "World", "Main", "Override Zoom", "Scope
Overlay"),
legmovement = ui.find("Aimbot", "Anti Aim", "Misc", "Leg Movement"),
lag_options = ui.find("Aimbot", "Ragebot", "Main", "Double Tap", "Lag
Options"),
avoid_backstab = ui.find("Aimbot", "Anti Aim", "Angles", "Yaw", "Avoid
Backstab"),
ping_spike = ui.find("Miscellaneous", "Main", "Other", "Fake Latency"),
hidden = ui.find("Aimbot", "Anti Aim", "Angles", "Yaw", "Hidden"),
fl_limit = ui.find("Aimbot", "Anti Aim", "Fake Lag", "Limit"),
dtlim = ui.find("Aimbot", "Ragebot", "Main", "Double Tap", "Fake Lag Limit"),
}
function get_target()
-- All vectors are 3D, even the ones you'd expect to be 2D
local screen_center = render.screen_size() * 0.5
function yaw_base_degree()
if(menu.aaf.yaw_base:get() == icons.back .. " At Target") then
ref.base:override("Local View")
if(get_target() ~= nil and get_target().m_vecOrigin ~= nil and not (not
fs_dis() and rage.antiaim:get_target(true) ~= nil and menu.aaf.freestand:get()))
then
yaw = calc_angle(entity.get_local_player().m_vecOrigin,
get_target().m_vecOrigin).y - render.camera_angles().y
else
yaw = 0
end
ref.freestanding:override(false)
elseif(menu.aaf.yaw_base:get() == icons.back .. " Backward") then
ref.base:override("Local View")
yaw = 0
ref.freestanding:override(false)
elseif(menu.aaf.yaw_base:get() == icons.left .. " Left") then
ref.base:override("Local View")
yaw = -90
ref.freestanding:override(false)
elseif(menu.aaf.yaw_base:get() == icons.right .. " Right") then
ref.base:override("Local View")
yaw = 90
ref.freestanding:override(false)
elseif(menu.aaf.yaw_base:get() == icons.up .. " Forward") then
ref.base:override("Local View")
yaw = 180
ref.freestanding:override(false)
elseif(menu.aaf.freestand:get() and force_static() and not fs_dis()) then
ref.base:override("At Target")
yaw = 0
ref.freestanding:override(true)
else
ref.base:override("Local View")
yaw = 0
ref.freestanding:override(false)
end
return yaw
end
local n = 1
local ab_csa = 0
function ab_value()
n = menu.aa.builder[cond_trig()[1]].enabled:get() and cond_trig()[1] or 1
local shots = #ram.anti_bruteforce.tickcounts
local max_ph = menu.aa.max_phase[n].max:get()
local phase_n = shots - max_ph * (math.floor(shots / max_ph)) + 1
local val = menu.aa.ab_builder[n][phase_n]:get()
if(menu.misc.logs:get() and menu.misc.logs.events:get("Anti-bruteforce") and
menu.aa.max_phase[n].enabled:get()) then
local ac = "\a" .. menu.misc.logs.misc_color:get():to_hex():sub(1, 6)
if(ab_csa ~= shots) then
ab_csa = shots
if(menu.misc.logs.output:get("Console")) then
print_raw(ac .. "[+] Switched Anti-bruteforce phase due to enemy
shot [" .. phase_n .. "]")
end
if(menu.misc.logs.output:get("Up of screen")) then
print_dev("[+] Switched Anti-bruteforce phase due to enemy shot
[" .. phase_n .. "]")
end
if(menu.misc.logs.output:get("Screen")) then
table.insert(lua.logs, 1, {t = "Misc", n = "Switched Anti-
bruteforce phase due to enemy shot [" .. ac .."FF" .. phase_n .. "\aDEFAULT]",
alpha = 0, time = globals.realtime})
end
end
end
if(#ram.anti_bruteforce.realtime == 0 or globals.realtime -
ram.anti_bruteforce.realtime[#ram.anti_bruteforce.realtime] >
menu.aa.anti_brute_reset:get() or not menu.aa.max_phase[n].enabled:get()) then
return 0
else
return val
end
end
function fast_ladder(cmd)
if(menu.aa.fast_ladder:get()) then
local local_player = entity.get_local_player()
local pitch, yaw = render.camera_angles().x, render.camera_angles().y
if local_player.m_MoveType == 9 then
cmd.view_angles.y = math.floor(cmd.view_angles.y+0.5)
cmd.roll = 0
if menu.aa.fast_ladder.ladder_yaw_checkbox:get() then
if cmd.forwardmove == 0 then
cmd.pitch = 89
cmd.view_angles.y = cmd.view_angles.y +
menu.aa.fast_ladder.ladder_yaw_slider:get()
if math.abs(menu.aa.fast_ladder.ladder_yaw_slider:get()) > 0
and math.abs(menu.aa.fast_ladder.ladder_yaw_slider:get()) < 180 and cmd.sidemove ~=
0 then
cmd.view_angles.y = cmd.view_angles.y -
menu.aa.fast_ladder.ladder_yaw_slider:get()
end
if math.abs(menu.aa.fast_ladder.ladder_yaw_slider:get()) == 180
then
if cmd.sidemove < 0 then
cmd.in_moveleft = 0
cmd.in_moveright = 1
end
if cmd.sidemove > 0 then
cmd.in_moveleft = 1
cmd.in_moveright = 0
end
end
end
end
if (menu.aa.fast_ladder.options:get("Ascending")) then
if cmd.forwardmove > 0 then
if pitch < 45 then
cmd.view_angles.x = 89
cmd.in_moveright = 1
cmd.in_moveleft = 0
cmd.in_forward = 0
cmd.in_back = 1
if cmd.sidemove == 0 then
cmd.view_angles.y = cmd.view_angles.y + 90
end
if cmd.sidemove < 0 then
cmd.view_angles.y = cmd.view_angles.y + 150
end
if cmd.sidemove > 0 then
cmd.view_angles.y = cmd.view_angles.y + 30
end
end
end
end
if (menu.aa.fast_ladder.options:get("Descending")) then
if cmd.forwardmove < 0 then
cmd.view_angles.x = 89
cmd.in_moveleft = 1
cmd.in_moveright = 0
cmd.in_forward = 1
cmd.in_back = 0
if cmd.sidemove == 0 then
cmd.view_angles.y = cmd.view_angles.y + 90
end
if cmd.sidemove > 0 then
cmd.view_angles.y = cmd.view_angles.y + 150
end
if cmd.sidemove < 0 then
cmd.view_angles.y = cmd.view_angles.y + 30
end
end
end
end
end
end
local lshot = {}
local hm = {}
function aim_ack_no_chole(e)
table.insert(lshot, globals.realtime)
table.insert(hm, {vec = e.aim, t = globals.realtime, alpha = 0})
end
events.aim_ack:set(aim_ack_no_chole)
function anti_aim(cmd)
if(menu.aaf.enabled:get()) then
local lp = entity.get_local_player()
local standing = get_velocity(lp) < 3
local lw = lp:get_player_weapon()
if(lw ~= nil) then
lw_index = lw:get_weapon_index()
end
if(lw_index ~= nil and lw_index == 64) then
ref.dtlim:override(2)
else
ref.dtlim:override(ref.dtlim:get())
end
ui.find("Aimbot", "Anti Aim", "Angles", "Yaw"):override("Static")
fast_ladder(cmd)
if(menu.aa.break_lc:get(cond_trig()[2])) then
ref.lag_options:override("Always On")
else
ref.lag_options:override(ref.lag_options:get())
end
if(globals.choked_commands == 0) then
ram.jitter = not ram.jitter
inverted = entity.get_local_player().m_flPoseParameter[11] * 120 - 60 >
0
else
if(inverted == nil) then
inverted = false
else
inverted = inverted
end
end
ref.body_yaw:override(false)
n = menu.aa.builder[cond_trig()[1]].enabled:get() and cond_trig()[1] or 1
if(sim_diff() < menu.aa.defensive.cond.sens:get() / 100 * -1 and
ref.dt:get()) then
table.insert(ram.defensive, globals.realtime)
end
if(menu.aa.bomb_e_fix:get() and fix_bomb_site_e(cmd) and
common.is_button_down(0x45) and lp.m_iTeamNum == 2) then
ref.pitch:set("Disabled")
ref.yaw_mod_degree:set(0)
ref.yaw_mod:set("Disabled")
ref.offset:override(180)
ref.left_limit:set(0)
ref.right_limit:set(0)
ref.fake_options:set("")
ram.jit_yaw = 0
ram.yaw_add = 0
elseif(force_static()) then
ref.pitch:set("Down")
ref.yaw_mod:set("Disabled")
ref.yaw_mod_degree:set(0)
ref.offset:override(yaw_base_degree())
ref.left_limit:set(60)
ref.right_limit:set(60)
ref.fake_options:override("")
ram.jit_yaw = 0
ram.yaw_add = 0
elseif(#ram.defensive > 0 and globals.realtime -
ram.defensive[#ram.defensive] < 1 / 64 * (101 -
menu.aa.defensive.cond.sens:get()) / 10 and menu.aa.defensive.cond:get(cond_trig()
[2])) then
local dtab = menu.aa.defensive
ram.yaw_add = inverted and dtab.yaw_add_left:get() or
dtab.yaw_add_right:get()
if not ((dtab.yaw_mod:get() == "3-Way" or dtab.yaw_mod:get() == "5-
Way") and dtab.yaw_mod.custom_ways:get() or dtab.yaw_mod:get() == "Hidden") then
ref.hidden:set(false)
if(dtab.yaw_mod:get() == "Disabled") then
ram.jit_yaw = 0
elseif(dtab.yaw_mod:get() == "Center") then
ram.jit_yaw = ram.jitter and dtab.yaw_mod.modifier_degree:get()
/ -2 or dtab.yaw_mod.modifier_degree:get() / 2
elseif(dtab.yaw_mod:get() == "Offset") then
ram.jit_yaw = ram.jitter and dtab.yaw_mod.modifier_degree:get()
or 0
elseif(dtab.yaw_mod:get() == "Random") then
if(dtab.yaw_mod.modifier_degree:get() >= 0) then
ram.jit_yaw = math.random(0,
math.abs(dtab.yaw_mod.modifier_degree:get())) -
math.abs(dtab.yaw_mod.modifier_degree:get()) / 2
else
ram.jit_yaw = (math.random(0,
math.abs(dtab.yaw_mod.modifier_degree:get())) -
math.abs(dtab.yaw_mod.modifier_degree:get()) / 2) * -1
end
elseif(dtab.yaw_mod:get() == "Spin") then
if(dtab.yaw_mod.modifier_degree:get() >= 0) then
mult = 1
else
mult = -1
end
if(ram.jit_yaw < math.abs(dtab.yaw_mod.modifier_degree:get()))
then
ram.jit_yaw = ram.jit_yaw + 3
else
ram.jit_yaw = math.abs(dtab.yaw_mod.modifier_degree:get())
* -1 / 2
end
elseif(dtab.yaw_mod:get() == "3-Way") then
if(globals.tickcount % 3 == 2) then
ram.jit_yaw = dtab.yaw_mod.modifier_degree:get() / -2
elseif(globals.tickcount % 3 == 1) then
ram.jit_yaw = dtab.yaw_mod.modifier_degree:get() / 2 - 10
elseif(globals.tickcount % 3 == 0) then
ram.jit_yaw = dtab.yaw_mod.modifier_degree:get() / 2
end
elseif(dtab.yaw_mod:get() == "5-Way") then
ref.hidden:set(false)
if(globals.tickcount % 5 == 4) then
ram.jit_yaw = dtab.yaw_mod.modifier_degree:get() / -2
elseif(globals.tickcount % 5 == 3) then
ram.jit_yaw = dtab.yaw_mod.modifier_degree:get() / -2.5
elseif(globals.tickcount % 5 == 2) then
ram.jit_yaw = dtab.yaw_mod.modifier_degree:get() / 2.5
elseif(globals.tickcount % 5 == 1) then
ram.jit_yaw = dtab.yaw_mod.modifier_degree:get() / 2 - 10
elseif(globals.tickcount % 5 == 0) then
ram.jit_yaw = dtab.yaw_mod.modifier_degree:get() / 2
end
end
ref.yaw_mod:set("Disabled")
ref.yaw_mod_degree:set(0)
else
ref.yaw_mod:set("Disabled")
ref.yaw_mod_degree:set(0)
if(dtab.yaw_mod:get() == "3-Way") then
ref.hidden:set(false)
if(globals.tickcount % 3 == 2) then
ram.jit_yaw = dtab.yaw_mod.first_degree:get()
elseif(globals.tickcount % 3 == 1) then
ram.jit_yaw = dtab.yaw_mod.second_degree:get()
elseif(globals.tickcount % 3 == 0) then
ram.jit_yaw = dtab.yaw_mod.third_degree:get()
end
elseif(dtab.yaw_mod:get() == "5-Way") then
ref.hidden:set(false)
if(globals.tickcount % 5 == 4) then
ram.jit_yaw = dtab.yaw_mod.first_degree:get()
elseif(globals.tickcount % 5 == 3) then
ram.jit_yaw = dtab.yaw_mod.second_degree:get()
elseif(globals.tickcount % 5 == 2) then
ram.jit_yaw = dtab.yaw_mod.third_degree:get()
elseif(globals.tickcount % 5 == 1) then
ram.jit_yaw = dtab.yaw_mod.fourth_degree:get()
elseif(globals.tickcount % 5 == 0) then
ram.jit_yaw = dtab.yaw_mod.fifth_degree:get()
end
else
ref.hidden:set(true)
end
end
if(dtab.pitch:get() ~= "Jitter") then
ref.pitch:set(dtab.pitch:get())
else
pitchs = {"Disabled", "Down", "Fake Up", "Fake Down"}
if(#dtab.pitch.pitches:get() ~= 0) then
ref.pitch:set(dtab.pitch.pitches:get()
[math.random(1,#dtab.pitch.pitches:get())])
else
ref.pitch:set(pitchs[math.random(1, #pitchs)])
end
end
else
local tab = menu.aa.builder[n]
ref.left_limit:set(tab.left_limit:get())
ref.right_limit:set(tab.right_limit:get())
ref.hidden:set(false)
ref.fake_options:set(tab.fake_options:get())
ram.yaw_add = inverted and tab.yaw_add_left:get() - ab_value() / 2 or
tab.yaw_add_right:get() + ab_value() / 2
ref.pitch:set(tab.pitch:get())
-- ref.offset:set(ram.jit_yaw + yaw_base_degree() + ram.yaw_add)
if not ((tab.yaw_mod:get() == "3-Way" or tab.yaw_mod:get() == "5-Way")
and tab.yaw_mod.custom_ways:get()) then
if(tab.yaw_mod:get() == "Disabled") then
ram.jit_yaw = 0
elseif(tab.yaw_mod:get() == "Center") then
ram.jit_yaw = ram.jitter and (tab.yaw_mod.modifier_degree:get()
+ ab_value() / 2) / -2 or (tab.yaw_mod.modifier_degree:get() + ab_value() / 2) / 2
elseif(tab.yaw_mod:get() == "Offset") then
ram.jit_yaw = ram.jitter and (tab.yaw_mod.modifier_degree:get()
+ ab_value()) or ab_value() * -1
elseif(tab.yaw_mod:get() == "Random") then
ram.jit_yaw = math.random(0, tab.yaw_mod.modifier_degree:get()
+ ab_value()) - (tab.yaw_mod.modifier_degree:get() + ab_value()) / 2
elseif(tab.yaw_mod:get() == "Spin") then
if(tab.yaw_mod.modifier_degree:get() >= 0) then
mult = 1
else
mult = -1
end
if(mult == 1) then
if(ram.jit_yaw < math.abs(tab.yaw_mod.modifier_degree:get()
+ ab_value())) then
ram.jit_yaw = ram.jit_yaw + 3
else
ram.jit_yaw =
math.abs(tab.yaw_mod.modifier_degree:get() + ab_value()) * -1 / 2
end
else
if(ram.jit_yaw > math.abs(tab.yaw_mod.modifier_degree:get()
+ ab_value()) * -1) then
ram.jit_yaw = ram.jit_yaw - 3
else
ram.jit_yaw =
math.abs(tab.yaw_mod.modifier_degree:get() + ab_value()) / 2
end
end
elseif(tab.yaw_mod:get() == "3-Way") then
if(globals.tickcount % 3 == 2) then
ram.jit_yaw = tab.yaw_mod.modifier_degree:get() / -2 -
ab_value()
elseif(globals.tickcount % 3 == 1) then
ram.jit_yaw = tab.yaw_mod.modifier_degree:get() / 2 +
ab_value() - 10
elseif(globals.tickcount % 3 == 0) then
ram.jit_yaw = tab.yaw_mod.modifier_degree:get() / 2 +
ab_value()
end
elseif(tab.yaw_mod:get() == "5-Way") then
if(globals.tickcount % 5 == 4) then
ram.jit_yaw = tab.yaw_mod.modifier_degree:get() / -2 -
ab_value()
elseif(globals.tickcount % 5 == 3) then
ram.jit_yaw = tab.yaw_mod.modifier_degree:get() / -2.5 -
ab_value() / 2
elseif(globals.tickcount % 5 == 2) then
ram.jit_yaw = tab.yaw_mod.modifier_degree:get() / 2.5
elseif(globals.tickcount % 5 == 1) then
ram.jit_yaw = tab.yaw_mod.modifier_degree:get() / 2 - 10 +
ab_value() / 2
elseif(globals.tickcount % 5 == 0) then
ram.jit_yaw = tab.yaw_mod.modifier_degree:get() / 2 +
ab_value()
end
end
ref.yaw_mod:set("Disabled")
ref.yaw_mod_degree:set(0)
else
ref.yaw_mod:set("Disabled")
ref.yaw_mod_degree:set(0)
if(tab.yaw_mod:get() == "3-Way") then
if(globals.tickcount % 3 == 2) then
ram.jit_yaw = tab.yaw_mod.first_degree:get() - ab_value()
elseif(globals.tickcount % 3 == 1) then
ram.jit_yaw = tab.yaw_mod.second_degree:get()
elseif(globals.tickcount % 3 == 0) then
ram.jit_yaw = tab.yaw_mod.third_degree:get() + ab_value()
end
elseif(tab.yaw_mod:get() == "5-Way") then
if(globals.tickcount % 5 == 4) then
ram.jit_yaw = tab.yaw_mod.first_degree:get() - ab_value()
elseif(globals.tickcount % 5 == 3) then
ram.jit_yaw = tab.yaw_mod.second_degree:get() -
ab_value() / 2
elseif(globals.tickcount % 5 == 2) then
ram.jit_yaw = tab.yaw_mod.third_degree:get()
elseif(globals.tickcount % 5 == 1) then
ram.jit_yaw = tab.yaw_mod.fourth_degree:get() +
ab_value() / 2
elseif(globals.tickcount % 5 == 0) then
ram.jit_yaw = tab.yaw_mod.fifth_degree:get() + ab_value()
end
end
end
end
if not (ref.dt:get() and rage.exploit:get() ~= 1) then
if(ram.fix_tp == rage.exploit:get()) then
if not (#lshot > 0 and globals.realtime - lshot[#lshot] <= 1 / 64 *
14) then
lshot = {}
if(rage.exploit:get() > 0) then
if(globals.choked_commands == 0) then
cmd.send_packet = false
end
elseif(standing) then
if(globals.choked_commands < 3) then
cmd.send_packet = false
end
else
if(globals.choked_commands < ref.fl_limit:get()) then
cmd.send_packet = false
end
end
end
if(menu.aa.builder[n].fake_options:get("Jitter")) then
if(menu.aa.builder[n].fake_options:get("Randomize Jitter"))
then
if(math.random(0, 10) > 5) then
side = ram.jitter and -1 or 1
end
else
side = ram.jitter and -1 or 1
end
else
side = ref.inverter:get() and 1 or -1
end
else
ram.fix_tp = rage.exploit:get()
cmd.send_packet = true
end
end
if(force_static()) then
orig_desync = 0
desync_value = 0
multipl = 1
else
orig_desync = rage.antiaim:inverter() and ref.right_limit:get() or
ref.left_limit:get()
desync_value = rage.antiaim:inverter() and (ref.right_limit:get() / 2 +
30) or (ref.left_limit:get() / 2 + 30)
multipl = rage.antiaim:inverter() and ref.right_limit:get() / 60 or
ref.left_limit:get() / 60
end
model_add = render.camera_angles().y
if(rage.antiaim:get_target(true) ~= nil and menu.aaf.freestand:get() and
not fs_dis()) then
fr_val = rage.antiaim:get_target(true)
else
fr_val = 180 + model_add
end
if(menu.aa.bomb_e_fix:get() and fix_bomb_site_e(cmd) and
common.is_button_down(0x45) and lp.m_iTeamNum == 2) then
ref.offset:override(model_add)
else
if(standing and not (cmd.in_moveleft or cmd.in_moveright or
cmd.in_forward or cmd.in_back or cmd.in_left or cmd.in_right) and not
ui.find("aimbot", "anti aim", "misc", "fake duck"):get()) then
cmd.sidemove = ram.jitter_move and 1.1 or -1.1
ram.jitter_move = not ram.jitter_move
end
if(menu.aa.builder[n].fake_options:get("Jitter")) then
if not (cmd.send_packet) then
ref.offset:override(math.normalize_yaw(ram.jit_yaw +
yaw_base_degree() + ram.yaw_add + orig_desync * 2 * side + fr_val))
else
ref.offset:override(math.normalize_yaw(ram.jit_yaw +
yaw_base_degree() + ram.yaw_add + fr_val))
end
elseif(standing) then
if not (cmd.send_packet) then
ram.set_lby = not ram.set_lby
if(ram.set_lby) then
ref.offset:override(math.normalize_yaw(ram.jit_yaw +
yaw_base_degree() + ram.yaw_add + desync_value * 2 * side + fr_val))
else
ref.offset:override(math.normalize_yaw(ram.jit_yaw +
yaw_base_degree() + ram.yaw_add - (120 - desync_value * 2) * side + fr_val))
end
else
ref.offset:override(math.normalize_yaw(ram.jit_yaw +
yaw_base_degree() + ram.yaw_add + fr_val))
end
else
if not (cmd.send_packet) then
ram.set_lby = not ram.set_lby
if(ram.set_lby) then
ref.offset:override(math.normalize_yaw(ram.jit_yaw +
yaw_base_degree() + ram.yaw_add + orig_desync * 2 * side + fr_val))
else
ref.offset:override(math.normalize_yaw(ram.jit_yaw +
yaw_base_degree() + ram.yaw_add - 5 * side + fr_val))
end
else
ref.offset:override(math.normalize_yaw(ram.jit_yaw +
yaw_base_degree() + ram.yaw_add + fr_val))
end
end
end
end
end
function get_ragebot_target()
local local_player = entity.get_local_player()
if not local_player or not local_player:is_alive() then
return
end
::skip::
end
if not best_enemy then
return
else
return best_enemy
end
end
function render_ragebot()
if(path.draw_ind:get()) then
if(path.font:get() == "Default") then
f = 1
elseif(path.font:get() == "Small") then
f = 2
elseif(path.font:get() == "Console") then
f = 3
elseif(path.font:get() == "Bold") then
f = 4
else
f = 1
end
local lp = entity.get_local_player()
local vec = lp.m_vecVelocity
local l_o = lp.m_vecOrigin
local tracer = utils.trace_line(l_o, vector(l_o.x, l_o.y, l_o.z - 500),
nil, nil, 1)
if(l_o.z - tracer.end_pos.z <= 45 and l_o.z - tracer.end_pos.z >= 12
and in_air(lp) and vec.z < -450) then
render.text(f, vector(render.screen_size().x / 2 + path.x:get(),
render.screen_size().y / 2 + path.y:get()), path.color:get(), nil, "DANGEROUS!!!
CONTROLLING")
elseif(path.always_on:get()) then
render.text(f, vector(render.screen_size().x / 2 + path.x:get(),
render.screen_size().y / 2 + path.y:get()), path.color:get(), nil, "NO FALL
DAMAGE")
end
end
end
if(menu.mods.hitmarker:get()) then
for i, h in ipairs(hm) do
if(globals.realtime - h.t < 1) then
h.alpha = main_anim(true, h.alpha, 255, 0.05)
elseif(globals.realtime - h.t > 3) then
h.alpha = main_anim(false, h.alpha, 255, 0.05)
if(h.alpha == 0) then
table.remove(hm, i)
end
end
render.text(1, render.world_to_screen(h.vec),
color(255,255,255,h.alpha), "c", "+")
end
end
end
local renderer = {
rectangle = function(x, y, w, h, r, g, b, a)
render.rect(vector(x, y), vector(x + w, y + h), color(r,g,b,a))
end,
circle = function(x, y, r, g, b, a, radius, deg, perc)
render.circle(vector(x, y), color(r,g,b,a), radius, deg, perc)
end,
circle_outline = function(x, y, r, g, b, a, radius, start, perc, thickness)
render.circle_outline(vector(x, y), color(r,g,b,a), radius, start, perc,
thickness)
end,
gradient = function(x, y, w, h, r1, g1, b1, a1, r2, g2, b2, a2, ltr)
if(ltr) then
render.gradient(vector(x, y), vector(x + w, y + h), color(r1, g1, b1,
a1), color(r2, g2, b2, a2), color(r1, g1, b1, a1), color(r2, g2, b2, a2))
else
render.gradient(vector(x, y), vector(x + w, y + h), color(r1, g1, b1,
a1), color(r1, g1, b1, a1), color(r2, g2, b2, a2), color(r2, g2, b2, a2))
end
end
}
local hvis = {
skeet_alpha = {},
watermark = {
x = 0,
},
scope = {
scoped = false,
scope = 0,
first_alpha = 0,
second_alpha = 0,
},
central = {
clouds_x = 0,
logo_x = 0,
el_a = {0,0,0,0,0},
cond_x = {},
binds_a = {},
binds_x = {},
scope_alpha = 0,
},
invert = false,
binds = {
alpha = {},
w = 35,
drug = false,
drugging = false,
add_x_m = 0,
add_y_m = 0,
alphab = 0,
},
preview_logs = 0,
}
function visuals()
local design = menu.visuals.interface_design
local lp = entity.get_local_player()
if((lp == nil or lp.m_iHealth <= 0) and ui.get_alpha() == 0) then
return
end
local lc_mass = {}
local render_lc_mass = {}
function on_die()
lc_mass = {}
render_lc_mass = {}
end
events.player_death:set(on_die)
function lagcomp()
if(menu.mods.lagcomp:get()) then
local entes = entity.get_players()
local lp = entity.get_local_player()
if(lp == nil or lp.m_iHealth <= 0) then return end
if(#lc_mass ~= #entes) then
render_lc_mass = {}
end
for i, ents in ipairs(entes) do
if(ents == nil or ents.m_iTeamNum == lp.m_iTeamNum or
ents:is_dormant()) then goto skip end
if(lc_mass.ents == nil or ents.m_iHealth <= 0) then
lc_mass.ents = {}
end
if(ents ~= nil) then
table.insert(lc_mass.ents, ents.m_flSimulationTime)
if(#lc_mass.ents > 38) then
table.remove(lc_mass.ents, 1)
end
if(lc_mass.ents ~= nil) then
local count = 1
for i = 1, 38 do
if(lc_mass.ents[#lc_mass.ents] ==
lc_mass.ents[#lc_mass.ents - i]) then
count = i
end
end
if(lc_mass.ents[#lc_mass.ents] ~= lc_mass.ents[#lc_mass.ents -
24]) then
count = 1
end
if(count >= 24) then
table.insert(render_lc_mass, {ents, globals.realtime})
end
end
end
::skip::
end
for i = 1, #render_lc_mass do
if(render_lc_mass[i] ~= nil and render_lc_mass[i][1] ~= nil and
render_lc_mass[i][2] ~= nil) then
local epos = render_lc_mass[i][1].m_vecOrigin
if(globals.realtime - render_lc_mass[i][2] <= 1 / 64 * 14) then
render.line(render.world_to_screen(epos),
render.world_to_screen(extrapolate_pos(epos.x - 15, epos.y - 15, epos.z, 14,
render_lc_mass[i][1])), color(47, 117, 221,255))
local cords = extrapolate_pos(epos.x, epos.y, epos.z, 14,
render_lc_mass[i][1])
render.line(render.world_to_screen(vector(cords.x - 15, cords.y
- 15, cords.z)), render.world_to_screen(vector(cords.x - 15, cords.y + 15,
cords.z)), color(47, 117, 221,255))
render.line(render.world_to_screen(vector(cords.x - 15, cords.y
+ 15, cords.z)), render.world_to_screen(vector(cords.x + 15, cords.y + 15,
cords.z)), color(47, 117, 221,255))
render.line(render.world_to_screen(vector(cords.x + 15, cords.y
+ 15, cords.z)), render.world_to_screen(vector(cords.x + 15, cords.y - 15,
cords.z)), color(47, 117, 221,255))
render.line(render.world_to_screen(vector(cords.x + 15, cords.y
- 15, cords.z)), render.world_to_screen(vector(cords.x - 15, cords.y - 15,
cords.z)), color(47, 117, 221,255))
render.line(render.world_to_screen(vector(cords.x - 15, cords.y
- 15, cords.z + 70)), render.world_to_screen(vector(cords.x - 15, cords.y + 15,
cords.z + 70)), color(47, 117, 221,255))
render.line(render.world_to_screen(vector(cords.x - 15, cords.y
+ 15, cords.z + 70)), render.world_to_screen(vector(cords.x + 15, cords.y + 15,
cords.z + 70)), color(47, 117, 221,255))
render.line(render.world_to_screen(vector(cords.x + 15, cords.y
+ 15, cords.z + 70)), render.world_to_screen(vector(cords.x + 15, cords.y - 15,
cords.z + 70)), color(47, 117, 221,255))
render.line(render.world_to_screen(vector(cords.x + 15, cords.y
- 15, cords.z + 70)), render.world_to_screen(vector(cords.x - 15, cords.y - 15,
cords.z + 70)), color(47, 117, 221,255))
function on_shot(e)
if(menu.misc.logs:get()) then
if(e.state == nil and menu.misc.logs.events:get("Hits")) then
local ac = "\a" .. menu.misc.logs.hit_color:get():to_hex():sub(1, 6)
local hitbox = lua.hitgroup_mass[e.hitgroup + 1]
text = "\aFFFFFFRegistered shot in " .. ac .. e.target:get_name() ..
"'s " .. hitbox .. "\aFFFFFF for " .. ac .. e.damage .. "\aFFFFFF (" .. ac ..
e.target.m_iHealth .. " hp remaining\aFFFFFF) (" .. ac .. e.wanted_damage .. "\
aFFFFFF) [hitchance: " .. e.hitchance .. " | backtrack: " .. e.backtrack .. "]"
nc = "Registered shot in " .. e.target:get_name() .. "'s " .. hitbox ..
" for " .. e.damage .. " (" .. e.target.m_iHealth .. " hp remaining) (" ..
e.wanted_damage .. ") [hitchance: " .. e.hitchance .. " | backtrack: " ..
e.backtrack .. "]"
if(menu.misc.logs.output:get("Console")) then
print_raw(ac .. "[Apathyaw] " .. text)
end
if(menu.misc.logs.output:get("Up of screen")) then
print_dev(nc)
end
if(menu.misc.logs.output:get("Screen")) then
table.insert(lua.logs, 1, {t = "Hit", n = "Hit " .. ac .. "FF" ..
e.target:get_name() .. "\aDEFAULT for " .. ac .. "FF" .. e.damage .. " damage \
aDEFAULT(" .. ac .. "FF" .. e.target.m_iHealth .. " hp remaining\aDEFAULT)", alpha
= 0, time = globals.realtime})
end
end
if(e.state ~= nil and menu.misc.logs.events:get("Misses")) then
local ac = "\a" .. menu.misc.logs.miss_color:get():to_hex():sub(1, 6)
local hitbox = lua.hitgroup_mass[e.wanted_hitgroup + 1]
if(e.state == "correction") then
reas = "resolver"
elseif(e.state == "misprediction") then
reas = "jitter resolver"
else
reas = e.state
end
text = "\aFFFFFFMissed shot in " .. ac .. e.target:get_name() .. "'s
" .. hitbox .. "\aFFFFFF due to " .. ac .. reas .. "\aFFFFFF [wanted damage: " ..
e.wanted_damage .. " | backtrack: " .. e.backtrack .. " | hitchance: " ..
e.hitchance .. "]"
nc = "Missed shot in " .. e.target:get_name() .. "'s " .. hitbox .. "
due to " .. reas .. "[wanted damage: " .. e.wanted_damage .. " | backtrack: " ..
e.backtrack .. " | hitchance: " .. e.hitchance .. "]"
if(menu.misc.logs.output:get("Console")) then
print_raw(ac .. "[Apathyaw] " .. text)
end
if(menu.misc.logs.output:get("Up of screen")) then
print_dev(nc)
end
if(menu.misc.logs.output:get("Screen")) then
table.insert(lua.logs, 1, {t = "Miss", n = "Missed shot due to " ..
ac .. "FF" .. reas, alpha = 0, time = globals.realtime})
end
end
end
end
function on_buy(e)
if(menu.misc.logs:get() and menu.misc.logs.events:get("Buys")) then
local player = entity.get(e.userid, true)
if(player == nil or player == entity.get_local_player()) then return end
local ac = "\a" .. menu.misc.logs.misc_color:get():to_hex():sub(1, 6)
if(menu.misc.logs.output:get("Console")) then
print_raw(ac .. player:get_name() .. " bought " .. e.weapon)
end
if(menu.misc.logs.output:get("Up of screen")) then
print_dev(player:get_name() .. " bought " .. e.weapon)
end
end
end
function render_logs()
local add_y = 0
hvis.preview_logs = main_anim(#lua.logs == 0 and menu.misc.logs:get() and
menu.misc.logs.log_preview:get() and menu.misc.logs.output:get("Screen") and
ui.get_alpha() > 0 and menu.misc.logs.output:get("Screen"), hvis.preview_logs, 255,
0.2)
if(menu.misc.logs:get() and menu.misc.logs.output:get("Screen")) then
local x = render.screen_size().x / 2
local y = render.screen_size().y / 2 + render.screen_size().y / 3.6
for i, logs in ipairs(lua.logs) do
if(globals.realtime - logs.time < 1) then
logs.alpha = main_anim(true, logs.alpha, 255, 0.1)
end
if(globals.realtime - logs.time > 3) then
logs.alpha = main_anim(false, logs.alpha, 255, 0.1)
if(logs.alpha == 0) then
table.remove(lua.logs, i)
end
end
if(menu.misc.logs.enable_color:get()) then
g_c = menu.misc.logs.glow_color:get()
else
if(logs.t == "Miss") then
g_c = menu.misc.logs.miss_color:get()
elseif(logs.t == "Hit") then
g_c = menu.misc.logs.hit_color:get()
elseif(logs.t == "Misc") then
g_c = menu.misc.logs.misc_color:get()
end
end
local size = render.measure_text(1, nil, logs.n).x
render.shadow(vector(x - size / 2, y + add_y), vector(x + size / 2, y +
add_y), color(g_c.r, g_c.g, g_c.b, menu.misc.logs.glow:get() * 2.55 * logs.alpha /
255))
render.text(1, vector(x, y + add_y), color(255,255,255,logs.alpha),
"c", logs.n)
add_y = add_y + 14 * logs.alpha / 255
if(#lua.logs > 8) then
lua.logs[#lua.logs].alpha = main_anim(false,
lua.logs[#lua.logs].alpha, 0, 0.1, nil)
if(math.floor(lua.logs[#lua.logs].alpha) <= 0.1) then
table.remove(lua.logs, #lua.logs)
end
end
end
end
if(hvis.preview_logs > 0) then
local x = render.screen_size().x / 2
local y = render.screen_size().y / 2 + render.screen_size().y / 3.6
local addp = 0
if(menu.misc.logs.enable_color:get()) then
miss_c = menu.misc.logs.glow_color:get()
hit_c = menu.misc.logs.glow_color:get()
misc_c = menu.misc.logs.glow_color:get()
else
miss_c = menu.misc.logs.miss_color:get()
hit_c = menu.misc.logs.hit_color:get()
misc_c = menu.misc.logs.misc_color:get()
end
if(menu.misc.logs.events:get("Hits")) then
local ac = "\a" .. menu.misc.logs.hit_color:get():to_hex():sub(1, 6)
local n = "Hit " .. ac .. "FF" .. "конвульсив еблан" .. "\aDEFAULT for
" .. ac .. "FF" .. "55" .. " damage \aDEFAULT(" .. ac .. "FF" .. "45" .. " hp
remaining\aDEFAULT)"
local size = render.measure_text(1, nil, n).x
render.shadow(vector(x - size / 2, y + addp), vector(x + size / 2, y +
addp), color(hit_c.r, hit_c.g, hit_c.b, menu.misc.logs.glow:get() * 2.55 *
hvis.preview_logs / 255))
render.text(1, vector(x, y + addp),
color(255,255,255,hvis.preview_logs), "c", n)
addp = addp + 14
end
if(menu.misc.logs.events:get("Misses")) then
local ac = "\a" .. menu.misc.logs.miss_color:get():to_hex():sub(1, 6)
local n = "Missed shot due to " .. ac .. "FF" .. "resolver"
local size = render.measure_text(1, nil, n).x
render.shadow(vector(x - size / 2, y + addp), vector(x + size / 2, y +
addp), color(miss_c.r, miss_c.g, miss_c.b, menu.misc.logs.glow:get() * 2.55 *
hvis.preview_logs / 255))
render.text(1, vector(x, y + addp),
color(255,255,255,hvis.preview_logs), "c", n)
addp = addp + 14
end
if(menu.misc.logs.events:get("Anti-bruteforce")) then
local ac = "\a" .. menu.misc.logs.misc_color:get():to_hex():sub(1, 6)
local n = ac .. "FF[+] Switched Anti-bruteforce phase due to enemy shot
[1]"
local size = render.measure_text(1, nil, n).x
render.shadow(vector(x - size / 2, y + addp), vector(x + size / 2, y +
addp), color(misc_c.r, misc_c.g, misc_c.b, menu.misc.logs.glow:get() * 2.55 *
hvis.preview_logs / 255))
render.text(1, vector(x, y + addp),
color(255,255,255,hvis.preview_logs), "c", n)
addp = addp + 14
end
end
end
function set_hook()
if(menu.mods.anim_breakers:get()) then
local self = entity.get_local_player()
if not self or not self:is_alive() then return end
function rendering()
visuals()
render_ragebot()
render_logs()
lagcomp()
end
function createmoving(cmd)
anti_aim(cmd)
ragebot(cmd)
end
events.createmove_run:set(set_hook)
events.item_purchase:set(on_buy)
events.bullet_impact:set(anti_brute)
events.enter_bombzone:set(enter_bombzone)
events.exit_bombzone:set(exit_bombzone)
events.createmove:set(createmoving)
events.aim_ack:set(on_shot)
events.render:set(rendering)