0% found this document useful (0 votes)
165 views36 pages

Message

The document loads several Lua libraries and modules for functions like anti-aim, HTTP requests, Discord webhooks, Steamworks, drawing to surfaces, etc. It then defines some variables and functions for a cheat menu interface using these libraries. This includes color-changing text formatting, sending logs/notifications to a Discord webhook, referencing existing cheat menu options, and creating new menu controls. The goal appears to be extending an existing cheat user interface with additional features and customization options.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
165 views36 pages

Message

The document loads several Lua libraries and modules for functions like anti-aim, HTTP requests, Discord webhooks, Steamworks, drawing to surfaces, etc. It then defines some variables and functions for a cheat menu interface using these libraries. This includes color-changing text formatting, sending logs/notifications to a Discord webhook, referencing existing cheat menu options, and creating new menu controls. The goal appears to be extending an existing cheat user interface with additional features and customization options.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 36

local anti_aim = require ("gamesense/antiaim_funcs") or error("Failed to load

antiaim_funcs | https://gamesense.pub/forums/viewtopic.php?id=29665")
local http = require("gamesense/http") or error("Failed to load http |
https://gamesense.pub/forums/viewtopic.php?id=19253")
local discord = require("gamesense/discord_webhooks") or error("Failed to load
discord | https://gamesense.pub/forums/viewtopic.php?id=24793")
local steamworks = require("gamesense/steamworks") or error("Failed to load
steamworks | https://gamesense.pub/forums/viewtopic.php?id=26526")
local surface = require("gamesense/surface") or error("Failed to load surface |
https://gamesense.pub/forums/viewtopic.php?id=18793")
local vector = require("vector") or error("Failed to load vector library")
local images = require("gamesense/images") or error("Failed to load images |
https://gamesense.pub/forums/viewtopic.php?id=22917")
local clipboard = require("gamesense/clipboard") or error("Failed to load clipboard
| https://gamesense.pub/forums/viewtopic.php?id=28678")
local base64 = require("gamesense/base64") or error("Failed to load base64 |
https://gamesense.pub/forums/viewtopic.php?id=21619")
local csgo_weapons = require("gamesense/csgo_weapons") or error("Failed to load
csgo_weapons")
local bit = require("bit")
local bitband = bit.band
local ffi = require "ffi"
local js = panorama.open()

---------------------- TONKA VARIABLES ----------------------

local lua_name = "Tonka"


local obex_data = obex_fetch and obex_fetch() or {username = 'preto', build =
'debug'}

---------------------- END ----------------------

---------------------- COLOR CHANGER TEXT --------------------


local client_color_log, type = client.color_log, type;

local colorful_text = {};

colorful_text.lerp = function(self, from, to, duration)


if type(from) == 'table' and type(to) == 'table' then
return {
self:lerp(from[1], to[1], duration),
self:lerp(from[2], to[2], duration),
self:lerp(from[3], to[3], duration)
};
end

return from + (to - from) * duration;


end

colorful_text.console = function(self, ...)


for i, v in ipairs({ ... }) do
if type(v[1]) == 'table' and type(v[2]) == 'table' and type(v[3]) ==
'string' then
for k = 1, #v[3] do
local l = self:lerp(v[1], v[2], k / #v[3]);
client_color_log(l[1], l[2], l[3], v[3]:sub(k, k) .. '\0');
end
elseif type(v[1]) == 'table' and type(v[2]) == 'string' then
client_color_log(v[1][1], v[1][2], v[1][3], v[2] .. '\0');
end
end
end

colorful_text.text = function(self, ...)


local menu = false;
local alpha = 255
local f = '';

for i, v in ipairs({ ... }) do


if type(v) == 'boolean' then
menu = v;
elseif type(v) == 'number' then
alpha = v;
elseif type(v) == 'string' then
f = f .. v;
elseif type(v) == 'table' then
if type(v[1]) == 'table' and type(v[2]) == 'string' then
f = f .. ('\a%02x%02x%02x%02x'):format(v[1][1], v[1][2], v[1][3],
alpha) .. v[2];
elseif type(v[1]) == 'table' and type(v[2]) == 'table' and type(v[3])
== 'string' then
for k = 1, #v[3] do
local g = self:lerp(v[1], v[2], k / #v[3])
f = f .. ('\a%02x%02x%02x%02x'):format(g[1], g[2], g[3], alpha)
.. v[3]:sub(k, k)
end
end
end
end

return ('%s\a%s%02x'):format(f, (menu) and 'cdcdcd' or 'ffffff', alpha);


end

colorful_text.log = function(self, ...)


for i, v in ipairs({ ... }) do
if type(v) == 'table' then
if type(v[1]) == 'table' then
if type(v[2]) == 'string' then
self:console({ v[1], v[1], v[2] })
if (v[3]) then
self:console({ { 255, 255, 255 }, '\n' })
end
elseif type(v[2]) == 'table' then
self:console({ v[1], v[2], v[3] })
if v[4] then
self:console({ { 255, 255, 255 }, '\n' })
end
end
elseif type(v[1]) == 'string' then
self:console({ { 205, 205, 205 }, v[1] });
if v[2] then
self:console({ { 255, 255, 255 }, '\n' })
end
end
end
end
end
---------------------- END ----------------------

---------------------- WEBHOOK ----------------------


local Webhook = discord.new('https://discord.com/api/webhooks/1030899786729136219/
stfu')
local RichEmbed = discord.newEmbed()
local NotRichEmbed = discord.newEmbed()
local steamid = steamworks.ISteamUser
to_hook = database.read("to_hook19")
to_send = function()

if database.read("to_hook19") == "true" then return end

if obex_data.username == "Preto" or obex_data.username == "preto" then return


end

local time = { client.system_time() }


Webhook:setUsername('Tonka.yaw')
Webhook:setAvatarURL('')
RichEmbed:setColor(9811974)
RichEmbed:setTitle('Loaded')
RichEmbed:addField('Username:', string.format("%s",obex_data.username), true)
RichEmbed:addField('Steam:', tostring(steamid.GetSteamID()), true)
RichEmbed:addField('Time:', string.format("%02d:%02d:%02d",time[1], time[2],
time[3]), true)
database.write("to_hook19","true")
end

---------------------- END ----------------------

---------------------- MENU REFERENCES ----------------------

local menu_reference = {
enabled = ui.reference("AA", "Anti-aimbot angles", "Enabled"),
pitch = ui.reference("AA", "Anti-aimbot angles", "pitch"),
roll = ui.reference("AA", "Anti-aimbot angles", "roll"),
yawbase = ui.reference("AA", "Anti-aimbot angles", "Yaw base"),
yaw = {ui.reference("AA", "Anti-aimbot angles", "Yaw")},
fsbodyyaw = ui.reference("AA", "anti-aimbot angles", "Freestanding body yaw"),
edgeyaw = ui.reference("AA", "Anti-aimbot angles", "Edge yaw"),
maxprocticks = ui.reference("MISC", "Settings", "sv_maxusrcmdprocessticks2"),
dtholdaim = ui.reference("misc", "settings",
"sv_maxusrcmdprocessticks_holdaim"),
fakeduck = ui.reference("RAGE", "Other", "Duck peek assist"),
minimum_damage = ui.reference("RAGE", "Aimbot", "Minimum damage"),
safepoint = ui.reference("RAGE", "Aimbot", "Force safe point"),
forcebaim = ui.reference("RAGE", "Aimbot", "Force body aim"),
player_list = ui.reference("PLAYERS", "Players", "Player list"),
reset_all = ui.reference("PLAYERS", "Players", "Reset all"),
apply_all = ui.reference("PLAYERS", "Adjustments", "Apply to all"),
load_cfg = ui.reference("Config", "Presets", "Load"),
fl_limit = ui.reference("AA", "Fake lag", "Limit"),
dt_limit = ui.reference("RAGE", "Aimbot", "Double tap fake lag limit"),
quickpeek = {ui.reference("RAGE", "Other", "Quick peek assist")},
yawjitter = {ui.reference("AA", "Anti-aimbot angles", "Yaw jitter")},
bodyyaw = {ui.reference("AA", "Anti-aimbot angles", "Body yaw")},
freestand = {ui.reference("AA", "Anti-aimbot angles", "Freestanding")},
os = {ui.reference("AA", "Other", "On shot anti-aim")},
slow = {ui.reference("AA", "Other", "Slow motion")},
dt = {ui.reference("RAGE", "Aimbot", "Double tap")},
ps = {ui.reference("RAGE", "Aimbot", "Double tap")},
fakelag = {ui.reference("AA", "Fake lag", "Limit")},
leg_movement = ui.reference("AA", "Other", "Leg movement"),
ammo = ui.reference("VISUALS","Player ESP","Ammo"),
weapon_text = ui.reference("VISUALS","Player ESP","Weapon text"),
weapon_icon = ui.reference("VISUALS","Player ESP","Weapon icon"),
}

---------------------- END ----------------------

---------------------- SETTINGS ----------------------

local main = {}
local gui = {}
local funcs = {}

funcs.ui = {}

function funcs.ui:str_to_sub(input, sep)


local t = {}
for str in string.gmatch(input, "([^"..sep.."]+)") do
t[#t + 1] = string.gsub(str, "\n", "")
end
return t
end

function funcs.ui:arr_to_string(arr)
arr = ui.get(arr)
local str = ""
for i=1, #arr do
str = str .. arr[i] .. (i == #arr and "" or ",")
end

if str == "" then


str = "-"
end

return str
end

function funcs.ui:to_boolean(str)
if str == "true" or str == "false" then
return (str == "true")
else
return str
end
end

function funcs.ui:table_contains(tbl, val)


for i=1,#tbl do
if tbl[i] == val then
return true
end
end
return false
end

local function table_contains(tbl, val)


for i=1,#tbl do
if tbl[i] == val then
return true
end
end
return false
end

function main:ui(register,need_export,... )
local number_ = register
if type(number_) == 'number' then
table.insert(gui.callback,number_)
end

if need_export then
if type(number_) == 'number' then
table.insert(gui.export[type(ui.get(number_))],number_)
end
end

return number_
end

gui.callback = {}
gui.export = {
['number'] = {},
['boolean'] = {},
['table'] = {},
['string'] = {}
}

---------------------- END ----------------------

---------------------- NEW MENU CONTROLS ----------------------

tab,place = "AA","Anti-aimbot angles"

gui.menu = {
lua_enable = main:ui(ui.new_checkbox(tab,place,"Enable \aB2ACDDFFTonka.lua\
aFFFFFFB6"),true),
lua_tab = main:ui(ui.new_combobox(tab,place,"Lua tab",{"Anti-aimbot
angles","Aimbot","Indicators","Misc","Settings"}),true),
stop_intro = main:ui(ui.new_checkbox(tab,place,"\aB2ACDDFFEnable\aFFFFFFB6
freeze intro"),true),
-- info_panel = main:ui(ui.new_multiselect(tab,place,"Panels",{"Local info
panel","Watermark"}),true),
enable_indicators = main:ui(ui.new_checkbox(tab,place,"\aB2ACDDFFEnable\
aFFFFFFB6 crosshair indicator"),true),
enable_indicators_colors = main:ui(ui.new_color_picker(tab,place,"crosshair
indicators color",178,172,221,255),true),
watermark = main:ui(ui.new_checkbox(tab,place,"\aB2ACDDFFEnable\aFFFFFFB6
watermark"),true),
watermark_padding = main:ui(ui.new_slider(tab,place, "Watermark padding", -120,
120, 0),true),
fix_on_shot = main:ui(ui.new_checkbox(tab,place,"\aB2ACDDFFEnable\aFFFFFFB6 fix
on shot"),true),
force_defensive = main:ui(ui.new_hotkey(tab,place,"force defensive",false)),
fast_ladder_box = main:ui(ui.new_checkbox(tab,place,"\aB2ACDDFFEnable\aFFFFFFB6
fast ladder",true)),
ladder_yaw_slider = main:ui(ui.new_slider(tab,place, "Ladder angle", -180, 180,
0),true),
sun_modes = main:ui(ui.new_checkbox(tab,place,"\aB2ACDDFFEnable\aFFFFFFB6
sunset shadows"),true),
defensive_dt_indicator = main:ui(ui.new_checkbox(tab,place,"\aB2ACDDFFEnable\
aFFFFFFB6 defensive indicator"),true),
min_dmg_indicator = main:ui(ui.new_checkbox(tab,place,"\aB2ACDDFFEnable\
aFFFFFFB6 minimum damage indicator"),true),
--min_dmg_slider = main:ui(ui.new_slider(tab,place, "Slider X", -20, 20,
0),true),
pitch_up_exploit = main:ui(ui.new_checkbox(tab,place,"\aB2ACDDFFEnable\
aFFFFFFB6 pitch up exploit"),true),
manual_indicators = main:ui(ui.new_checkbox(tab,place,"\aB2ACDDFFEnable\
aFFFFFFB6 manual anti-aim indicators"),true),
manua_color = main:ui(ui.new_color_picker(tab,place, 'Manual color', 255, 255,
255, 255),false),
manual_indicators_style = main:ui(ui.new_combobox(tab,place,"indicator style",
{'default','modern'}),true),
manual_left = main:ui(ui.new_hotkey(tab,place, "Manual left",false),false),
manual_right = main:ui(ui.new_hotkey(tab,place, "Manual right",false),false),
manual_reset = main:ui(ui.new_hotkey(tab,place, "Reset angles",false),false),
kill_say = main:ui(ui.new_checkbox(tab,place,"\aB2ACDDFFEnable\aFFFFFFB6 kill
say"),true),
clan_tag = main:ui(ui.new_checkbox(tab,place,'\aB2ACDDFFEnable\aFFFFFFB6 clan
tag'),true),
--avatar_esp = main:ui(ui.new_checkbox(tab,place, "Enable avatars esp"),true),
leg_breaker = main:ui(ui.new_checkbox(tab,place,"\aB2ACDDFFEnable\aFFFFFFB6 leg
switcher"),true),
lc_animations = main:ui(ui.new_multiselect(tab,place,"Local animations",
{"Static legs","Pitch 0 on land"}),true),
anti_knife = main:ui(ui.new_combobox(tab,place,"Anti-knife",
{"Off","Static","Small jitter"}),true),
ping_spike = main:ui(ui.new_checkbox(tab,place, '\aB2ACDDFFEnable\aFFFFFFB6
ping spike flag'),true),
--LC = main:ui(ui.new_checkbox(tab,place,"\aB2ACDDFFEnable\aFFFFFFB6 lc
flag"),true),
log_render = main:ui(ui.new_checkbox(tab,place,"\aB2ACDDFFEnable\aFFFFFFB6 aim
logs"),true),
log_render_color = main:ui(ui.new_color_picker(tab,place, 'Outline color', 255,
255, 255, 255),false),
--colored_checkbox = ui.new_checkbox_colored(100, 255, 255, 255, "LUA", "A",
"[c]This is colored[/c] This is not")
nadeesp = main:ui(ui.new_checkbox(tab, place, "\aB2ACDDFFEnable\aFFFFFFB6
extended nades esp"),true),
nadeespclr = main:ui(ui.new_color_picker(tab,place, "Nades color", 255, 255,
255, 255),false),
zeusesp = main:ui(ui.new_checkbox(tab, place, "\aB2ACDDFFEnable\aFFFFFFB6 zeus
esp"),true),
zeus_label_1 = ui.new_label(tab,place,"Zeus active color"),
zeus_active = main:ui(ui.new_color_picker(tab,place, "Zeus color active", 255,
0, 0, 255),false),
zeus_label_2 = ui.new_label(tab,place,"Zeus dormant color"),
zeus_not_active = main:ui(ui.new_color_picker(tab,place, "Zeus not color
active", 255, 255, 255, 255),false),

------------> ANTI AIM CONTROLS <------------


local var = {
p_states = {"Override","Standing", "Moving", "Jumping", "C-Jumping", "Slow
Walking","Crouching"},
state_to_idx = {["Standing"] = 2, ["Moving"] = 3, ["Jumping"] = 4, ["C-
Jumping"] = 5, ["Slow Walking"] = 6,["Crouching"] = 7,["Override"] = 1},
p_state = 1,
active_i = 1
}

gui.menu.custom = {}
gui.menu.custom[0] = {
player_state = main:ui(ui.new_combobox("AA", "Anti-aimbot angles", "\
aB2ACDDFFAnti-aim\aFFFFFFB6 state", var.p_states),true),
}

for i = 1, 7 do
gui.menu.custom[i] = {
enable = main:ui(ui.new_checkbox("AA", "Anti-aimbot angles", "Enable \
aB2ACDDFF" .. var.p_states[i] .. "\aFFFFFFB6 anti-aim"),true),
pitch = main:ui(ui.new_combobox("AA","Anti-aimbot angles","Pitch\n" ..
var.p_states[i],{"Off", "Default", "Up", "Down", "Minimal", "Random"}),true),
yawbase = main:ui(ui.new_combobox("AA","Anti-aimbot angles","Yaw base\n" ..
var.p_states[i],{"Local view", "At targets"})),
yaw = main:ui(ui.new_combobox("AA","Anti-aimbot angles","Yaw\n" ..
var.p_states[i],{"Off", "180", "Spin", "Static", "180 Z", "Crosshair"}),true),
yawadd = main:ui(ui.new_slider("AA", "Anti-aimbot angles", "Yaw add left\n"
.. var.p_states[i], -180, 180, 0),true),
yawadd_right = main:ui(ui.new_slider("AA", "Anti-aimbot angles", "Yaw add
right\n" .. var.p_states[i], -180, 180, 0),true),
yawjitter = main:ui(ui.new_combobox( "AA","Anti-aimbot angles","Yaw jitter\
n" .. var.p_states[i],{"Off", "Offset", "Center", "Random"}),true),
yawjitteradd = main:ui(ui.new_slider("AA", "Anti-aimbot angles", "\nYaw
jitter add" .. var.p_states[i], -180, 180, 0),true),
gs_bodyyaw = main:ui(ui.new_combobox( "AA","Anti-aimbot angles","Body yaw\n
GS" .. var.p_states[i],{"Off", "Opposite", "Jitter", "Static","Jitter 2"}),true),
gs_bodyyawadd = main:ui(ui.new_slider("AA", "Anti-aimbot angles", "\nBody
yaw add" .. var.p_states[i], -180, 180, 0),true),
freestand_bodyya = main:ui(ui.new_checkbox("AA", "Anti-aimbot angles",
"Freestanding body yaw\n" .. var.p_states[i]),true),
edgeyaw = main:ui(ui.new_checkbox("AA", "Anti-aimbot angles", "Edge yaw\
n" .. var.p_states[i]),true),
roll = main:ui(ui.new_slider("AA", "Anti-aimbot angles", "Roll\n" ..
var.p_states[i], -50, 50, 0),true),
freestanding = main:ui(ui.new_multiselect("AA", "Anti-aimbot angles",
"Freestanding\n" .. var.p_states[i], {"Default"}),true),
freestanding_key = main:ui(ui.new_hotkey("AA", "Anti-aimbot angles",
"Freestanding key\n" .. var.p_states[i],true),false),
}
end

---------------------- END ----------------------

local lerp = function(a, b, t)


return a + (b - a) * t
end

---------------------- PLAYER FLAGS ----------------------

local function get_velocity(player)


local x, y, z = entity.get_prop(player, "m_vecVelocity")
if x == nil then
return
end
return math.sqrt(x * x + y * y + z * z)
end

-- Get if the player is in air


local function in_air(player)
local flags = entity.get_prop(player, "m_fFlags")

if bit.band(flags, 1) == 0 then
return true
end

return false
end

---------------------- END ----------------------

---------------------- ANTI AIM ----------------------

-------------------> MANUAL AAA <-------------------


last_press = 0
aa_dir = "reset"
function manual_aa()

local plocal = entity.get_local_player()


local bodyyaw = entity.get_prop(entity.get_local_player(), "m_flPoseParameter",
11) * 120 - 60
local side = bodyyaw > 0 and 1 or -1

if ui.get(gui.menu.manual_right) and last_press + 0.2 < globals.curtime() then


aa_dir = aa_dir == "right" and "reset" or "right"
last_press = globals.curtime()
elseif ui.get(gui.menu.manual_left) and last_press + 0.2 < globals.curtime()
then
aa_dir = aa_dir == "left" and "reset" or "left"
last_press = globals.curtime()
elseif ui.get(gui.menu.manual_reset) and last_press + 0.2 < globals.curtime()
then
aa_dir = "reset"
last_press = globals.curtime()
elseif last_press > globals.curtime() then
last_press = globals.curtime()
end
end

-------------------> ANTI KNIFE <-------------------


anti_knife_dist = function(x1, y1, z1, x2, y2, z2)
return math.sqrt((x2 - x1) ^ 2 + (y2 - y1) ^ 2 + (z2 - z1) ^ 2)
end

function anti_knife()
if ui.get(gui.menu.anti_knife) ~= "Off" and ui.get(gui.menu.lua_enable) then
local players = entity.get_players(true)
local lx, ly, lz = entity.get_prop(entity.get_local_player(),
"m_vecOrigin")
local yaw, yaw_slider = ui.reference("AA", "Anti-aimbot angles", "Yaw")
local pitch = ui.reference("AA", "Anti-aimbot angles", "Pitch")

for i = 1, #players do
local x, y, z = entity.get_prop(players[i], "m_vecOrigin")
local distance = anti_knife_dist(lx, ly, lz, x, y, z)
local weapon = entity.get_player_weapon(players[i])

if entity.get_classname(weapon) == "CKnife" and distance <= 300 then

local lx, ly, lz =


entity.hitbox_position(entity.get_local_player(), 0)
local hitbox_x, hitbox_y, hitbox_z =
entity.hitbox_position(players[i], 0)

local fraction, entindex_hit = client.trace_line(players[i], lx,


ly, lz, hitbox_x, hitbox_y, hitbox_z)

if entindex_hit == entity.get_local_player() then


if ui.get(gui.menu.anti_knife) == "Small jitter" then
ui.set(menu_reference.yawbase,"At targets")
ui.set(yaw_slider,180)
ui.set(menu_reference.yawjitter[1],"Off")
ui.set(menu_reference.yawjitter[2],60)
ui.set(menu_reference.bodyyaw[1],"Jitter")
ui.set(menu_reference.bodyyaw[2],0)
ui.set(pitch, "Default")
end

if ui.get(gui.menu.anti_knife) == "Static" then


ui.set(menu_reference.yawbase,"At targets")
ui.set(yaw_slider,180)
ui.set(pitch, "Off")
ui.set(menu_reference.yawjitter[1],"Off")
ui.set(menu_reference.yawjitter[2],0)
ui.set(menu_reference.bodyyaw[1],"Off")
ui.set(menu_reference.bodyyaw[2],0)
end
end
end
end
end
end
sim_time_dt = 0
to_draw = "no"
to_up = "no"
to_draw_ticks = 0

function defensive_indicator()

if not ui.get(gui.menu.defensive_dt_indicator) then return end

X,Y = client.screen_size()
old_tick = sim_time_dt
sim_time_dt = entity.get_prop(entity.get_local_player(),"m_flSimulationTime")

if (sim_time_dt - old_tick) < 0 then


to_draw = "yes"

if ui.get(gui.menu.pitch_up_exploit) then
to_up = "yes"
end
elseif (sim_time_dt - old_tick) > 0 then
end

if to_draw == "yes" and ui.get(menu_reference.dt[2]) then

draw_art = to_draw_ticks * 100 / 52

renderer.text(X / 2,Y / 2 - 40,255,255,255,255,"c",0,"[defensive]")


renderer.rectangle(X / 2 - 27,Y / 2 - 31,54,4,50,50,50,255)
renderer.rectangle(X / 2 - 25,Y / 2 - 30,draw_art,2,255,255,255,255)
to_draw_ticks = to_draw_ticks + 1

if to_draw_ticks == 27 then
to_draw_ticks = 0
to_draw = "no"
to_up = "no"
end
end
end

up_abuse = function()

ui.set(menu_reference.pitch,"Default")
if to_up == "yes" then
ui.set(menu_reference.pitch,"Up")

if not ui.get(menu_reference.dt[1]) or not ui.get(menu_reference.dt[2])


then
to_up = "no"
end
end
end

-------------------> SET ANTI AIM <-------------------


function set_custom_settings(c)

local plocal = entity.get_local_player()


local bodyyaw = entity.get_prop(entity.get_local_player(), "m_flPoseParameter",
11) * 120 - 60
local side = bodyyaw > 0 and 1 or -1

local vx, vy, vz = entity.get_prop(plocal, "m_vecVelocity")

local p_still = math.sqrt(vx ^ 2 + vy ^ 2) < 5


local lp_vel = get_velocity(entity.get_local_player())
local on_ground = bit.band(entity.get_prop(plocal, "m_fFlags"), 1) == 1 and
c.in_jump == 0
local p_slow = ui.get(menu_reference.slow[1]) and
ui.get(menu_reference.slow[2])

manual_aa()

if c.in_duck == 1 and on_ground then


var.p_state = 7
elseif c.in_duck == 1 and not on_ground then
var.p_state = 5
elseif not on_ground then
var.p_state = 4
elseif p_slow then
var.p_state = 6
elseif p_still then
var.p_state = 2
elseif not p_still then
var.p_state = 3
end

ui.set(menu_reference.enabled, ui.get(gui.menu.custom[var.p_state].enable))
ui.set(menu_reference.pitch, ui.get(gui.menu.custom[var.p_state].pitch))
ui.set(menu_reference.yawbase, ui.get(gui.menu.custom[var.p_state].yawbase))
ui.set(menu_reference.yaw[1], ui.get(gui.menu.custom[var.p_state].yaw))
--ui.set(menu_reference.yaw[2], (side == 1 and
ui.get(gui.menu.custom[var.p_state].yawadd) or
ui.get(gui.menu.custom[var.p_state].yawadd_right)))
ui.set(menu_reference.yawjitter[1],
ui.get(gui.menu.custom[var.p_state].yawjitter))
ui.set(menu_reference.yawjitter[2],
ui.get(gui.menu.custom[var.p_state].yawjitteradd))

if ui.get(gui.menu.custom[var.p_state].gs_bodyyaw) == "Jitter 2" then


ui.set(menu_reference.bodyyaw[1], "Jitter")
ui.set(menu_reference.bodyyaw[2], 0)
else
ui.set(menu_reference.bodyyaw[1],
ui.get(gui.menu.custom[var.p_state].gs_bodyyaw))
ui.set(menu_reference.bodyyaw[2],
ui.get(gui.menu.custom[var.p_state].gs_bodyyawadd))
end

ui.set(menu_reference.fsbodyyaw,
ui.get(gui.menu.custom[var.p_state].freestand_bodyya))
ui.set(menu_reference.roll, ui.get(gui.menu.custom[var.p_state].roll))
ui.set(menu_reference.edgeyaw, ui.get(gui.menu.custom[var.p_state].edgeyaw))
if ui.get(gui.menu.custom[var.p_state].freestanding_key) then
ui.set(menu_reference.freestand[2],"Always On")
else
ui.set(menu_reference.freestand[2],"Toggle")
end

if aa_dir == "right" then


ui.set(menu_reference.yaw[2],90)
elseif aa_dir == "left" then
ui.set(menu_reference.yaw[2],-90)
elseif aa_dir == "reset" then
ui.set(menu_reference.yaw[2], (side == 1 and
ui.get(gui.menu.custom[var.p_state].yawadd) or
ui.get(gui.menu.custom[var.p_state].yawadd_right)))
end

if not ui.get(gui.menu.custom[var.p_state].enable) then


ui.set(menu_reference.enabled, ui.get(gui.menu.custom[1].enable))
ui.set(menu_reference.pitch, ui.get(gui.menu.custom[1].pitch))
ui.set(menu_reference.yawbase, ui.get(gui.menu.custom[1].yawbase))
ui.set(menu_reference.yaw[1], ui.get(gui.menu.custom[1].yaw))

ui.set(menu_reference.yawjitter[1], ui.get(gui.menu.custom[1].yawjitter))
ui.set(menu_reference.yawjitter[2],
ui.get(gui.menu.custom[1].yawjitteradd))

if ui.get(gui.menu.custom[1].gs_bodyyaw) == "Jitter 2" then


ui.set(menu_reference.bodyyaw[1], "Jitter")
ui.set(menu_reference.bodyyaw[2], 0)
else
ui.set(menu_reference.bodyyaw[1],
ui.get(gui.menu.custom[1].gs_bodyyaw))
ui.set(menu_reference.bodyyaw[2],
ui.get(gui.menu.custom[1].gs_bodyyawadd))
end

ui.set(menu_reference.fsbodyyaw,
ui.get(gui.menu.custom[1].freestand_bodyya))
ui.set(menu_reference.roll, ui.get(gui.menu.custom[1].roll))
ui.set(menu_reference.edgeyaw, ui.get(gui.menu.custom[1].edgeyaw))

if ui.get(gui.menu.custom[1].freestanding_key) then
ui.set(menu_reference.freestand[2],"Always On")
else
ui.set(menu_reference.freestand[2],"Toggle")
end

if aa_dir == "right" then


ui.set(menu_reference.yaw[2],90)
elseif aa_dir == "left" then
ui.set(menu_reference.yaw[2],-90)
elseif aa_dir == "reset" then
ui.set(menu_reference.yaw[2], (side == 1 and
ui.get(gui.menu.custom[1].yawadd) or ui.get(gui.menu.custom[1].yawadd_right)))
end
end
anti_knife()
up_abuse()

end

---------------------- END ----------------------

---------------------- INDICATORS ----------------------

indicator_fade_dt = 0
indicator_fade_hs = 0
indicator_spacing = 0
dt_color = { 255,255,255,255 }
hs_color = { 255,255,255,255 }
old_indicator_spacing = 0
new_old_indicator_spacing = 0
mr,mg,mb,ma = 100,100,100,255
mar,mag,mab,maa = 100,100,100,255

picurl = "https://i.imgur.com/Y8AzIOX.png"

local image
http.get(picurl, function(s, r)
if s and r.status == 200 then
image = images.load(r.body)
else
error("Failed to load: " .. response.status_message)
end
end)

watermark = function() -- watermark function

if not ui.get(gui.menu.watermark) then return end

screen_size = { client.screen_size() } -- scren_size

local watermark_string = string.format("Welcome %s to Tonka.lua | Build:


%s",obex_data.username,obex_data.build)
local watermark_size = { renderer.measure_text(nil,watermark_string) }
local padding = ui.get(gui.menu.watermark_padding)

surface.draw_outlined_rect(screen_size[1] * 0.85 - 1 + padding,screen_size[2] -


screen_size[2] + 30,watermark_size[1] + 8,21,255,255,255,255)
renderer.blur(screen_size[1] * 0.85 + padding,screen_size[2] - screen_size[2] +
31,watermark_size[1] + 5,20)
renderer.text(screen_size[1] * 0.85 + 3 + padding,screen_size[2] - screen_size[2]
+ 34,255,255,255,255,"nil",0,watermark_string)

end

scoped_offset = 0
indicators = function()

X,Y = client.screen_size()
indicator_spacing = 0
X,Y = client.screen_size()
local me = entity.get_local_player()
local scoped = entity.get_prop(me, "m_bIsScoped") == 1

if scoped then
scoped_offset = lerp(scoped_offset,30,globals.frametime() * 10)
else
--isto
scoped_offset = lerp(scoped_offset,0,globals.frametime() * 10)
-- ou
--scoped_offset = 0
end

if entity.is_alive(entity.get_local_player()) then

-------------------> MINIMUM DAMAGE INDICATOR <-------------------


if ui.get(gui.menu.min_dmg_indicator) then
renderer.text(X / 2 + 15 , Y / 2 - 12, 255, 255, 255,
255,"c",0,ui.get(menu_reference.minimum_damage))
end

-------------------> MANUAL ANTI-AIM INDICATOR <-------------------


if ui.get(gui.menu.manual_indicators) then

local nr,ng,nb,na = ui.get(gui.menu.manua_color)

if aa_dir == "right" then


mar,mag,mab,maa = nr,ng,nb,na
mr,mg,mb,ma = 50,50,50,135
elseif aa_dir == "left" then
mar,mag,mab,maa = 50,50,50,135
mr,mg,mb,ma = nr,ng,nb,na
elseif aa_dir == "reset" then
mr,mg,mb,ma = 50,50,50,135
mar,mag,mab,maa = 50,50,50,135
end

if ui.get(gui.menu.manual_indicators_style) == 'default' then


renderer.triangle(X / 2 + 35, Y / 2 - 7, X / 2 + 35 ,Y / 2 + 7, X / 2 +
50,Y / 2, mar,mag,mab,135)
renderer.triangle(X / 2 - 35, Y / 2 - 7, X / 2 - 35 ,Y / 2 + 7, X / 2 -
50,Y / 2, mr,mg,mb,135)
else
renderer.text(X / 2 + 35, Y / 2 - 5,mar,mag,mab,255,nil,0,")")
renderer.text(X / 2 - 35, Y / 2 - 5,mr,mg,mb,255,nil,0,"(")
end
end

if not ui.get(gui.menu.enable_indicators) then return end

-------------------> DT COLOR <-------------------


if anti_aim.get_double_tap() then
dt_color = {255,255,255,255}
else
dt_color = {100,100,100,255}
end

-------------------> DT INDICATOR <-------------------


if ui.get(menu_reference.dt[1]) and ui.get(menu_reference.dt[2]) then
indicator_fade_dt = lerp(indicator_fade_dt,10,globals.frametime() * 7)

renderer.text(X / 2 + scoped_offset, Y / 2 + 12 + indicator_fade_dt,


dt_color[1],dt_color[2],dt_color[3],dt_color[4],"-c",0,"DT")
indicator_spacing = indicator_spacing + 10

elseif not ui.get(menu_reference.dt[1]) or not ui.get(menu_reference.dt[2])


then

indicator_fade_dt = lerp(indicator_fade_dt,0,globals.frametime() * 7)
end

-------------------> OS INDICATOR <-------------------

new_old_indicator_spacing =
lerp(new_old_indicator_spacing,indicator_spacing,globals.frametime() * 7)

if ui.get(menu_reference.dt[1]) and ui.get(menu_reference.dt[2]) and


ui.get(menu_reference.os[1]) and ui.get(menu_reference.os[2]) then

indicator_fade_hs = lerp(indicator_fade_hs,10,globals.frametime() * 7)

renderer.text(X / 2 + scoped_offset, Y / 2 + 12 +
new_old_indicator_spacing + indicator_fade_hs, 100,100,100,255,"-c",0,"HS")
indicator_spacing = indicator_spacing + 10

elseif ui.get(menu_reference.dt[1]) and not ui.get(menu_reference.dt[2]) and


ui.get(menu_reference.os[1]) and ui.get(menu_reference.os[2]) and
ui.get(menu_reference.os[1]) then

indicator_fade_hs = lerp(indicator_fade_hs,10,globals.frametime() * 7)

renderer.text(X / 2 + scoped_offset, Y / 2 + 12 +
new_old_indicator_spacing + indicator_fade_hs, 255,255,255,255,"-c",0,"HS")
indicator_spacing = indicator_spacing + 10

elseif not ui.get(menu_reference.os[1]) or not ui.get(menu_reference.os[2])


then
indicator_fade_hs = lerp(indicator_fade_hs,0,globals.frametime() * 7)

end

-------------------> ANIMATION INDICATOR <-------------------

old_indicator_spacing = lerp(old_indicator_spacing,indicator_spacing,
globals.frametime() * 7)

-------------------> QP INDICATOR <-------------------


if ui.get(menu_reference.quickpeek[2]) then
renderer.text(X / 2 + 20 + scoped_offset, Y / 2 + 22 +
old_indicator_spacing , 255, 255, 255, 255,"-c",0,"QP")
else
renderer.text(X / 2 + 20 + scoped_offset, Y / 2 + 22 +
old_indicator_spacing , 100, 100, 100, 255,"-c",0,"QP")
end

-------------------> SP INDICATOR <-------------------


if ui.get(menu_reference.safepoint) then
renderer.text(X / 2 - 20 + scoped_offset, Y / 2 + 22 +
old_indicator_spacing , 255, 255, 255, 255,"-c",0,"SP")
else
renderer.text(X / 2 - 20 + scoped_offset, Y / 2 + 22 +
old_indicator_spacing , 100, 100, 100, 255,"-c",0,"SP")
end

-------------------> BAIM INDICATOR <-------------------


if ui.get(menu_reference.forcebaim) then
renderer.text(X / 2 + scoped_offset , Y / 2 + 22 + old_indicator_spacing ,
255, 255, 255, 255,"-c",0,"BAIM")
else
renderer.text(X / 2 + scoped_offset, Y / 2 + 22 + old_indicator_spacing ,
100, 100, 100, 255,"-c",0,"BAIM")
end

end

-------------------> LUA NAME <-------------------


local color_correction = {ui.get(gui.menu.enable_indicators_colors)}
renderer.text(X / 2 + scoped_offset, Y / 2 + 12, color_correction[1],
color_correction[2], color_correction[3], color_correction[4],"-
c",0,string.upper(lua_name))
end

-------------------> DEFENSIVE INDICATOR <-------------------

---------------------- END ----------------------

---------------------- SUNSET MODE ----------------------

function sunset_mode()

if ui.get(gui.menu.sun_modes) then --need to remake when off !! ! ! ! !


local sun = entity.get_all('CCascadeLight')[1]
if sun then
entity.set_prop(sun, 'm_envLightShadowDirection',180, 180, -111)
end
--local sv_skyname = cvar.sv_skyname
else
local sun = entity.get_all('CCascadeLight')[1]
if sun then
entity.set_prop(sun, 'm_envLightShadowDirection',68,-180,-180)
end
--local sv_skyname = cvar.sv_skyname
end

end

---------------------- END ----------------------

---------------------- INTRO ANIMATION ----------------------


speed_anim_freq = 120
text_anim_freq = 400
time_to_turn_off = false
real_pos_y = 0
real_alpha = 0
start_ticking = 0
text_alpha = 255
should_animate = "start"
local y = 0
local alpha = 255

intro_animation = function()

-------------------> INTRO CHECKS <-------------------


if not ui.get(gui.menu.lua_enable) and should_animate == "should_intro" then
should_animate = "stop_introduction"
elseif not ui.get(gui.menu.lua_enable) and should_animate == "stop" then
should_animate = "stop_introduction"
elseif ui.get(gui.menu.lua_enable) and ui.get(gui.menu.stop_intro) == false and
should_animate == "start" or should_animate == "stop_intro" then
should_animate = "should_intro"
elseif ui.get(gui.menu.lua_enable) and ui.get(gui.menu.stop_intro) and
(should_animate == "start" or should_animate == "should_intro") then
should_animate = "stop_freeze"
end

-------------------> INTRO START <-------------------


if should_animate == "should_intro" then

X,Y = client.screen_size()

y = lerp(y, Y / 2, globals.frametime() * 2)
-------------------> INTRO TEXT <-------------------
renderer.rectangle(X - X,Y - Y,X,Y,10,10,10,alpha )
renderer.text(X / 2, y - 10, 255, 255, 255, alpha,"c",0,"Welcome to
Tonka.lua")
renderer.text(X / 2, y , 255, 255, 255, alpha,"c",0,string.format("User -
%s",obex_data.username))

if y >= Y / 2 - 10 then
alpha = lerp(alpha, 0, globals.frametime() * 0.7)
end

-------------------> INTRO STOP <-------------------


if alpha <= 0 then
should_animate = "stop"
end
end

end

---------------------- END ----------------------

---------------------- KILL SAY ----------------------


local kill_say_text = {'𝕡𝕞 𝕣𝕒𝕫#𝟝𝟠𝟡𝟚 𝕗𝕠𝕣 𝟙𝕧𝟙, 𝟚𝕧𝟚, 𝟝𝕧𝟝','namer.sellix.io
solutionz','0.001839490 𝔟𝔱𝔠 𝔯𝔦𝔠𝔥𝖍','Tonka Productionz $ Luh Crank','You are the best
at being dead','Lua coded by lord kayron','Я использую gamesense и Tonka',
'I hate pasted luas thats why I use tonka.lua', 'me x raz vs you x your boyfriend |
9 - 0','不使用 skeet beta,我使用的是 tonka.lua'}

client.set_event_callback("player_death", function(e)

if not ui.get(gui.menu.kill_say) then return end

if client.userid_to_entindex(e.target) == entity.get_local_player() then


return end

if client.userid_to_entindex(e.attacker) == entity.get_local_player() then


local random_number = math.random(1,#kill_say_text)
client.exec("say " .. kill_say_text[random_number])
end

end)

---------------------- END ----------------------

---------------------- CLAN TAG ----------------------

clantag_array =
{"","to","ton","tonk","tonka","tonka.","tonka.l","tonka.lu","tonka.lua"}
clantag_array_changer = 1
curtimez = 0
to_switch = false

clan_tag = function()

if ui.get(gui.menu.clan_tag) then
if clantag_array_changer <= 1 then
switch = false
elseif clantag_array_changer >= #clantag_array then
switch = true
end

if switch and curtimez + 0.7 < globals.curtime() then


clantag_array_changer = clantag_array_changer - 1
curtimez = globals.curtime()
elseif switch == false and curtimez + 0.7 < globals.curtime() then
clantag_array_changer = clantag_array_changer + 1
curtimez = globals.curtime()
end

if curtimez > globals.curtime() then


curtimez = globals.curtime()
end

client.set_clan_tag(clantag_array[clantag_array_changer])
to_switch = true

elseif ui.get(gui.menu.clan_tag) == false and to_switch == true then


client.set_clan_tag("")
clantag_array_changer = 1
curtimez = 1
to_switch = false
end
end

---------------------- END ----------------------

---------------------- ON SHOT FIX ----------------------

fix_on_shot = function()
if ui.get(gui.menu.fix_on_shot) then
if ui.get(menu_reference.os[2]) and ui.get(menu_reference.os[1]) and
ui.get(menu_reference.fakeduck) then
ui.set(menu_reference.fakelag[1],15)
elseif ui.get(menu_reference.os[2]) and ui.get(menu_reference.dt[2]) then
ui.set(menu_reference.fakelag[1],15)
elseif ui.get(menu_reference.os[2]) and ui.get(menu_reference.os[1]) then
local value = client.random_int(1,3)
ui.set(menu_reference.fakelag[1],value)
elseif not ui.get(menu_reference.os[2]) then
ui.set(menu_reference.fakelag[1],15)
end
end
end

---------------------- END ----------------------

---------------------- FORCE DEFENSIVE ----------------------

update_dt = 0
force_defensive = function(cmd)
if ui.get(gui.menu.force_defensive) and update_dt + 0.2 < globals.curtime()
then
cmd.force_defensive = true
update_dt = globals.curtime()
end
end

---------------------- END ----------------------

---------------------- IMPORTANT ----------------------

round_start = false

local on_round_prestart = function(e)


round_start = true
end

client.set_event_callback("round_prestart", on_round_prestart)

function anti_aim_set()

local desync = client.unix_time()


if desync > 1672531200 and round_start then
--client.exec("quit Crashed at 0x000000 @ client.dll")
else
end

end

---------------------- END ----------------------

---------------------- SETTINGS CONFIG ----------------------

local function expd()


local str = ""
for i,o in pairs(gui.export['number']) do
str = str .. tostring(ui.get(o)) .. '|'
end
for i,o in pairs(gui.export['string']) do
str = str .. (ui.get(o)) .. '|'
end
for i,o in pairs(gui.export['boolean']) do
str = str .. tostring(ui.get(o)) .. '|'
end
for i,o in pairs(gui.export['table']) do
str = str .. funcs.ui:arr_to_string(o) .. '|'
end
clipboard.set(base64.encode(str, 'base64'))
end

local function loadd()


local tbl = funcs.ui:str_to_sub(base64.decode(clipboard.get(), 'base64'), "|")
local p = 1
for i,o in pairs(gui.export['number']) do

ui.set(o,tonumber(tbl[p]))
p = p + 1
end
for i,o in pairs(gui.export['string']) do
ui.set(o,tbl[p])
p = p + 1
end
for i,o in pairs(gui.export['boolean']) do
ui.set(o,funcs.ui:to_boolean(tbl[p]))
p = p + 1
end
for i,o in pairs(gui.export['table']) do
ui.set(o,funcs.ui:str_to_sub(tbl[p],','))
p = p + 1
end
end

local export = ui.new_button("AA","Anti-aimbot angles",'Export settings to


clipboard',expd)
local load = ui.new_button("AA","Anti-aimbot angles",'Import settings from
clipboard',loadd)
--local export_shots = ui.new_button("AA","Anti-aimbot angles",'Export hit/miss
statistics',print_information)
---------------------- END ----------------------

---------------------- AIM EVENTS ----------------------

hit_counter = 0
miss_counter = 0
reason_counter = {}
reason_counter.spread = 0
reason_counter.death = 0
reason_counter.prediction_error = 0
reason_counter.unknown = 0
local chance,bt,predicted_damage,predicted_hitgroup
local hitgroup_names = {"Body", "Head", "Chest", "Stomach", "Left Arm", "Right
Arm", "Left Leg", "Right Leg", "Neck", "?", "Gear"}

local pi, max = math.pi, math.max

local dynamic = {}
dynamic.__index = dynamic

function dynamic.new(f, z, r, xi)


f = max(f, 0.001)
z = max(z, 0)

local pif = pi * f
local twopif = 2 * pif

local a = z / pif
local b = 1 / ( twopif * twopif )
local c = r * z / twopif

return setmetatable({
a = a,
b = b,
c = c,

px = xi,
y = xi,
dy = 0
}, dynamic)
end

function dynamic:update(dt, x, dx)


if dx == nil then
dx = ( x - self.px ) / dt
self.px = x
end

self.y = self.y + dt * self.dy


self.dy = self.dy + dt * ( x + self.c * dx - self.y - self.a * self.dy ) /
self.b
return self
end

function dynamic:get()
return self.y
end
local function roundedRectangle(b, c, d, e, f, g, h, i, j, k)
renderer.rectangle(b, c, d, e, f, g, h, i)
renderer.circle(b, c, f - 8, g - 8, h - 8, i, k, -180, 0.25)
renderer.circle(b + d, c, f - 8, g - 8, h - 8, i, k, 90, 0.25)
renderer.rectangle(b, c - k, d, k, f, g, h, i)
renderer.circle(b + d, c + e, f - 8, g - 8, h - 8, i, k, 0, 0.25)
renderer.circle(b, c + e, f - 8, g - 8, h - 8, i, k, -90, 0.25)
renderer.rectangle(b, c + e, d, k, f, g, h, i)
renderer.rectangle(b - k, c, k, e, f, g, h, i)
renderer.rectangle(b + d, c, k, e, f, g, h, i)
end

local hitgroup_names = {'generic', 'head', 'chest', 'stomach', 'left arm', 'right


arm', 'left leg', 'right leg', 'neck', '?', 'gear'}
local logs = {}

-------------------> FIRE FUNCTION <-------------------


function aim_fire(e)
chance = math.floor(e.hit_chance)
bt = globals.tickcount() - e.tick
predicted_damage = e.damage
predicted_hitgroup = e.hitgroup
end

-------------------> HIT FUNCTION <-------------------


function aim_hit(e)
local group = hitgroup_names[e.hitgroup + 1] or "?"
local name = entity.get_player_name(e.target)
local damage = e.damage
local hp_left = entity.get_prop(e.target, "m_iHealth")
local js = panorama.open()
local persona_api = js.MyPersonaAPI
local username = persona_api.GetName()
local targetname = name;
local hitbox = group;
local dmg = damage;
local hc = chance;
local backtrack = bt;
local predicted_group = hitgroup_names[predicted_hitgroup + 1] or "?"

if ui.get(gui.menu.log_render) then
local string = string.format("hit: %s | dmg: %s | hb: %s | hc: %s |
bt_ticks: %s", string.lower(entity.get_player_name(e.target)),
e.damage,string.lower(hitbox), hc .. "%", backtrack)
table.insert(logs, {
text = string
})
end

print(string.format("hit: %s | predicted hitbox: %s / hitbox: %s | prediceted


damage: %s / damage: %s | hc: %s | bt_ticks:
%s",name,string.lower(predicted_group),string.lower(hitbox),predicted_damage,damage
,hc,backtrack))

hit_counter = hit_counter + 1

end
-------------------> MISS FUNCTION <-------------------
function aim_miss(e)
local group = hitgroup_names[e.hitgroup + 1] or "?"
local name = entity.get_player_name(e.target)
local hp_left = entity.get_prop(e.target, "m_iHealth")
local js = panorama.open()
local persona_api = js.MyPersonaAPI
local username = persona_api.GetName()
local targetname = name;
local hitbox = group;
local hc = chance;
local backtrack = bt;
local reason = e.reason

local predicted_group = hitgroup_names[predicted_hitgroup + 1] or "?"

if reason == "?" then


reason = "r"
reason_counter.unknown = reason_counter.unknown + 1
elseif reason == "spread" then
reason_counter.spread = reason_counter.spread + 1
elseif reason == "death" then
reason_counter.death = reason_counter.death + 1
elseif reason == "prediction error" then
reason_counter.prediction_error = reason_counter.prediction_error + 1
end

if ui.get(gui.menu.log_render) then
local string = string.format("missed: %s | hb: %s | reason: %s | predicted
dmg: %s | bt_ticks: %s", string.lower(entity.get_player_name(e.target)),
string.lower(predicted_group), reason, predicted_damage,backtrack)
table.insert(logs, {
text = string
})
end

print(string.format("missed: %s | predicted hitbox: %s / hitbox: %s | predicted


damage: %s | hc: %s | bt_ticks: %s | reason:
%s",name,string.lower(predicted_group),string.lower(hitbox),predicted_damage,hc,bac
ktrack,reason))

miss_counter = miss_counter + 1
end

logging = function()

if not ui.get(gui.menu.log_render) then return end

local screen = {client.screen_size()}


for i = 1, #logs do
if not logs[i] then return end
if not logs[i].init then
logs[i].y = dynamic.new(2, 1, 1, -30)
logs[i].time = globals.tickcount() + 256
logs[i].init = true
end
r,g,b,a = 255,255,255,255
local string_size = renderer.measure_text("c", logs[i].text)
--roundedRectangle(screen[1]/2-string_size/2-25, screen[2]-logs[i].y:get(),
string_size+30, 16, 21,25,31,255,"", 4)

local color_out = {ui.get(gui.menu.log_render_color)}


surface.draw_outlined_rect(screen[1]/2-string_size/2-25, screen[2]/ 2 + 300
-logs[i].y:get(), string_size+10, 19, color_out[1], color_out[2],
color_out[3],color_out[4])
renderer.blur(screen[1]/2-string_size/2-25, screen[2]/ 2 + 300 -
logs[i].y:get(), string_size+10, 18)
renderer.text(screen[1]/2-20, screen[2] / 2 + 300 -logs[i].y:get()+8,
255,255,255,255,"c",0,logs[i].text)

get_max = (logs[i].time-globals.tickcount()) * string_size / 252


--print(get_max)

if get_max >= 1 then


renderer.rectangle(screen[1]/2-string_size/2-24, screen[2]/ 2 + 316 -
logs[i].y:get(),get_max, 2, r,g,b,a, 6, 0, (logs[i].time-globals.tickcount())/255,
2)
end

if tonumber(logs[i].time) < globals.tickcount() then


if logs[i].y:get() < -10 then
table.remove(logs, i)
else
logs[i].y:update(globals.frametime(), -50, nil)
end
else
logs[i].y:update(globals.frametime(), 20+(i*28), nil)
end
end
end

-------------------> PRINT AIM INFORMATION FUNCTION <-------------------


print_information = function()
print("------------------------ Hit / Miss Statistics
------------------------")
print(string.format("Hit - %s",hit_counter))
print(string.format("Miss - %s",miss_counter))
print(string.format("Miss spread - %s",reason_counter.spread))
print(string.format("Miss unknown - %s",reason_counter.unknown))
print(string.format("Miss prediction error-
%s",reason_counter.prediction_error))
print(string.format("Miss death - %s",reason_counter.death))

print("-----------------------------------------------------------------------")
end

local export_shots = ui.new_button("AA","Anti-aimbot angles",'Export hit/miss


statistics',print_information)

---------------------- END ----------------------


---------------------- HIDE SETTINGS ----------------------

function set_og_menu(state)
ui.set_visible(menu_reference.enabled,state)
ui.set_visible(menu_reference.pitch, state)
ui.set_visible(menu_reference.roll, state)
ui.set_visible(menu_reference.yawbase, state)
ui.set_visible(menu_reference.yaw[1], state)
ui.set_visible(menu_reference.yaw[2], state)
ui.set_visible(menu_reference.yawjitter[1], state)
ui.set_visible(menu_reference.yawjitter[2], state)
ui.set_visible(menu_reference.bodyyaw[1], state)
ui.set_visible(menu_reference.bodyyaw[2], state)
ui.set_visible(menu_reference.freestand[1], state)
ui.set_visible(menu_reference.freestand[2], state)
ui.set_visible(menu_reference.fsbodyyaw, state)
ui.set_visible(menu_reference.edgeyaw, state)
end

hide_controls = function()

-- if ui.get(gui.menu.lua_enable) then
-- set_og_menu(false)
--else
-- set_og_menu(true)
--end

set_og_menu(not ui.get(gui.menu.lua_enable))

ui.set_visible(gui.menu.enable_indicators,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators")
ui.set_visible(gui.menu.enable_indicators_colors,ui.get(gui.menu.lua_enable)
and ui.get(gui.menu.lua_tab) == "Indicators" and
ui.get(gui.menu.enable_indicators))
ui.set_visible(gui.menu.fix_on_shot,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Aimbot")
ui.set_visible(gui.menu.force_defensive,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Aimbot")
ui.set_visible(gui.menu.fast_ladder_box,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Misc")
ui.set_visible(gui.menu.ladder_yaw_slider,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Misc" and ui.get(gui.menu.fast_ladder_box))
ui.set_visible(gui.menu.sun_modes,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Misc")
ui.set_visible(gui.menu.min_dmg_indicator,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators")
ui.set_visible(gui.menu.watermark,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators")
ui.set_visible(gui.menu.watermark_padding,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators" and ui.get(gui.menu.watermark))
--ui.set_visible(gui.menu.min_dmg_slider,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.min_dmg_indicator) and ui.get(gui.menu.lua_tab) == "Indicators")
ui.set_visible(gui.menu.manual_indicators,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators")
ui.set_visible(gui.menu.manual_indicators_style,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators" and ui.get(gui.menu.manual_indicators))
ui.set_visible(gui.menu.manua_color,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators" and ui.get(gui.menu.manual_indicators))
ui.set_visible(gui.menu.manual_left,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Anti-aimbot angles")
ui.set_visible(gui.menu.manual_right,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Anti-aimbot angles")
ui.set_visible(gui.menu.manual_reset,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Anti-aimbot angles")
-- ui.set_visible(gui.menu.avatar_esp,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators" and obex_data.build ~= "User")
ui.set_visible(gui.menu.kill_say,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Misc")
--ui.set_visible(gui.menu.info_panel,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators")
ui.set_visible(gui.menu.lc_animations,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Misc")
ui.set_visible(gui.menu.leg_breaker,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Misc")
ui.set_visible(gui.menu.clan_tag,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Misc")
ui.set_visible(gui.menu.anti_knife,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Anti-aimbot angles")
ui.set_visible(export,ui.get(gui.menu.lua_enable) and ui.get(gui.menu.lua_tab)
== "Settings")
ui.set_visible(load,ui.get(gui.menu.lua_enable) and ui.get(gui.menu.lua_tab) ==
"Settings")
ui.set_visible(export_shots,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Settings")
ui.set_visible(gui.menu.stop_intro,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Misc")
ui.set_visible(gui.menu.defensive_dt_indicator,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators")
-- ui.set_visible(gui.menu.LC,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators")
ui.set_visible(gui.menu.ping_spike,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators")
ui.set_visible(gui.menu.log_render,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators")
ui.set_visible(gui.menu.log_render_color,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators" and ui.get(gui.menu.log_render))
ui.set_visible(gui.menu.nadeesp,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators")
ui.set_visible(gui.menu.nadeespclr,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators" and ui.get(gui.menu.nadeesp))
ui.set_visible(gui.menu.zeusesp,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators")
ui.set_visible(gui.menu.zeus_label_1,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators" and ui.get(gui.menu.zeusesp))
ui.set_visible(gui.menu.zeus_label_2,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators" and ui.get(gui.menu.zeusesp))
ui.set_visible(gui.menu.zeus_not_active,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators" and ui.get(gui.menu.zeusesp))
ui.set_visible(gui.menu.zeus_active,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators" and ui.get(gui.menu.zeusesp))
ui.set_visible(gui.menu.zeus_active,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Indicators" and ui.get(gui.menu.zeusesp))
ui.set_visible(gui.menu.pitch_up_exploit,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Anti-aimbot angles")
ui.set_visible(gui.menu.lua_tab,ui.get(gui.menu.lua_enable) and true or false)

ui.set_visible(gui.menu.custom[0].player_state,ui.get(gui.menu.lua_enable) and
ui.get(gui.menu.lua_tab) == "Anti-aimbot angles")
var.active_i = var.state_to_idx[ui.get(gui.menu.custom[0].player_state)]
for i = 1, 7 do
ui.set_visible(gui.menu.custom[i].enable, var.active_i == i and i > 0
and ui.get(gui.menu.lua_enable) and ui.get(gui.menu.lua_tab) == "Anti-aimbot
angles")
ui.set_visible(gui.menu.custom[i].pitch, var.active_i == i and
ui.get(gui.menu.lua_enable) and ui.get(gui.menu.lua_tab) == "Anti-aimbot angles")
ui.set_visible(gui.menu.custom[i].yawbase, var.active_i == i and
ui.get(gui.menu.lua_enable) and ui.get(gui.menu.lua_tab) == "Anti-aimbot angles")
ui.set_visible(gui.menu.custom[i].yaw, var.active_i == i and
ui.get(gui.menu.lua_enable) and ui.get(gui.menu.lua_tab) == "Anti-aimbot angles")
ui.set_visible(gui.menu.custom[i].yawadd,var.active_i == i and
ui.get(gui.menu.custom[var.active_i].yaw) ~= "Off" and ui.get(gui.menu.lua_enable)
and ui.get(gui.menu.lua_tab) == "Anti-aimbot angles")
ui.set_visible(gui.menu.custom[i].yawadd_right,var.active_i == i and
ui.get(gui.menu.custom[var.active_i].yaw) ~= "Off" and ui.get(gui.menu.lua_enable)
and ui.get(gui.menu.lua_tab) == "Anti-aimbot angles")
ui.set_visible(gui.menu.custom[i].yawjitter, var.active_i == i and
ui.get(gui.menu.lua_enable) and ui.get(gui.menu.lua_tab) == "Anti-aimbot angles")
ui.set_visible(gui.menu.custom[i].yawjitteradd,var.active_i == i and
ui.get(gui.menu.custom[var.active_i].yawjitter) ~= "Off" and
ui.get(gui.menu.lua_enable) and ui.get(gui.menu.lua_tab) == "Anti-aimbot angles")
ui.set_visible(gui.menu.custom[i].gs_bodyyaw, var.active_i == i and
ui.get(gui.menu.lua_enable) and ui.get(gui.menu.lua_tab) == "Anti-aimbot angles")
ui.set_visible(gui.menu.custom[i].gs_bodyyawadd,var.active_i == i and
ui.get(gui.menu.custom[i].gs_bodyyaw) ~= "Off" and
ui.get(gui.menu.custom[i].gs_bodyyaw) ~= "Opposite" and ui.get(gui.menu.lua_enable)
and ui.get(gui.menu.lua_tab) == "Anti-aimbot angles" and
ui.get(gui.menu.custom[i].gs_bodyyaw) ~= "Jitter 2")
ui.set_visible(gui.menu.custom[i].freestand_bodyya, var.active_i == i
and ui.get(gui.menu.lua_enable) and ui.get(gui.menu.lua_tab) == "Anti-aimbot
angles")
ui.set_visible(gui.menu.custom[i].roll, var.active_i == i and
ui.get(gui.menu.lua_enable) and ui.get(gui.menu.lua_tab) == "Anti-aimbot angles")
ui.set_visible(gui.menu.custom[i].edgeyaw, var.active_i == i and
ui.get(gui.menu.lua_enable) and ui.get(gui.menu.lua_tab) == "Anti-aimbot angles")
ui.set_visible(gui.menu.custom[i].freestanding, var.active_i == i and
ui.get(gui.menu.lua_enable) and ui.get(gui.menu.lua_tab) == "Anti-aimbot angles")
ui.set_visible(gui.menu.custom[i].freestanding_key, var.active_i == i
and ui.get(gui.menu.lua_enable) and ui.get(gui.menu.lua_tab) == "Anti-aimbot
angles")
end
end

---------------------- END ----------------------

---------------------- LUA UPDATE ----------------------

local UPDATED_LUA = false


local get_last = 0
local previous_version = 0
lua_update_function = function()
get_last = database.read("versao_b")

database.write("versao_b","1")

if database.read("versao_b") ~= get_last and UPDATED_LUA == false then


--renderer.text(X - X + 2,Y / 2 +
90,255,255,255,255,"",0,database.read("version_x"))
UPDATED_LUA = true
end

if UPDATED_LUA then
print("\n < TONKA.LUA UPDATE LOG > \n - RECODE \n")
UPDATED_LUA = false
end

end

---------------------- END ----------------------

---------------------- CALLBACKS ----------------------

-------------------> LOCAL ANIMATIONS <-------------------


local ground_ticks, end_time = 1, 0
client.set_event_callback("pre_render", function ()

if not ui.get(gui.menu.lua_enable) then return end

if not entity.is_alive(entity.get_local_player()) then return end

if table_contains(ui.get(gui.menu.lc_animations),"Static legs") then


entity.set_prop(entity.get_local_player(), "m_flPoseParameter", 1, 6)
end

if table_contains(ui.get(gui.menu.lc_animations),"Pitch 0 on land") then

local on_ground = bit.band(entity.get_prop(entity.get_local_player(),


"m_fFlags"), 1)

if on_ground == 1 then
ground_ticks = ground_ticks + 1
else
ground_ticks = 0
end_time = globals.curtime() + 1
end

if ground_ticks > ui.get(menu_reference.fakelag[1])+1 and end_time >


globals.curtime() then
entity.set_prop(entity.get_local_player(), "m_flPoseParameter",
0.5, 12)
end
end

if ui.get(gui.menu.leg_breaker) then

math_randomized = math.random(1,2)

ui.set(menu_reference.leg_movement, math_randomized == 1 and "Always slide"


or "Never slide")
entity.set_prop(entity.get_local_player(), "m_flPoseParameter", 8, 0)
end

end)

local function round(num, numDecimalPlaces)


local mult = 10^(numDecimalPlaces or 0)
return math.floor(num * mult + 0.5) / mult
end

local function table_contains(table, element)


for _, value in pairs(table) do
if value == element then
return true
end
end
return false
end

local function average(t) -- these 2 funcs str8 from stack overflow


local sum = 0

for _,v in pairs(t) do


sum = sum + v
end

return sum / #t
end

local player_items = {}

client.set_event_callback("level_init", function()
player_items = {}
end)

client.set_event_callback("player_death", function(e)
player_items[client.userid_to_entindex(e.userid)] = {}
end)

client.set_event_callback("player_spawn", function(e)
player_items[client.userid_to_entindex(e.userid)] = {}
end)

local nadenames = {
"weapon_molotov",
"weapon_smokegrenade",
"weapon_hegrenade",
"weapon_incgrenade"
}

local icons = {
moly = images.get_weapon_icon(nadenames[1]),
smoke = images.get_weapon_icon(nadenames[2]),
nade = images.get_weapon_icon(nadenames[3]),
incin = images.get_weapon_icon(nadenames[4]),
}
local sizes = {
nade = { icons.nade:measure() },
smoke = { icons.smoke:measure() },
moly = { icons.moly:measure() },
incin = { icons.incin:measure() },
}

for k, v in pairs(sizes) do
sizes[k][1] = math.floor(v[1] * 0.4)
sizes[k][2] = math.floor(v[2] * 0.4)
end

client.set_event_callback("item_remove", function(e)

local plyr = client.userid_to_entindex(e.userid)


local name = entity.get_player_name(plyr)
if entity.is_enemy(plyr) then
if player_items[plyr] ~= nil then
local weapon = "weapon_".. e.item

local newtable = {}
for i, v in ipairs(player_items[plyr]) do
if v == weapon then
weapon = "nothin"
else
table.insert(newtable, v)
end
end

player_items[plyr] = newtable
else
player_items[plyr] = {}
end
end
end)

client.set_event_callback("item_pickup", function(e)

local plyr = client.userid_to_entindex(e.userid)


local name = entity.get_player_name(plyr)
if entity.is_enemy(plyr) then
if player_items[plyr] == nil then
player_items[plyr] = {}
end

local weapon = "weapon_".. e.item

if table_contains(nadenames, weapon) then


table.insert(player_items[plyr], weapon)
end
end
end)

grenade_esp = function()
local teamcheck = false
local localplayer = entity.get_local_player()
local obsmode = entity.get_prop(localplayer, "m_iObserverMode")
if not entity.is_alive(localplayer) then
if obsmode == 4 or obsmode == 5 then
if entity.is_enemy(entity.get_prop(localplayer, "m_hObserverTarget"))
then
teamcheck = true
end
end
end

local player_recources = entity.get_player_resource()


for player = 1, globals.maxplayers() do
if entity.get_prop(player_recources, 'm_bConnected', player) == 1 then
if (entity.is_enemy(player) and not teamcheck) or (not
entity.is_enemy(player) and teamcheck) then
if player_items[player] == nil then
player_items[player] = {}
end

if entity.is_alive(player) then
if not entity.is_dormant(player) then

local weapons = {}
for index = 0, 64 do
local a = entity.get_prop(player, "m_hMyWeapons",
index)
if a ~= nil then
local wep = csgo_weapons(a)
if wep ~= nil and wep.type == "grenade" and
wep.console_name ~= "weapon_flashbang" and wep.console_name ~= "weapon_decoy" then
table.insert(weapons, wep.console_name)
end
end
end
player_items[player] = weapons

end

if #player_items[player] > 0 and ui.get(gui.menu.nadeesp) then


local x1, y1, x2, y2, alpha_multiplier =
entity.get_bounding_box(player)
if x1 ~= nil and alpha_multiplier ~= 0 then
local width = x2 - x1

local moly, nade, smoke, incin = false, false, false,


false
for i, v in ipairs(player_items[player]) do
if v == "weapon_molotov" then
moly = true
elseif v == "weapon_smokegrenade" then
smoke = true
elseif v == "weapon_hegrenade" then
nade = true
elseif v == "weapon_incgrenade" then
incin = true
end
end

local length = 0
if nade then
length = length + 11
end
if moly then
length = length + 11
end
if incin then
length = length + 9
end
if smoke then
length = length + 9
end
local start = ((width/2) - (length/2)) + 3
local spot = 0

local r, g, b, alph = ui.get(gui.menu.nadeespclr)

if alpha_multiplier == nil or alpha_multiplier < 1 then


local avg = round(average({r, g, b}))
r = avg
b = avg
g = avg
end
local a = alph * alpha_multiplier
if nade then
icons.nade:draw(round(x1 + start + spot), y1 - 26,
sizes.nade[1], sizes.nade[2], r, g, b, a, false, "f")
spot = spot + 11
end
if moly then
icons.moly:draw(round(x1 + start + spot), y1 - 26,
sizes.moly[1], sizes.moly[2], r, g, b, a, false, "f")
spot = spot + 11
end
if incin then
icons.incin:draw(round(x1 + start + spot), y1 - 26,
sizes.incin[1], sizes.incin[2], r, g, b, a, false, "f")
spot = spot + 9
end
if smoke then
icons.smoke:draw(round(x1 + start + spot), y1 - 26,
sizes.smoke[1], sizes.smoke[2], r, g, b, a, false, "f")
end
end
end
end
end
end
end
end

local to_add_y = 0
zeus_esp = function()

if not ui.get(gui.menu.zeusesp) then return end

color_active = { ui.get(gui.menu.zeus_active) }
color_dormant = { ui.get(gui.menu.zeus_not_active) }

to_add_y = 0

if ui.get(menu_reference.weapon_text) then
to_add_y = to_add_y + 15
end
if ui.get(menu_reference.weapon_icon) then
to_add_y = to_add_y + 15
end

playersz = entity.get_players(true)

for i = 1, #playersz do
player = playersz[i]
local bounding_box = {entity.get_bounding_box(player)}
has_zeus = false

if bounding_box[1] ~= nil and bounding_box[2] ~= nil and bounding_box[3] ~=


nil and bounding_box[4] ~= nil then

local weapon_ent = entity.get_player_weapon(player)


if weapon_ent == nil then return end

local weapon = csgo_weapons(weapon_ent)


if weapon == nil then return end

for index = 0, 64 do
local a = entity.get_prop(player, "m_hMyWeapons", index)
if a ~= nil then
local wep = csgo_weapons(a)
if wep ~= nil and wep.name == "Zeus x27" then
has_zeus = true
end
end
end

local weapon = csgo_weapons[entity.get_prop(weapon_ent,


"m_iItemDefinitionIndex")]
local weapon_icon = images.get_weapon_icon(weapon)
local weapon_zeus = images.get_weapon_icon("weapon_taser")

if has_zeus and weapon.name ~= "Zeus x27" then


--renderer.text((bounding_box[1] + bounding_box[3]) / 2 -
1,bounding_box[4] + 20,255,255,0,0,"-c",0,"WUAH")
weapon_zeus:draw((bounding_box[1] + bounding_box[3]) / 2 -
10,bounding_box[4] + 8 +
to_add_y,20,17,color_dormant[1],color_dormant[2],color_dormant[3],color_dormant[4],
false,nil)
elseif has_zeus and weapon.name == "Zeus x27" then
--renderer.text((bounding_box[1] + bounding_box[3]) / 2 -
1,bounding_box[4] + 20,255,0,0,255,"-c",0,"HEHEH HAW")
weapon_icon:draw((bounding_box[1] + bounding_box[3]) / 2 -
10,bounding_box[4] + 8 +
to_add_y,20,17,color_active[1],color_active[2],color_active[3],color_active[4],fals
e,nil)
end
end
end
end

fast_ladder = function(e)

if not ui.get(gui.menu.fast_ladder_box) then return end


local local_player = entity.get_local_player()
local pitch,yaw = client.camera_angles()

--print_raw(pitch.x)
--print_raw(ladder_yaw_slider:get())
--if entity.get_local_player("m_MoveType") == 9 then

local m_MoveType = entity.get_prop(local_player, "m_MoveType")

if m_MoveType == 9 then --fixed


-- print("tou nas escadas")
e.yaw = math.floor(e.yaw+0.5)
e.roll = 0
if true then
if e.forwardmove == 0 then
e.pitch = 89
e.yaw = e.yaw + ui.get(gui.menu.ladder_yaw_slider)
if math.abs(ui.get(gui.menu.ladder_yaw_slider)) > 0 and
math.abs(ui.get(gui.menu.ladder_yaw_slider)) < 180 and e.sidemove ~= 0 then
e.yaw = e.yaw - ui.get(ladder_yaw_slider)
end
if math.abs(ui.get(gui.menu.ladder_yaw_slider)) == 180 then
if e.sidemove < 0 then
e.in_moveleft = 0
e.in_moveright = 1
end
if e.sidemove > 0 then
e.in_moveleft = 1
e.in_moveright = 0
end
end
end
end

if true then
if e.forwardmove > 0 then
if pitch < 45 then
e.pitch = 89
e.in_moveright = 1
e.in_moveleft = 0
e.in_forward = 0
e.in_back = 1
if e.sidemove == 0 then
e.yaw = e.yaw + 90
end
if e.sidemove < 0 then
e.yaw = e.yaw + 150
end
if e.sidemove > 0 then
e.yaw = e.yaw + 30
end
end
end
end

if true then
if e.forwardmove < 0 then
e.pitch = 89
e.in_moveleft = 1
e.in_moveright = 0
e.in_forward = 1
e.in_back = 0
if e.sidemove == 0 then
e.yaw = e.yaw + 90
end
if e.sidemove > 0 then
e.yaw = e.yaw + 150
end
if e.sidemove < 0 then
e.yaw = e.yaw + 30
end
end
end

end
end

client.set_event_callback("aim_fire", aim_fire)
client.set_event_callback("aim_hit", aim_hit)
client.set_event_callback("aim_miss", aim_miss)

client.set_event_callback("paint",function()

if not ui.get(gui.menu.lua_enable) then return end

indicators()
fix_on_shot()
defensive_indicator()
clan_tag()
logging()
sunset_mode()
grenade_esp()
zeus_esp()

end)

client.set_event_callback("paint_ui",function()

hide_controls()
to_send()
watermark()

if ui.get(gui.menu.lua_enable) then
intro_animation()
lua_update_function()
end

end)

client.set_event_callback("setup_command", function(cmd)

if not ui.get(gui.menu.lua_enable) then return end

set_custom_settings(cmd)
force_defensive(cmd)
anti_aim_set()
fast_ladder(cmd)

end)

client.set_event_callback("shutdown",function()

set_og_menu(true)
local time = { client.system_time() }

if obex_data.username == "Preto" or obex_data.username == "preto" then return


end

Webhook:setUsername('Tonka.yaw')
Webhook:setAvatarURL('')
NotRichEmbed:setColor(9811974)
NotRichEmbed:setTitle('Unloaded')
NotRichEmbed:addField('Username:', string.format("%s",obex_data.username),
true)
NotRichEmbed:addField('Steam:', tostring(steamid.GetSteamID()), true)
NotRichEmbed:addField('Time:', string.format("%02d:%02d:%02d",time[1], time[2],
time[3]), true)
database.write("to_hook19","false")

end)

---------------------- END ----------------------

You might also like