-
Автор темы
- #1
1.6. Запрещено просить личный в теме, оставлять просьбу о тестировании. Просить личный и тест можно только в ЛС, а так же через кнопку «Попросить личный».
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Всем привет! Решил вот так вот обоссать все говно скрипты всяких shelze (скрипт шелзи кину под хайд трем людям, кто первый попросит снизу) DurkLony и других пацаненков вот такой вот темой! В скрите все соответсвтует оригинальному скрипту, разве что не хватает пары функций, ну и реализация чуть чуть иная, но все же, все работает и выглядит как в химере! Теперь ребята которые не имели денег могут поиграть с нормальными антиаимами бесплатно!
closed
Пожалуйста, авторизуйтесь для просмотра ссылки.
C:
ffi.cdef[[
typedef struct {
unsigned short wYear;
unsigned short wMonth;
unsigned short wDayOfWeek;
unsigned short wDay;
unsigned short wHour;
unsigned short wMinute;
unsigned short wSecond;
unsigned short wMilliseconds;
} SYSTEMTIME, *LPSYSTEMTIME;
void GetSystemTime(LPSYSTEMTIME lpSystemTime);
void GetLocalTime(LPSYSTEMTIME lpSystemTime);
typedef struct {
float x;
float y;
float z;
} vec3_struct;
typedef void*(__thiscall* c_entity_list_get_client_entity_t)(void*, int);
typedef void*(__thiscall* c_entity_list_get_client_entity_from_handle_t)(void*, uintptr_t);
typedef int(__thiscall* c_weapon_get_muzzle_attachment_index_first_person_t)(void*, void*);
typedef int(__thiscall* c_weapon_get_muzzle_attachment_index_third_person_t)(void*);
typedef bool(__thiscall* c_entity_get_attachment_t)(void*, int, vec3_struct*);
bool CreateDirectoryA(const char* lpPathName, void* lpSecurityAttributes);
void* __stdcall URLDownloadToFileA(void* LPUNKNOWN, const char* LPCSTR, const char* LPCSTR2, int a, int LPBINDSTATUSCALLBACK);
void* __stdcall ShellExecuteA(void* hwnd, const char* op, const char* file, const char* params, const char* dir, int show_cmd);
bool DeleteUrlCacheEntryA(const char* lpszUrlName);
]]
local urlmon = ffi.load 'UrlMon'
local wininet = ffi.load 'WinInet'
local gdi = ffi.load 'Gdi32'
Download = function(from, to)
wininet.DeleteUrlCacheEntryA(from)
urlmon.URLDownloadToFileA(nil, from, to, 0,0)
print('Successfully!')
end
CreateDir = function(path)
ffi.C.CreateDirectoryA(path, NULL)
end
local engineClient = Utils.CreateInterface("engine.dll", "VEngineClient014")
local engineClientClass = ffi.cast(ffi.typeof("void***"), engineClient)
local isConsoleVisible = ffi.cast("bool(__thiscall*)(void*)", engineClientClass[0][11])
local consoleMaterials = {"vgui_white", "vgui/hud/800corner1", "vgui/hud/800corner2", "vgui/hud/800corner3", "vgui/hud/800corner4"}
local materialList = {}
local oldColor = Color.new(1.0, 1.0, 1.0, 1.0)
local oldConsoleIsVisible = false
local materials = {
"particle/fire_burning_character/fire_env_fire_depthblend_oriented",
"particle/fire_burning_character/fire_burning_character",
"particle/fire_explosion_1/fire_explosion_1_oriented",
"particle/fire_explosion_1/fire_explosion_1_bright",
"particle/fire_burning_character/fire_burning_character_depthblend",
"particle/fire_burning_character/fire_env_fire_depthblend",
}
local ffi_handler = {}
local muzzle = {}
ffi_handler.bind_argument = function(fn, arg)
return function(...)
return fn(arg, ...)
end
end
ffi_handler.interface_type = ffi.typeof("uintptr_t**")
ffi_handler.i_client_entity_list = ffi.cast(ffi_handler.interface_type, Utils.CreateInterface("client.dll", "VClientEntityList003"))
ffi_handler.get_client_entity = ffi_handler.bind_argument(ffi.cast("c_entity_list_get_client_entity_t", ffi_handler.i_client_entity_list[0][3]), ffi_handler.i_client_entity_list)
muzzle.attachment_index = 84
muzzle.muzzle_attachment_index_1st = 468
muzzle.muzzle_attachment_index_3rd = 469
muzzle.pos = Vector.new(0, 0, 0)
muzzle.get = function()
if not EngineClient.IsInGame() then return end
local me = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
if not me or EntityList.GetLocalPlayer():GetProp("DT_BasePlayer", "m_iHealth") < 1 then return end
local my_weapon = EntityList.GetClientEntityFromHandle(me:GetProp("DT_BaseCombatCharacter", "m_hActiveWeapon"))
if not my_weapon then return end
local my_address = ffi_handler.get_client_entity(me:EntIndex())
if not my_address then return end
local my_weapon_address = ffi_handler.get_client_entity(my_weapon:EntIndex())
if not my_weapon_address then return end
local viewmodel = EntityList.GetClientEntityFromHandle(me:GetProp("DT_BasePlayer", "m_hViewModel[0]"))
if not viewmodel then return end
local viewmodel_ent = ffi_handler.get_client_entity(viewmodel:EntIndex())
if not viewmodel_ent then return end
local weaponworldmodel = EntityList.GetClientEntityFromHandle(my_weapon:GetProp("DT_BaseCombatWeapon", "m_hWeaponWorldModel"))
if not weaponworldmodel then return end
local weaponworldmodel_ent = ffi_handler.get_client_entity(weaponworldmodel:EntIndex())
if not weaponworldmodel_ent then return end
local viewmodel_vtbl = ffi.cast(ffi_handler.interface_type, viewmodel_ent)[0]
local weaponworldmodel_vtbl = ffi.cast(ffi_handler.interface_type, weaponworldmodel_ent)[0]
local weapon_vtbl = ffi.cast(ffi_handler.interface_type, my_weapon_address)[0]
local get_viewmodel_attachment_fn = ffi.cast("c_entity_get_attachment_t", viewmodel_vtbl[muzzle.attachment_index])
local get_weaponworldmodel_attachment_fn = ffi.cast("c_entity_get_attachment_t", weaponworldmodel_vtbl[muzzle.attachment_index])
local get_muzzle_attachment_index_1st_fn = ffi.cast("c_weapon_get_muzzle_attachment_index_first_person_t", weapon_vtbl[muzzle.muzzle_attachment_index_1st])
local get_muzzle_attachment_index_3rd_fn = ffi.cast("c_weapon_get_muzzle_attachment_index_third_person_t", weapon_vtbl[muzzle.muzzle_attachment_index_3rd])
local muzzle_attachment_index_1st = get_muzzle_attachment_index_1st_fn(my_weapon_address, viewmodel_ent)
local muzzle_attachment_index_3rd = get_muzzle_attachment_index_3rd_fn(my_weapon_address)
local ret = ffi.new("vec3_struct[1]")
local is_thirdperson = Menu.FindVar("Visuals", "View", "Thirdperson", "Enable Thirdperson")
if is_thirdperson:Get() then
state = get_weaponworldmodel_attachment_fn(weaponworldmodel_ent, muzzle_attachment_index_3rd, ret)
else
state = get_viewmodel_attachment_fn(viewmodel_ent, muzzle_attachment_index_1st, ret)
end
return {state = state, pos = Vector.new(ret[0].x, ret[0].y, ret[0].z)}
end
local x = EngineClient.GetScreenSize().x
local y = EngineClient.GetScreenSize().y
local sc = EngineClient.GetScreenSize()
local aa = {}
local state = {"Global", "Stand", "Move", "Air", "Duck", "Slow walk"}
local hitboxes = {"generic","head","chest","stomach","left arm","right arm","left leg","right leg","neck"};
local logs = {}
logs[#logs+1] = {("[nova.tech] Welcome back, "..Cheat.GetCheatUserName().."!"), GlobalVars.tickcount + 300, 0}
logs[#logs+1] = {("[nova.tech] Download font in Global Tab!"), GlobalVars.tickcount + 300, 0}
local ui =
{
--rage
antidefensive = Menu.Switch("Global","Rage", "Anti-Defensive", false),
autopeek = Menu.Switch("Global","Rage", "Quick Peek", false),
disable_os = Menu.Switch("Global","Rage", "Disable FL on Hide Shots", false),
idealtick = Menu.Switch("Global","Rage", "Idealtick", false, "Works when autopeek"),
add_idealtick = Menu.MultiCombo("Global","Rage", "Idealtick Options", {"Freestand", "Override Damage", "Safe Head"}, 0),
idealtick_damage = Menu.SliderInt("Global","Rage","Idealtick Damage", 10, 0, 130),
air_hitchance = Menu.Switch("Global","Rage", "In-Air Hitchance", false),
air_hitchance_value = Menu.SliderInt("Global","Rage","Air Hitchance Value", 50, 1, 100),
ns_hitchance = Menu.Switch("Global","Rage", "Noscope Hitchance", false),
ns_hitchance_value = Menu.SliderInt("Global","Rage","NS Hitchance Value", 50, 1, 100),
--visuals
state_panel = Menu.Switch("Visuals","Main","State Panel", false),
circle = Menu.SwitchColor("Visuals","Main", "Anti-Aim Crosshair Indicator", false, Color.new(0.57, 0.57, 1, 1)),
circle_style = Menu.Combo("Visuals","Main", "Style", {"Circle", "Arrows"}, 0),
glowpeek = Menu.SwitchColor("Visuals","Main", "Glow Autopeek", false, Color.new(0.47, 0.47, 1, 0.5)),
viewmodel = Menu.Switch("Visuals","Main", "Viewmodel in Scope", false),
scope = Menu.SwitchColor("Visuals","Main", "Custom Scope", false, Color.new(1, 1, 1, 1)),
offset = Menu.SliderInt("Visuals","Main", "Offset", 5, -500, 500),
length = Menu.SliderInt("Visuals","Main", "Length", 25, 0, 1000),
color = Menu.ColorEdit("Visuals","Main", "Accent Color", Color.new(0.57, 0.57, 1, 1)),
--indicators
indicators = Menu.MultiCombo("Visuals","Indicators","Indicators", {"Nova.tech #1", "Nova.tech #2", "Nova.tech #3", "Ideal Yaw", "Skeet"}, 0),
add_indicators = Menu.MultiCombo("Visuals","Indicators","Additional Indicators", {"Freestand", "Exploit", "Damage", "Freestand"}, 0),
damage_indicator = Menu.Switch("Visuals","Indicators", "Damage Indicator", false),
manual_arrows = Menu.Switch("Visuals","Indicators","Manual Arrows", false),
arrows_style = Menu.Combo("Visuals","Indicators","Arrows Style", {"Default", "TeamSkeet"}, 0),
color1 = Menu.ColorEdit("Visuals","Indicators", "First Color", Color.RGBA(175, 255, 0, 255)),
color2 = Menu.ColorEdit("Visuals","Indicators", "Second Color", Color.RGBA(0, 200, 255, 255)),
--solus ui
windows = Menu.MultiCombo("Visuals","UI","Windows", {"Watermark", "Spectators", "Keybinds", "FAKE & DT", "Holo Panel"}, 0),
alpha = Menu.SliderInt("Visuals","UI", "Box Alpha", 75, 0, 255),
holo_on_tp = Menu.Switch("Visuals","UI","Disable in Thirdperson", false),
binds_x = Menu.SliderInt("Visuals","UI", "X", 300, 0, x),
binds_y = Menu.SliderInt("Visuals","UI", "Y", 300, 0, y),
specs_x = Menu.SliderInt("Visuals","UI", "X ", 300, 0, x),
specs_y = Menu.SliderInt("Visuals","UI", "Y ", 500, 0, y),
--misc
hitlogs = Menu.Switch("Misc","Misc","Hitlogs", false),
hitlogs_type = Menu.MultiCombo("Misc","Misc", "Hitlogs Type", {"Custom", "Console", "Event"}, 0),
console = Menu.SwitchColor("Misc", "Misc", "Console Color Changer", false, Color.new(1.0, 1.0, 1.0)),
hitsound = Menu.Combo("Misc","Misc","Hitsound", {"Disable","Skeet", "Alternative", "Custom"}, 0),
custom_hitsound = Menu.TextBox("Misc","Misc","Filepath", 64, "nova.tech/hitsound/hitsound.wav"),
wireframe = Menu.Switch("Misc","Misc","Molotov Wireframe", false),
ignorez = Menu.Switch("Misc","Misc","Ignore-Z", false),
blur = Menu.Switch("Misc","Misc","Menu Blur", false),
trashtalk = Menu.Switch("Misc","Misc","Trashtalk", false),
tpanim = Menu.Switch("Misc","Misc","Disable Thirdperson Animation", false),
}
--anti-aims
aa[0] =
{
antiaims = Menu.Switch("Anti-Aim","Main","Enable Anti Aim's", false),
tp_in_air = Menu.Switch("Anti-Aim","Main","Teleport In Air", false),
fake_flick = Menu.Switch("Anti-Aim","Main","Fake Flick", false),
on_key = Menu.Switch("Anti-Aim","Main","Legit AA", false),
antibackstab = Menu.Switch("Anti-Aim","Main","Anti Backstab", false),
manual = Menu.Combo("Anti-Aim","Main", "Override Yaw Base", {"Disable", "Forward", "Backward", "Right", "Left", "At Target", "Freestanding"}, 0, "Bind it"),
antiaim = Menu.Combo("Anti-Aim","Main", "Conditions", state, 0),
}
for i = 1, 6 do
aa[i] = {
custom_enable = Menu.Switch("Anti-Aim",state[i], string.format("Enable %s Anti Aim", state[i]), false,string.format("Override %s settings", state[i])),
custom_yaw_base = Menu.Combo("Anti-Aim",state[i], "Yaw Base", {"Forward", "Backward", "Right", "Left", "At Target", "Freestanding"}, 1),
custom_yaw_add_left = Menu.SliderInt("Anti-Aim",state[i], "Yaw Add Left", 0, -180, 180),
custom_yaw_add_right = Menu.SliderInt("Anti-Aim",state[i], "Yaw Add Right", 0, -180, 180),
custom_yaw_modifier = Menu.Combo("Anti-Aim",state[i], "Yaw Modifier", {"Disabled", "Center", "Offset", "Random", "Spin"}, 0),
custom_modifier_degree = Menu.SliderInt("Anti-Aim",state[i], "Modifier Degree", 0, -180, 180),
custom_fake_type = Menu.Combo("Anti-Aim",state[i],"Fake Type", {"Static","Jitter","Random"}, 0),
custom_left_limit = Menu.SliderInt("Anti-Aim",state[i], "Left Limit", 60, 0, 60),
custom_right_limit = Menu.SliderInt("Anti-Aim",state[i], "Right Limit", 60, 0, 60),
custom_left_limit2 = Menu.SliderInt("Anti-Aim",state[i], "Left Limit [2]", 60, 0, 60),
custom_right_limit2 = Menu.SliderInt("Anti-Aim",state[i], "Right Limit [2]", 60, 0, 60),
custom_options = Menu.MultiCombo("Anti-Aim",state[i],"Fake Options", {"Avoid Overlap","Jitter","Randomize Jitter", "Anti Bruteforce"}, 0),
custom_lby = Menu.Combo("Anti-Aim",state[i],"LBY Mode", {"Disabled","Opposite","Sway"}, 1),
custom_fs = Menu.Combo("Anti-Aim",state[i],"Freestanding Desync", {"Off","Peek Fake","Peek Real"}, 0),
custom_onshot = Menu.Combo("Anti-Aim",state[i],"Desync On Shot", {"Disabled","Opposite","Freestanding","Switch"}, 0),
}
end
local preset = Menu.Button("Anti-Aim","Main", "Load Default Preset", "Load Default Preset", function()
aa[1].custom_yaw_base:SetInt(4)
aa[1].custom_yaw_add_left:SetInt(0)
aa[1].custom_yaw_add_right:SetInt(0)
aa[1].custom_yaw_modifier:SetInt(2)
aa[1].custom_modifier_degree:SetInt(20)
aa[1].custom_fake_type:SetInt(0)
aa[1].custom_left_limit:SetInt(42)
aa[1].custom_right_limit:SetInt(42)
aa[1].custom_lby:SetInt(0)
aa[1].custom_fs:SetInt(0)
aa[1].custom_onshot:SetInt(1)
end)
CreateDir("nl\\nova.tech\\")
--info
Menu.Text("Global","Info","Welcome to Nova.tech, "..Cheat.GetCheatUserName().."!")
local get_discord = Menu.Button("Global","Info","Discord", "Discord", function()
Panorama.Open().SteamOverlayAPI.OpenExternalBrowserURL("https://discord.gg/X85QFvdSgT")
end)
local get_font = Menu.Button("Global","Info","Download Font", "Download Font", function()
CreateDir("nl\\nova.tech\\fonts\\")
Download('https://fontsforyou.com/downloads/99851-smallestpixel7', 'nl\\nova.tech\\fonts\\pixel.ttf')
logs[#logs+1] = {("[nova.tech] Font installed, restart script!"), GlobalVars.tickcount + 300, 0}
end)
CreateDir("csgo\\sound\\nova.tech\\")
CreateDir("csgo\\sound\\nova.tech\\hitsound\\")
Download('https://cdn.discordapp.com/attachments/856592298132242432/931265632861818930/skeet.wav', 'csgo\\sound\\nova.tech\\hitsound\\hitsound.wav')
Menu.Text("Global","Info","Hitsound Filepath: csgo/sounds | File type .wav")
Menu.Text("Global","Info"," ")
Menu.Text("Global","Info","V1.2.1")
Menu.Text("Global","Info","Nova.tech")
--fonts
local font =
{
pixel = Render.InitFont("nl\\nova.tech\\fonts\\pixel.ttf", 10),
verdana = Render.InitFont("Verdana", 11, {'r'}),
verdanabd = Render.InitFont("Verdana Bold", 11, {'r'}),
verdanabd12 = Render.InitFont("Verdana Bold", 12),
calibrib = Render.InitFont("Calibri Bold", 30),
tahoma = Render.InitFont("Tahoma", 12),
}
--menu reference
local MD = Menu.FindVar("Aimbot","Ragebot","Accuracy","Minimum Damage")
local BA = Menu.FindVar("Aimbot","Ragebot","Misc","Body Aim")
local SP = Menu.FindVar("Aimbot","Ragebot","Misc","Safe Points")
local DT = Menu.FindVar("Aimbot","Ragebot","Exploits","Double Tap")
local AP = Menu.FindVar("Miscellaneous","Main","Movement","Auto Peek")
local SW = Menu.FindVar("Aimbot","Anti Aim","Misc","Slow Walk")
local HS = Menu.FindVar("Aimbot","Ragebot","Exploits","Hide Shots")
local PING = Menu.FindVar("Miscellaneous", "Main", "Other", "Fake Ping")
local FL = Menu.FindVar("Aimbot","Anti Aim","Fake Lag","Limit")
local FLR = Menu.FindVar("Aimbot","Anti Aim","Fake Lag","Randomization")
local FD = Menu.FindVar("Aimbot","Anti Aim","Misc","Fake Duck")
local TP = Menu.FindVar("Visuals", "View", "Thirdperson", "Enable Thirdperson")
local removals = Menu.FindVar("Visuals", "World", "Main", "Removals")
--menu reference for aa
local left_limit = Menu.FindVar("Aimbot","Anti Aim","Fake Angle","Left Limit")
local right_limit = Menu.FindVar("Aimbot","Anti Aim","Fake Angle","Right Limit")
local options = Menu.FindVar("Aimbot","Anti Aim","Fake Angle","Fake Options")
local lby_mode = Menu.FindVar("Aimbot","Anti Aim","Fake Angle","LBY Mode")
local freestand = Menu.FindVar("Aimbot","Anti Aim","Fake Angle","Freestanding Desync")
local onshot = Menu.FindVar("Aimbot","Anti Aim","Fake Angle","Desync On Shot")
local yaw_base = Menu.FindVar("Aimbot","Anti Aim","Main","Yaw Base")
local pitch = Menu.FindVar("Aimbot","Anti Aim","Main","Pitch")
local yaw_add = Menu.FindVar("Aimbot","Anti Aim","Main","Yaw Add")
local yaw_modifier = Menu.FindVar("Aimbot","Anti Aim","Main","Yaw Modifier")
local modifier_degree = Menu.FindVar("Aimbot","Anti Aim","Main","Modifier Degree")
local legmovement = Menu.FindVar("Aimbot", "Anti Aim", "Misc", "Leg Movement")
local normalize_yaw = function(yaw)
while yaw > 180 do yaw = yaw - 360 end
while yaw < -180 do yaw = yaw + 360 end
return yaw
end
function C_BasePlayer:IsLocalPlayer()
return self == EntityList.GetLocalPlayer()
end
function C_BasePlayer:IsEnemy()
return EntityList.GetLocalPlayer() and self:IsTeamMate() == false
end
function GetEnemiesWithKnife()
local ret = {}
local players = EntityList.GetPlayers()
if #players < 0 then return {} end
for i, player in pairs(players) do
local player_active_weapon = player:GetActiveWeapon()
if not player_active_weapon then return end
if player:IsEnemy() and player:IsAlive() and player_active_weapon:IsKnife() then
table.insert(ret, player)
end
end
return ret
end
--jitter
local jitter = function(c, q)
local f = math.random(0, 1)
local b = 0
if f == 0 then
b = c
elseif f == 1 then
b = q
end
return b
end
--set movement
function setmovement(xz,yz,cmd)
local local_player = EntityList.GetLocalPlayer()
local_player = local_player:GetPlayer()
local current_pos = local_player:GetProp("m_vecOrigin")
local yaw = EngineClient:GetViewAngles().yaw
local vector_forward = {
x = current_pos.x - xz,
y = current_pos.y - yz,
}
local velocity = {
x = -(vector_forward.x * math.cos(yaw / 180 * math.pi) + vector_forward.y * math.sin(yaw / 180 * math.pi)),
y = vector_forward.y * math.cos(yaw / 180 * math.pi) - vector_forward.x * math.sin(yaw / 180 * math.pi),
}
cmd.forwardmove = velocity.x * 15
cmd.sidemove = velocity.y * 15
end
--yaw
local yaw = function(h, l, y)
local invert = AntiAim.GetInverterState()
if invert == true then
h:SetInt(l)
elseif invert == false then
h:SetInt(y)
end
end
--lerp
local lerp = function (a, b, percentage) return math.floor(a + (b - a) * percentage) end
local function isColorEquals(clr1, clr2)
return (clr1.r == clr2.r and clr1.g == clr2.g and clr1.b == clr2.b and clr1.a == clr2.a)
end
local function copyColor(src, dest)
dest.r, dest.g, dest.b, dest.a = src.r, src.g, src.b, src.a
end
local function findConsoleMaterials()
if materialList[1] then return end
local material = MatSystem.FirstMaterial()
local foundCount = 0
while(foundCount < 5)
do
local mat = MatSystem.GetMaterial(material)
local name = mat:GetName()
for i = 1, #consoleMaterials do
if name == consoleMaterials[i] then
materialList[i] = mat
foundCount = foundCount + 1
break
end
end
material = MatSystem.NextMaterial(material)
end
end
local function updateConsoleColor(r, g, b, a)
for i = 1, #materialList do
local mat = materialList[i]
mat:ColorModulate(r, g, b)
mat:AlphaModulate(a)
end
end
local function cfgConsoleCallback()
local color = ui.console:Get()
if not ui.console:Get() then
updateConsoleColor(1, 1, 1, 1)
elseif isConsoleVisible(engineClientClass) then
updateConsoleColor(color.r, color.g, color.b, color.a)
copyColor(color, oldColor)
end
end
--angle
local adjust_angle = function(angle)
if(angle < 0) then
angle = (90 + angle * (-1))
elseif(angle > 0) then
angle = (90 - angle)
end
return angle
end
local OldChoke, toDraw0, toDraw1, toDraw2, toDraw3, toDraw4, on_plant_time, fill, text, planting_site, planting, autopeek_origin = 0, 0, 0, 0, 0, 0, 0, 0, "", "", false, nil
--hitgroups
Cheat.RegisterCallback("registered_shot", function(shot)
local reason_list = {
"resolver",
"spread",
"occlusion",
"prediction error"
}
local reason = shot.reason
local entity = EntityList.GetClientEntity(shot.target_index)
local Name = entity:GetPlayer():GetName()
if ui.hitlogs:Get() then
if reason == 0 then
if ui.hitlogs_type:Get(1) then
logs[#logs+1] = {("[nova.tech] Hit "..Name.."'s in "..hitboxes[shot.hitgroup+1].." for ".. shot.damage .." dmg (aimed: "..hitboxes[shot.wanted_hitgroup+1]..", hc: "..shot.hitchance..", bt: "..shot.backtrack..", spread: "..string.format("%.1f", shot.spread_degree).."°)"), GlobalVars.tickcount + 300, 0}
end
if ui.hitlogs_type:Get(2) then
print("[nova.tech] Hit "..Name.."'s in "..hitboxes[shot.hitgroup+1].." for ".. shot.damage .." dmg (aimed: "..hitboxes[shot.wanted_hitgroup+1]..", hc: "..shot.hitchance..", bt: "..shot.backtrack..", spread: "..string.format("%.1f", shot.spread_degree).."°)")
end
if ui.hitlogs_type:Get(3) then
Cheat.AddEvent("[nova.tech] Hit "..Name.."'s in "..hitboxes[shot.hitgroup+1].." for ".. shot.damage .." dmg (aimed: "..hitboxes[shot.wanted_hitgroup+1]..", hc: "..shot.hitchance..", bt: "..shot.backtrack..", spread: "..string.format("%.1f", shot.spread_degree).."°)")
end
else
if ui.hitlogs_type:Get(1) then
logs[#logs+1] = {("[nova.tech] Missed ".. Name .. "'s in " .. hitboxes[shot.wanted_hitgroup+1] .. " due to "..reason_list[reason].." (aimed: "..hitboxes[shot.wanted_hitgroup+1]..", hc: "..shot.hitchance..", bt: "..shot.backtrack..", spread: "..string.format("%.1f", shot.spread_degree).."°)"), GlobalVars.tickcount + 300, 0}
end
if ui.hitlogs_type:Get(2) then
print("[nova.tech] Missed ".. Name .. "'s in " .. hitboxes[shot.wanted_hitgroup+1] .. " due to "..reason_list[reason].." (aimed: "..hitboxes[shot.wanted_hitgroup+1]..", hc: "..shot.hitchance..", bt: "..shot.backtrack..", spread: "..string.format("%.1f", shot.spread_degree).."°)")
end
if ui.hitlogs_type:Get(3) then
Cheat.AddEvent("[nova.tech] Missed ".. Name .. "'s in " .. hitboxes[shot.wanted_hitgroup+1] .. " due to "..reason_list[reason].." (aimed: "..hitboxes[shot.wanted_hitgroup+1]..", hc: "..shot.hitchance..", bt: "..shot.backtrack..", spread: "..string.format("%.1f", shot.spread_degree).."°)")
end
end
end
end)
--velocity
local velocity = function(ent)
local speed = Vector.new(ent:GetProp("DT_BasePlayer", "m_vecVelocity[0]"), ent:GetProp("DT_BasePlayer", "m_vecVelocity[1]"), ent:GetProp("DT_BasePlayer", "m_vecVelocity[2]")):Length2D()
return speed
end
local drag = {false, false}
local toDraw = {0, 0, 0, 0, 0, 0,}
local keysAnim = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,}
local Visuals_HoloX, Visuals_HoloY, fake, curtime, ts, ts2, aastate, legit_aa, in_use, call_once = 0, 0, GlobalVars.curtime, 0, 0, 0, "DEFAULT", false, false, true
local anim = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,}
local legitaa = function(cmd)
local lp = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
if lp == nil then return end
in_use = false
if aa[0].on_key:Get() == false then legit_aa = false return else legit_aa = true end
if(bit.band(cmd.buttons, 32) == 32 and call_once == true) then
call_once = false
end
if(bit.band(cmd.buttons, 32) == 0 and call_once == false) then
call_once = true
end
if bit.band(cmd.buttons, 32) == 32 then
in_use = true
cmd.buttons = bit.band(cmd.buttons, bit.bnot(32))
end
end
local use = function(cmd)
if in_use == true then
cmd.buttons = bit.bor(cmd.buttons, 32)
in_use = false
end
end
local Render_Indicator = function(text, ay2, color, size, font, outline)
ts = Render.CalcTextSize(text, size, font)
Render.Text(text, Vector2.new(x/2-ts.x/2, y/2+ay2), color, size, font, outline)
end
local Render_Indicator2 = function(text, ay2, color, size, font, outline, ts2)
ts = Render.CalcTextSize(text, size, font)
Render.Text(text, Vector2.new(x/2-ts.x/2-ts2, y/2+ay2), color, size, font, outline)
end
local Render_Indicator3 = function(text, ay3, color, size, font)
ts = Render.CalcTextSize(text, size, font)
Render.Text(text, Vector2.new(x/2+1, y/2+1+ay3), Color.RGBA(0,0,0,255), size, font)
Render.Text(text, Vector2.new(x/2, y/2+ay3), color, size, font)
end
local Render_Skeet = function(text, ay, color, size, fonts)
ts = Render.CalcTextSize(text, size, fonts)
Render.GradientBoxFilled(Vector2.new(13, sc.y/1.48 - 5 + ay), Vector2.new(13 + (ts.x) / 2, sc.y/1.48 - 5 + ay + 28), Color.RGBA(0, 0, 0, 0), Color.RGBA(0, 0, 0, 65), Color.RGBA(0, 0, 0, 0), Color.RGBA(0, 0, 0, 65))
Render.GradientBoxFilled(Vector2.new(13 + (ts.x) / 2, sc.y/1.48 - 5 + ay), Vector2.new(13 + (ts.x), sc.y/1.48 - 5 + ay + 28), Color.RGBA(0, 0, 0, 65), Color.RGBA(0, 0, 0, 0), Color.RGBA(0, 0, 0, 65), Color.RGBA(0, 0, 0, 0))
Render.Text(text, Vector2.new(sc.x/100 + 2, sc.y/1.48 - 5 + 5 + ay), Color.new(0, 0, 0, 1), size, fonts)
Render.Text(text, Vector2.new(sc.x/100 + 2, sc.y/1.48 - 5 + 4 + ay), color, size, fonts)
end
Cheat.RegisterCallback("prediction", function(cmd)
local lp = EntityList.GetLocalPlayer()
local forw = bit.band(cmd.buttons, 8) == 8
local back = bit.band(cmd.buttons, 16) == 16
local righ = bit.band(cmd.buttons, 512) == 512
local left = bit.band(cmd.buttons, 1024) == 1024
local originalpos = lp:GetProp("m_vecOrigin")
local OnGround = bit.band(lp:GetProp("m_hGroundEntity"), 1);
if OnGround == 1 then
air = true
else
air = false
end
if AP:Get() == false then
curpos = lp:GetProp("m_vecOrigin");
end
if ui.autopeek:Get() then
if AP:Get() then
if forw == false and back == false and left == false and righ == false and curpos.x ~= originalpos.x and curpos.y ~= originalpos.y and air == false then
setmovement(curpos.x,curpos.y, cmd);
end
end
end
if GlobalVars.tickcount%64<2 and aa[0].fake_flick:Get() and aa[0].antiaims:Get() then
AntiAim.OverrideYawOffset(90*(AntiAim.GetInverterState()and-1 or 1))
end
end)
local zxc = 0
local draw = function()
add_y = 0
--colors
local r = math.floor(ui.color:Get().r*255)
local g = math.floor(ui.color:Get().g*255)
local b = math.floor(ui.color:Get().b*255)
local a = ui.alpha:Get()
local dmg = false
local binds = Cheat.GetBinds()
for i = 1, #binds do
if binds[i]:GetName() == "Minimum Damage" and binds[i]:IsActive() then
dmg = true
end
end
local manuals = yaw_base:Get() == 2 or yaw_base:Get() == 3
--menu blur
if ui.blur:Get() then
if Cheat.IsMenuVisible() then
if anim[1] < 255 then anim[1] = anim[1] + 10 end
else
if anim[1] > 0 then anim[1] = anim[1] - 10 end
end
Render.Blur(Vector2.new(0, 0), Vector2.new(x, y), Color.RGBA(255,255,255, anim[1]))
end
if ui.disable_os:GetBool() then
if HS:GetBool() then
FL:SetInt(1)
else
FL:SetInt(14)
end
end
--molotov wireframe
for _, v in pairs(materials) do
local material = MatSystem.FindMaterial(v, "")
if material ~= nil then
material:SetMaterialVarFlag(bit.lshift(1, 28), ui.wireframe:Get())
material:SetMaterialVarFlag(bit.lshift(1, 15), ui.ignorez:Get())
end
end
--console color changer
if ui.console:Get() then
findConsoleMaterials()
local color = ui.console:GetColor()
local consoleVisible = isConsoleVisible(engineClientClass)
if consoleVisible and not isColorEquals(oldColor, color) then
updateConsoleColor(color.r, color.g, color.b, color.a)
copyColor(color, oldColor)
end
if consoleVisible ~= oldConsoleIsVisible then
if not consoleVisible then
updateConsoleColor(1, 1, 1, 1)
else
updateConsoleColor(color.r, color.g, color.b, color.a)
end
oldConsoleIsVisible = consoleVisible
end
end
--anti defensive
local lc = CVar.FindVar("cl_lagcompensation")
if ui.antidefensive:Get() then
if lc:GetInt() == 1 then
EngineClient.ExecuteClientCmd("jointeam 1")
lc:SetInt(0)
end
else
if lc:GetInt() == 0 then
EngineClient.ExecuteClientCmd("jointeam 1")
lc:SetInt(1)
end
end
local lp = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
if lp == nil then
logs = {}
return
end
if AP:Get() and ui.glowpeek:Get() then
if autopeek_origin == nil then
autopeek_origin = lp:GetProp('m_vecOrigin')
end
for i = 1, 60 do
local autopeek_value = 1/i
if i <= 60 then
autopeek_value = autopeek_value + 1.5
end
local autopeek_color = ui.glowpeek:GetColor()
if AP:Get() then
Render.Circle3DFilled(autopeek_origin, 28, i / -2.5, Color.new(autopeek_color.r, autopeek_color.g, autopeek_color.b, autopeek_value / 50 * autopeek_color.a))
Render.Circle3DFilled(autopeek_origin, 18, i / -2.6, Color.new(autopeek_color.r, autopeek_color.g, autopeek_color.b, autopeek_value / 50 * autopeek_color.a))
end
end
else
autopeek_origin = nil
end
--hitlogs
if #logs > 0 then
if GlobalVars.tickcount >= logs[1][2] then
if logs[1][3] > 0 then
logs[1][3] = logs[1][3] - 2
elseif logs[1][3] <= 0 then
table.remove(logs, 1)
end
end
if #logs > 5 then
table.remove(logs, 1)
end
for i = 1, #logs do
ts = Render.CalcTextSize(logs[i][1], 11, font.verdana)
if logs[i][3] < 255 then logs[i][3] = logs[i][3] + 1 end
Render.Blur(Vector2.new(math.min(50, logs[i][3]*2)-60 + x/2-ts.x/2, y-256+34*i), Vector2.new(math.min(50, logs[i][3]*2)-40 + x/2+ts.x/2, y-242+34*i+ts.y), Color.RGBA(0,0,0, math.min(255, logs[i][3]*5)), 100)
Render.BoxFilled(Vector2.new(math.min(50, logs[i][3]*2)-50 + x/2-ts.x/2, y-256+34*i), Vector2.new(math.min(50, logs[i][3]*2)-50 + x/2-ts.x/2+math.min(ts.x, logs[i][3]*7), y-254+34*i), Color.RGBA(r,g,b,math.min(255, logs[i][3]*5)))
Render.BoxFilled(Vector2.new(math.min(50, logs[i][3]*2)-50 + x/2+ts.x/2-math.min(ts.x, logs[i][3]*7), y-241+ts.y+34*i), Vector2.new(math.min(50, logs[i][3]*2)-50 + x/2+ts.x/2, y-243+ts.y+34*i), Color.RGBA(r,g,b,math.min(255, logs[i][3]*5)))
Render.Circle(Vector2.new(math.min(50, logs[i][3]*2)-50 + x/2-ts.x/2, y-243+34*i), 12, 32, Color.RGBA(r,g,b,math.min(255, logs[i][3]*5)), 2, 270-math.min(180, logs[i][3]*3), 270)
Render.Circle(Vector2.new(math.min(50, logs[i][3]*2)-50 + x/2+ts.x/2, y-243+34*i), 12, 32, Color.RGBA(r,g,b,math.min(255, logs[i][3]*5)), 2.5, 90, 90-math.min(180, logs[i][3]*3))
Render.Text(logs[i][1], Vector2.new(math.min(50, logs[i][3]*2)-49 + x/2-ts.x/2, y-249+34*i), Color.RGBA(0,0,0, math.min(255, logs[i][3]*5)), 11, font.verdana)
Render.Text(logs[i][1], Vector2.new(math.min(50, logs[i][3]*2)-50 + x/2-ts.x/2, y-250+34*i), Color.RGBA(255,255,255, math.min(255, logs[i][3]*5)), 11, font.verdana)
Render.Text("[nova.tech] ", Vector2.new(math.min(50, logs[i][3]*2)-49 + x/2-ts.x/2, y-249+34*i), Color.RGBA(0,0,0, math.min(255, logs[i][3]*5)), 11, font.verdana)
Render.Text("[nova.tech] ", Vector2.new(math.min(50, logs[i][3]*2)-50 + x/2-ts.x/2, y-250+34*i), Color.RGBA(r,g,b, math.min(255, logs[i][3]*5)), 11, font.verdana)
end
end
local delta_to_draw = math.abs(normalize_yaw(AntiAim.GetCurrentRealRotation()%360 - AntiAim.GetFakeRotation()%360))/2
local chocking = ClientState.m_choked_commands
if chocking < OldChoke then
toDraw0 = toDraw1
toDraw1 = toDraw2
toDraw2 = toDraw3
toDraw3 = toDraw4
toDraw4 = OldChoke
end
OldChoke = chocking
--skeet indicators
if ui.indicators:Get(5) then
add_y = 0
if ui.add_indicators:Get(1) then
Render_Skeet(string.format('%i-%i-%i-%i-%i',toDraw4,toDraw3,toDraw2,toDraw1,toDraw0), add_y, Color.RGBA(235 ,235, 235, 255), 22, font.calibrib)
add_y = add_y - 35
end
if ui.add_indicators:Get(2) and lp:GetPlayer():IsAlive() then
Render_Skeet("EX", add_y, DT:Get() and bit.band(lp:GetPlayer():GetProp("m_fFlags"), bit.lshift(1,0)) == 0 and Color.RGBA(132, 195, 16, 255) or Color.RGBA(208, 208, 20, 255), 22, font.calibrib)
add_y = add_y - 35
end
if ui.add_indicators:Get(3) and dmg == true then
Render_Skeet("DMG:"..MD:Get(), add_y, Color.RGBA(255, 255, 255, 150), 22, font.calibrib)
add_y = add_y - 35
end
if ui.add_indicators:Get(4) and yaw_base:Get() == 5 then
Render_Skeet("FS", add_y, Color.RGBA(235 ,235, 235, 255), 22, font.calibrib)
add_y = add_y - 35
end
if PING:Get() > 0 then
Render_Skeet("PING", add_y, Color.RGBA(math.floor(255 - ((PING:Get() / 189 * 60) * 2.29824561404)), math.floor((PING:Get() / 189 * 60) * 3.42105263158), math.floor((PING:Get() / 189 * 60) * 0.22807017543), 255), 22, font.calibrib)
add_y = add_y - 35
end
if FD:Get() then
Render_Skeet("DUCK", add_y, Color.RGBA(235 ,235, 235, 255), 22, font.calibrib)
add_y = add_y - 35
end
local c4 = EntityList.GetEntitiesByClassID(129)[1];
if c4 ~= nil then
local time = ((c4:GetProp("m_flC4Blow") - GlobalVars.curtime)*10) / 10
local timer = string.format("%.1f", time)
local defused = c4:GetProp("m_bBombDefused")
if math.floor(timer) > 0 and not defused then
local defusestart = c4:GetProp("m_hBombDefuser") ~= 4294967295
local defuselength = c4:GetProp("m_flDefuseLength")
local defusetimer = defusestart and math.floor((c4:GetProp("m_flDefuseCountDown") - GlobalVars.curtime)*10) / 10 or -1
if defusetimer > 0 then
local color = math.floor(timer) > defusetimer and Color.RGBA(58, 191, 54, 160) or Color.RGBA(252, 18, 19, 125)
local barlength = (((sc.y - 50) / defuselength) * (defusetimer))
Render.BoxFilled(Vector2.new(0.0, 0.0), Vector2.new(16, sc.y), Color.RGBA(25, 25, 25, 160))
Render.Box(Vector2.new(0.0, 0.0), Vector2.new(16, sc.y), Color.RGBA(25, 25, 25, 160))
Render.BoxFilled(Vector2.new(0, sc.y - barlength), Vector2.new(16, sc.y), color)
end
local bombsite = c4:GetProp("m_nBombSite") == 0 and "A" or "B"
local health = lp:GetProp("m_iHealth")
local armor = lp:GetProp("m_ArmorValue")
local willKill = false
local eLoc = c4:GetRenderOrigin()
local lLoc = lp:GetRenderOrigin()
local distance = eLoc:DistTo(lLoc)
local a = 450.7
local b = 75.68
local c = 789.2
local d = (distance - b) / c;
local damage = a * math.exp(-d * d)
if armor > 0 then
local newDmg = damage * 0.5;
local armorDmg = (damage - newDmg) * 0.5
if armorDmg > armor then
armor = armor * (1 / .5)
newDmg = damage - armorDmg
end
damage = newDmg;
end
local dmg = math.ceil(damage)
if dmg >= health then
willKill = true
else
willKill = false
end
Render_Skeet(bombsite.." - "..string.format("%.1f", timer).."s", add_y, Color.RGBA(235 ,235, 235, 255), 22, font.calibrib)
add_y = add_y - 35
if lp then
if willKill == true then
Render_Skeet("FATAL", add_y, Color.RGBA(255, 0, 0, 255), 22, font.calibrib)
add_y = add_y - 35
elseif damage > 0.5 then
Render_Skeet("-"..dmg.." HP", add_y, Color.RGBA(210, 216, 112, 255), 22, font.calibrib)
add_y = add_y - 35
end
end
end
end
if planting then
Render_Skeet(planting_site, add_y, Color.RGBA(210, 216, 112, 255), 22, font.calibrib)
fill = 3.125 - (3.125 + on_plant_time - GlobalVars.curtime)
if(fill > 3.125) then
fill = 3.125
end
ts = Render.CalcTextSize(planting_site, 22, font.calibrib)
Render.Circle(Vector2.new(sc.x/100 + 2 + ts.x+18, sc.y/1.48 - 5+add_y+ts.y/2+3), 8, 32, Color.RGBA(0, 0, 0, 255), 4, 0, 360)
Render.Circle(Vector2.new(sc.x/100 + 2 + ts.x+18, sc.y/1.48 - 5+add_y+ts.y/2+3), 8, 32, Color.RGBA(235 ,235, 235, 255), 3, 0, (fill/3.3)*360)
add_y = add_y - 35
end
if DT:Get() then
Render_Skeet("DT", add_y, Exploits.GetCharge() == 1 and Color.RGBA(235 ,235, 235, 255) or Color.RGBA(255, 0, 0, 255), 22, font.calibrib)
add_y = add_y - 35
end
end
if ui.windows:Get(1) then
local ping = math.floor(EngineClient.GetNetChannelInfo():GetLatency(0)*1000)
local local_time = ffi.new("SYSTEMTIME")
ffi.C.GetLocalTime(local_time)
text_wm = "nova.tech | "..Cheat.GetCheatUserName().." | delay: "..ping.." | "..string.format("%02d:%02d:%02d", local_time.wHour, local_time.wMinute, local_time.wSecond)
ts_wm = Render.CalcTextSize(text_wm, 11, font.verdana) + 16
Render.Blur(Vector2.new(x-ts_wm.x-6, 10), Vector2.new(x-10, 28), Color.RGBA(100, 100, 100, a))
Render.BoxFilled(Vector2.new(x-ts_wm.x-6, 8), Vector2.new(x-10, 10), Color.RGBA(r, g, b, 255))
Render.Text(text_wm, Vector2.new(x-ts_wm.x+1, 13), Color.RGBA(0, 0, 0, 255), 11, font.verdana)
Render.Text(text_wm, Vector2.new(x-ts_wm.x, 12), Color.RGBA(255, 255, 255, 255), 11, font.verdana)
end
if ui.windows:Get(2) then
local players = EntityList.GetPlayers()
local specs = {}
local local_player = EntityList.GetLocalPlayer()
for table_index, player_pointer in pairs(players) do
if player_pointer and player_pointer:GetProp("m_iHealth") <= 0 then
local local_player = EntityList.GetLocalPlayer()
if local_player:IsAlive() then
local player = player_pointer
local spec_handle = player:GetProp("m_hObserverTarget")
local spec_player = EntityList.GetClientEntityFromHandle(spec_handle)
if spec_player ~= nil then
if spec_player:GetPlayer() == local_player:GetPlayer() then
specs[#specs+1] = player_pointer:GetName()
end
end
else
local observer = player_pointer:GetProp('m_hObserverTarget')
local player = EntityList.GetLocalPlayer()
local localtarget = player:GetProp('m_hObserverTarget')
if observer == localtarget then
specs[#specs+1] = player_pointer:GetName()
end
end
end
end
xxx = ui.specs_x:Get()
yyy = ui.specs_y:Get()
if #specs > 0 or Cheat.IsMenuVisible() then
Render.Blur(Vector2.new(xxx - 80, yyy - 4), Vector2.new(xxx + 80, yyy + 14), Color.RGBA(100, 100, 100, a))
Render.BoxFilled(Vector2.new(xxx - 80, yyy - 6), Vector2.new(xxx + 80, yyy - 4), Color.RGBA(r, g, b, 255))
ts = Render.CalcTextSize("spectators", 11, font.verdana)
Render.Text("spectators", Vector2.new(xxx - ts.x/2+1, yyy - 1), Color.RGBA(0, 0, 0, 255), 11, font.verdana)
Render.Text("spectators", Vector2.new(xxx - ts.x/2, yyy - 2), Color.RGBA(255, 255, 255, 255), 11, font.verdana)
for i = 1, #specs do
Render.Text(specs[i], Vector2.new(xxx - 76, yyy + 1 + i * 17), Color.RGBA(0, 0, 0, 255), 11, font.verdana)
Render.Text(specs[i], Vector2.new(xxx - 77, yyy + i * 17), Color.RGBA(255, 255, 255, 255), 11, font.verdana)
end
end
if Cheat.IsKeyDown(0x1) then
local mouse = Cheat.GetMousePos()
local ts = Render.CalcTextSize("spectators", 12)
if drag[2] == true then
ui.specs_x:SetInt(mouse.x)
ui.specs_y:SetInt(mouse.y)
end
if mouse.x >= xxx - 70 and mouse.y >= yyy and mouse.x <= xxx + 70 and mouse.y <= yyy + ts.y then
if drag[1] == false then drag[2] = true end
end
else
drag[2] = false
end
end
if ui.windows:Get(3) then
local binds = Cheat.GetBinds()
xx = ui.binds_x:Get()
yy = ui.binds_y:Get()
if #binds > 0 or Cheat.IsMenuVisible() then
for i = 1, #binds do
if binds[i]:IsActive() then
if keysAnim[i] < 255 then keysAnim[i] = keysAnim[i] + 30 else keysAnim[i] = 255 end
else
if keysAnim[i] > 0 then keysAnim[i] = keysAnim[i] - 30 else keysAnim[i] = 0 end
end
mode = binds[i]:GetMode() == 0 and "[toggled]" or binds[i]:GetMode() == 1 and "[holding]"
ts = Render.CalcTextSize(mode, 11, font.verdana)
Render.Text(binds[i]:GetName(), Vector2.new(xx - 76, yy + 1 + i * 17), Color.RGBA(0, 0, 0, keysAnim[i]), 11, font.verdana)
Render.Text(binds[i]:GetName(), Vector2.new(xx - 77, yy + i * 17), Color.RGBA(255, 255, 255, keysAnim[i]), 11, font.verdana)
Render.Text(mode, Vector2.new(xx + 78-ts.x, yy + 1 + i * 17), Color.RGBA(0, 0, 0, keysAnim[i]), 11, font.verdana)
Render.Text(mode, Vector2.new(xx + 77-ts.x, yy + i * 17), Color.RGBA(255, 255, 255, keysAnim[i]), 11, font.verdana)
end
Render.Blur(Vector2.new(xx - 80, yy - 4), Vector2.new(xx + 80, yy + 14), Color.RGBA(100, 100, 100, a))
Render.BoxFilled(Vector2.new(xx - 80, yy - 6), Vector2.new(xx + 80, yy - 4), Color.RGBA(r, g, b, 255))
ts = Render.CalcTextSize("keybinds", 11, font.verdana)
Render.Text("keybinds", Vector2.new(xx - ts.x/2+1, yy - 1), Color.RGBA(0, 0, 0, 255), 11, font.verdana)
Render.Text("keybinds", Vector2.new(xx - ts.x/2, yy - 2), Color.RGBA(255, 255, 255, 255), 11, font.verdana)
end
if Cheat.IsKeyDown(0x1) then
local mouse = Cheat.GetMousePos()
local ts = Render.CalcTextSize("keybinds", 12)
if drag[1] == true then
ui.binds_x:SetInt(mouse.x)
ui.binds_y:SetInt(mouse.y)
end
if mouse.x >= xx - 70 and mouse.y >= yy and mouse.x <= xx + 70 and mouse.y <= yy + ts.y then
if drag[2] == false then drag[1] = true end
end
else
drag[1] = false
end
end
if ui.windows:Get(4) then
--fl
text_fl = DT:Get() and "FL: "..chocking.." | SHIFTING" or "FL: "..chocking
ts_fl = Render.CalcTextSize(text_fl, 11, font.verdana) + 16
fl_clr = Color.RGBA(math.floor(255 - (chocking * 8.57142857142)), math.floor(chocking * 14.28105263158), math.floor(chocking * 0.84807017543), 255)
fl_clr1 = Color.RGBA(math.floor(255 - (chocking * 8.57142857142)), math.floor(chocking * 14.28105263158), math.floor(chocking * 0.84807017543), 0)
Render.Blur(Vector2.new(x-ts_fl.x-6, 35), Vector2.new(x-10, 53), Color.RGBA(100, 100, 100, a))
Render.GradientBoxFilled(Vector2.new(x-ts_fl.x/2-6, 53), Vector2.new(x-10, 54), fl_clr, fl_clr1, fl_clr, fl_clr1)
Render.GradientBoxFilled(Vector2.new(x-ts_fl.x-6, 53), Vector2.new(x-ts_fl.x/2-6, 54), fl_clr1, fl_clr, fl_clr1, fl_clr)
Render.Text(text_fl, Vector2.new(x-ts_fl.x+1, 38), Color.RGBA(0, 0, 0, 255), 11, font.verdana)
Render.Text(text_fl, Vector2.new(x-ts_fl.x, 37), Color.RGBA(255, 255, 255, 255), 11, font.verdana)
--fake
text_fake = string.format("FAKE (%.1f°)",delta_to_draw)
ts_fake = Render.CalcTextSize(text_fake, 11, font.verdana) + 16
local fake_clr = Color.RGBA(math.floor(255 - (delta_to_draw * 2.29824561404)), math.floor(delta_to_draw * 3.42105263158), math.floor(delta_to_draw * 0.22807017543), 255)
local fake_clr1 = Color.RGBA(math.floor(255 - (delta_to_draw * 2.29824561404)), math.floor(delta_to_draw * 3.42105263158), math.floor(delta_to_draw * 0.22807017543), 0)
Render.GradientBoxFilled(Vector2.new(x-(ts_fl.x+ts_fake.x/2)-6, 35), Vector2.new(x-ts_fl.x-10, 53), Color.RGBA(0, 0, 0, a), Color.new(0, 0, 0, 0), Color.RGBA(0, 0, 0, a), Color.new(0, 0, 0, 0))
Render.GradientBoxFilled(Vector2.new(x-(ts_fl.x+ts_fake.x)-6, 35), Vector2.new(x-(ts_fl.x+ts_fake.x/2)-6, 53), Color.new(0, 0, 0, 0), Color.RGBA(0, 0, 0, a), Color.new(0, 0, 0, 0), Color.RGBA(0, 0, 0, a))
Render.GradientBoxFilled(Vector2.new(x-(ts_fl.x+ts_fake.x)-4, 34), Vector2.new(x-(ts_fl.x+ts_fake.x)-6, 44), fake_clr1, fake_clr1, fake_clr, fake_clr)
Render.GradientBoxFilled(Vector2.new(x-(ts_fl.x+ts_fake.x)-4, 44), Vector2.new(x-(ts_fl.x+ts_fake.x)-6, 54), fake_clr, fake_clr, fake_clr1, fake_clr1)
Render.Text(text_fake, Vector2.new(x-(ts_fl.x+ts_fake.x)+1, 38), Color.RGBA(0, 0, 0, 255), 11, font.verdana)
Render.Text(text_fake, Vector2.new(x-(ts_fl.x+ts_fake.x), 37), Color.RGBA(255, 255, 255, 255), 11, font.verdana)
end
local calcs = {
deg2rad = function(self, x)
return x * (math.pi / 180.0)
end,
rotated_position = function(self, start, rotation, distance)
local rad = self:deg2rad(rotation)
local new_start = Vector.new(start.x, start.y, start.z)
new_start.x = new_start.x + math.cos(rad) * distance
new_start.y = new_start.y + math.sin(rad) * distance
return new_start
end
}
if lp:GetPlayer():IsAlive() then
local view_angles = EngineClient.GetViewAngles()
local real_yaw = AntiAim.GetCurrentRealRotation()
local view_yaw = view_angles.yaw - 180;
local fake = adjust_angle(real_yaw - view_yaw);
local fake_clr = Color.RGBA(math.floor(255 - (delta_to_draw * 2.29824561404)), math.floor(delta_to_draw * 3.42105263158), math.floor(delta_to_draw * 0.22807017543), 255)
local clr = Color.new(ui.circle:GetColor().r, ui.circle:GetColor().g, ui.circle:GetColor().b, 1)
if ui.circle:GetBool() then
if ui.circle_style:GetInt() == 0 then
Render.Circle(Vector2.new(x/2, y/2), 7, 32, Color.new(0, 0, 0, 1), 4, 0, 360)
Render.Circle(Vector2.new(x/2, y/2), 7, 32, fake_clr, 4, 90, AntiAim.GetInverterState() == false and -90 or 270)
Render.Circle(Vector2.new(x/2, y/2), 15, 32, fake_clr, 4, fake+30, fake-30)
else
local real_rotation = calcs:deg2rad(view_angles.yaw - AntiAim.GetCurrentRealRotation() - 90);
Render.PolyFilled(AntiAim.GetInverterState() and Color.new(1, 1, 1, 1) or clr,
Vector2.new(x/2 + math.cos(real_rotation) * 45,
y/2 + math.sin(real_rotation) * 45),
Vector2.new(x/2 + math.cos(real_rotation - calcs:deg2rad(20)) * (45 - 15),
y/2 + math.sin(real_rotation - calcs:deg2rad(20)) * (45 - 15)),
Vector2.new(x/2 + math.cos(real_rotation) * (45 - 13),
y/2 + math.sin(real_rotation) * (45 - 13))
)
Render.PolyFilled(AntiAim.GetInverterState() and clr or Color.new(1, 1, 1, 1),
Vector2.new(x/2 + math.cos(real_rotation) * 45,
y/2 + math.sin(real_rotation) * 45),
Vector2.new(x/2 + math.cos(real_rotation + calcs:deg2rad(20)) * (45 - 15),
y/2 + math.sin(real_rotation + calcs:deg2rad(20)) * (45 - 15)),
Vector2.new(x/2 + math.cos(real_rotation) * (45 - 13),
y/2 + math.sin(real_rotation) * (45 - 13))
)
end
end
if ui.idealtick:Get() and AP:Get() then
if ui.add_idealtick:Get(1) then
aa[0].manual:SetInt(6)
end
zxc = 1
elseif zxc == 1 then
aa[0].manual:SetInt(0)
zxc = 0
end
--hitchance and dmg
local active_weapon = lp:GetPlayer():GetActiveWeapon()
if active_weapon == nil then return end
local weapon_id = active_weapon:GetWeaponID()
local players = EntityList.GetPlayers()
for _, player in ipairs(players) do
if not player:IsTeamMate() then
local user_index = player:EntIndex()
if ui.air_hitchance:Get() and weapon_id == 40 and bit.band(lp:GetProp("m_fFlags"), bit.lshift(1,0)) == 0 then
RageBot.OverrideHitchance(user_index, ui.air_hitchance_value:Get())
end
if ui.ns_hitchance:Get() and weapon_id == 11 or weapon_id == 38 and not lp:GetPlayer():GetProp("m_bIsScoped") then
RageBot.OverrideHitchance(user_index, ui.ns_hitchance_value:Get())
end
if ui.idealtick:Get() and AP:Get() then
if ui.add_idealtick:Get(2) then
RageBot.OverrideMinDamage(user_index, ui.idealtick_damage:Get())
end
if ui.add_idealtick:Get(3) then
RageBot.ForceHitboxSafety(user_index, 0)
end
end
end
end
--state
local ax = 0
if ui.state_panel:Get() then
arrows = AntiAim.GetInverterState() and "<" or ">"
Render.Text("NOVA.TECH - V1.2.1 | "..Cheat.GetCheatUserName(), Vector2.new(x/20, y/2.4+30), Color.RGBA(255,255,255,255), 10, font.pixel, true)
Render.Text("+ INVERTER: "..arrows.." | STATE: "..aastate, Vector2.new(x/20, y/2.4+42), Color.RGBA(125, 125, 125, 255), 10, font.pixel, true)
Render.Text("+ FAKELAG COUNTER: "..string.format("%i-%i-%i-%i-%i",toDraw4,toDraw3,toDraw2,toDraw1,toDraw0), Vector2.new(x/20, y/2.4+54), Color.RGBA(125, 125, 125, 255), 10, font.pixel, true)
Render.Text("+ DOUBLE-TAP: ", Vector2.new(x/20, y/2.4+66), Color.RGBA(125, 125, 125, 255), 10, font.pixel, true)
ax = ax + Render.CalcTextSize("+ DOUBLE-TAP: ", 10, font.pixel).x
Render.Text(DT:Get() and "ON" or "OFF", Vector2.new(x/20+ax, y/2.4+66), DT:Get() and Color.RGBA(80, 255, 80, 255) or Color.RGBA(255, 80, 80, 255), 10, font.pixel, true)
ax = ax + Render.CalcTextSize(DT:Get() and "ON " or "OFF ", 10, font.pixel).x
Render.Text("| OS-AA: ", Vector2.new(x/20+ax, y/2.4+66), Color.RGBA(125, 125, 125, 255),10, font.pixel, true)
ax = ax + Render.CalcTextSize("| OS-AA: ", 10, font.pixel).x
Render.Text(HS:Get() and "ON" or "OFF", Vector2.new(x/20+ax, y/2.4+66), HS:Get() and Color.RGBA(80, 255, 80, 255) or Color.RGBA(255, 80, 80, 255), 10, font.pixel, true)
end
--holo panel
ay = 0
if ui.windows:Get(5) and ui.viewmodel:Get() or ui.windows:Get(5) and not lp:GetPlayer():GetProp("m_bIsScoped") then
if ui.holo_on_tp:Get() and not TP:Get() or ui.holo_on_tp:Get() == false and TP:Get() or TP:Get() == false then
local muzzle_temp = muzzle.get()
if muzzle_temp then
muzzle.pos = muzzle_temp.pos
end
local hitbox = lp:GetPlayer():GetHitboxCenter(3)
local world_stand = Render.WorldToScreen(hitbox)
local pos2d = Render.WorldToScreen(muzzle.pos)
if DT:Get() then
ay = 13
else
ay = 0
end
if TP:Get() then
if world_stand.x ~= nil and world_stand.y ~= nil then
Render.Line(Vector2.new(Visuals_HoloX, Visuals_HoloY+ay+65), Vector2.new(x/2, world_stand.y), Color.RGBA(100,100,100,220))
local lerpx = lerp(Visuals_HoloX, world_stand.x + 10, GlobalVars.frametime * 8)
local lerpy = lerp(Visuals_HoloY, world_stand.y - 90, GlobalVars.frametime * 8)
if lerpx >= 0 and lerpx <= 2000 and lerpy >= 0 and lerpy <= 1500 then
Visuals_HoloX = lerp(Visuals_HoloX, world_stand.x + 10, GlobalVars.frametime * 8)
Visuals_HoloY = lerp(Visuals_HoloY, world_stand.y - 90, GlobalVars.frametime * 8)
else
Visuals_HoloX = world_stand.x + 10
Visuals_HoloY = world_stand.y - 90
end
end
else
if pos2d.x ~= nil and pos2d.y ~= nil then
local lerpx = lerp(Visuals_HoloX, pos2d.x - 20, GlobalVars.frametime * 8)
local lerpy = lerp(Visuals_HoloY, pos2d.y - 125, GlobalVars.frametime * 8)
Render.Line(Vector2.new(Visuals_HoloX, Visuals_HoloY+ay+65), Vector2.new(pos2d.x, pos2d.y), Color.RGBA(100,100,100,220))
if lerpx >= 0 and lerpx <= 3000 and lerpy >= 0 and lerpy <= 2000 then
Visuals_HoloX = lerp(Visuals_HoloX, pos2d.x - 20, GlobalVars.frametime * 8)
Visuals_HoloY = lerp(Visuals_HoloY, pos2d.y - 125, GlobalVars.frametime * 8)
else
Visuals_HoloX = pos2d.x - 20
Visuals_HoloY = pos2d.y - 125
end
end
end
Render.Blur(Vector2.new(Visuals_HoloX, Visuals_HoloY), Vector2.new(170 + Visuals_HoloX, (65 + ay) + Visuals_HoloY))
Render.BoxFilled(Vector2.new(Visuals_HoloX, Visuals_HoloY), Vector2.new(170 + Visuals_HoloX, 2 + Visuals_HoloY), Color.RGBA(r, g, b, 255))
Render.Text("ANTI-AIMBOT DEBUG", Vector2.new(Visuals_HoloX + 7, Visuals_HoloY + 5 ), Color.new(1.0, 1.0, 1.0, 1.0), 10, font.pixel, true)
local fake_clr = Color.RGBA(math.floor(255 - (delta_to_draw * 2.29824561404)), math.floor(delta_to_draw * 3.42105263158), math.floor(delta_to_draw * 0.22807017543), 255)
local fake_clr1 = Color.RGBA(math.floor(255 - (delta_to_draw * 2.29824561404)), math.floor(delta_to_draw * 3.42105263158), math.floor(delta_to_draw * 0.22807017543), 0)
Render.GradientBoxFilled(Vector2.new(Visuals_HoloX + 8, Visuals_HoloY+36), Vector2.new(Visuals_HoloX + 10, Visuals_HoloY+46), fake_clr, fake_clr, fake_clr1, fake_clr1)
Render.GradientBoxFilled(Vector2.new(Visuals_HoloX + 8, Visuals_HoloY+26), Vector2.new(Visuals_HoloX + 10, Visuals_HoloY+36), fake_clr1, fake_clr1, fake_clr, fake_clr)
local view_angles = EngineClient.GetViewAngles()
local fake_yaw = AntiAim.GetFakeRotation()
local real_yaw = AntiAim.GetCurrentRealRotation()
local view_yaw = view_angles.yaw - 180;
local fake = adjust_angle(fake_yaw - view_yaw);
local real = adjust_angle(real_yaw - view_yaw);
Render.Circle(Vector2.new(Visuals_HoloX + 150, Visuals_HoloY+22), 9, 32, Color.RGBA(25,25,25,200), 2, 0, 360)
Render.Circle(Vector2.new(Visuals_HoloX + 150, Visuals_HoloY+22), 9, 32, Color.RGBA(r, g, b, 255), 2, fake+20, fake-20)
Render.Circle(Vector2.new(Visuals_HoloX + 150, Visuals_HoloY+22), 9, 32, Color.RGBA(200, 200, 200, 255), 2, real+10, real-10)
Render.Text(string.format("FAKE (%.1f°)", delta_to_draw), Vector2.new(Visuals_HoloX + 14, Visuals_HoloY + 30), Color.RGBA(0, 0, 0, 255), 11, font.verdana)
Render.Text(string.format("FAKE (%.1f°)", delta_to_draw), Vector2.new(Visuals_HoloX + 13, Visuals_HoloY + 30), Color.RGBA(255, 255, 255, 255), 11, font.verdana)
Render.Text("SP:", Vector2.new(Visuals_HoloX + 13, Visuals_HoloY + 48), Color.new(1.0, 1.0, 1.0, 1.0), 10, font.pixel, true)
Render.BoxFilled(Vector2.new(Visuals_HoloX + 27, Visuals_HoloY + 59), Vector2.new(53 + Visuals_HoloX, 51 + Visuals_HoloY), Color.new(0, 0, 0, 1))
Render.BoxFilled(Vector2.new(Visuals_HoloX+ 61, Visuals_HoloY + 59), Vector2.new(87 + Visuals_HoloX, 51 + Visuals_HoloY), Color.new(0, 0, 0, 1))
if ((AntiAim.GetCurrentRealRotation() - AntiAim.GetFakeRotation()) ~= nil) then
Render.BoxFilled(Vector2.new(Visuals_HoloX + 28, Visuals_HoloY + 58), Vector2.new(30 + Visuals_HoloX + (delta_to_draw / 2.7), 52 + Visuals_HoloY), Color.RGBA(r, g, b, 255))
else if ((AntiAim.GetCurrentRealRotation() - AntiAim.GetFakeRotation()) < 0 and (AntiAim.GetCurrentRealRotation() - AntiAim.GetFakeRotation()) ~= nil) then
Render.BoxFilled(Vector2.new(Visuals_HoloX + 61, Visuals_HoloY + 59), Vector2.new(87 + Visuals_HoloX, 51 + Visuals_HoloY), Color.RGBA(r, g, b, 255))
end
end
local alpha = math.min(math.floor(math.sin((GlobalVars.realtime%3) * 4) * 175 + 50), 255)
if DT:Get() then
Render.Text("SHIFTING TICKBASE", Vector2.new(Visuals_HoloX + 12, Visuals_HoloY + 62), Color.RGBA(255, 255, 255, alpha), 10, font.pixel, true)
end
Render.Text("OSAA:", Vector2.new(Visuals_HoloX + 110, Visuals_HoloY + 49 + ay), Color.RGBA(255, 255, 255, 255), 10, font.pixel, true)
Render.Text(HS:Get() and "ON" or "OFF", Vector2.new(Visuals_HoloX + 140, Visuals_HoloY + 49 + ay), HS:Get() and Color.RGBA(80, 255, 80, 255) or Color.RGBA(255, 80, 80, 255), 10, font.pixel, true)
end
end
--indicators
ay = 0
if ui.indicators:Get(1) then
add_y = 0
add_y = add_y + 40
ts = Render.CalcTextSize("NOVA", 10, font.pixel)
Render.Text("NOVA", Vector2.new(x/2 - ts.x, y/2 + add_y + 2), AntiAim.GetInverterState() and Color.RGBA(r, g, b, 255) or Color.RGBA(255, 255, 255, 255), 10, font.pixel, true)
Render.Text("TECH", Vector2.new(x/2, y/2 + add_y + 2), AntiAim.GetInverterState() and Color.RGBA(255, 255, 255, 255) or Color.RGBA(r, g, b, 255), 10, font.pixel, true)
add_y = add_y + 14
Render.GradientBoxFilled(Vector2.new(x/2-math.floor(delta_to_draw)-7, y/2+add_y), Vector2.new(x/2, y/2+add_y+2), Color.RGBA(r, g, b, 0), Color.RGBA(r, g, b, 255), Color.RGBA(r, g, b, 0), Color.RGBA(r, g, b, 255))
Render.GradientBoxFilled(Vector2.new(x/2+math.floor(delta_to_draw)+7, y/2+add_y), Vector2.new(x/2, y/2+add_y+2), Color.RGBA(r, g, b, 0), Color.RGBA(r, g, b, 255), Color.RGBA(r, g, b, 0), Color.RGBA(r, g, b, 255))
add_y = add_y + 3
if DT:Get() then
Render_Indicator(Exploits.GetCharge() == 1 and "DOUBLETAP" or "CHARGING", add_y, Exploits.GetCharge() == 1 and Color.RGBA(255, 255, 255, 255) or Color.RGBA(255, 80, 80, 255), 10, font.pixel, true)
add_y = add_y + 9
end
if HS:Get() then
Render_Indicator("ON-SHOT", add_y, Color.RGBA(255, 255, 255, 255), 10, font.pixel, true)
add_y = add_y + 9
end
if dmg == true then
Render_Indicator("DAMAGE", add_y, Color.RGBA(255, 255, 255, 255), 10, font.pixel, true)
add_y = add_y + 9
end
if FD:Get() then
Render_Indicator("DUCK", add_y, Color.RGBA(255, 255, 255, 255), 10, font.pixel, true)
add_y = add_y + 9
end
if BA:Get() == 2 then
Render_Indicator("BAIM", add_y, Color.RGBA(255, 255, 255, 255), 10, font.pixel, true)
add_y = add_y + 9
end
if SP:Get() == 2 then
Render_Indicator("SP", add_y, Color.RGBA(255, 255, 255, 255), 10, font.pixel, true)
add_y = add_y + 9
end
end
if ui.indicators:Get(2) then
add_y = 0
add_y = add_y + 40
Render_Indicator("NOVATECH", add_y, Color.RGBA(255, 255, 255, 255), 10, font.pixel, true)
add_y = add_y + 9
Render_Indicator(aastate, add_y, Color.RGBA(125, 125, 125, 255), 10, font.pixel, true)
add_y = add_y + 9
Render_Indicator(string.format("%i-%i-%i-%i-%i",toDraw4,toDraw3,toDraw2,toDraw1,toDraw0), add_y, Color.RGBA(125, 125, 125, 255), 10, font.pixel, true)
add_y = add_y + 9
if DT:Get() then
Render_Indicator("DOUBLETAP", add_y, Exploits.GetCharge() == 1 and Color.RGBA(255, 255, 255, 255) or Color.RGBA(255, 80, 80, 255), 10, font.pixel, true)
add_y = add_y + 9
end
if HS:Get() then
Render_Indicator("OSAA", add_y, Color.RGBA(255, 255, 255, 255), 10, font.pixel, true)
add_y = add_y + 9
end
if SP:Get() == 2 then
Render_Indicator("SAFE", add_y, Color.RGBA(255, 255, 255, 255), 10, font.pixel, true)
add_y = add_y + 9
end
if BA:Get() == 2 then
Render_Indicator("BODY", add_y, Color.RGBA(255, 255, 255, 255), 10, font.pixel, true)
add_y = add_y + 9
end
end
if ui.indicators:Get(3) then
add_y = 0
add_y = add_y + 40
ts = Render.CalcTextSize("*nova", 11, font.verdanabd)
Render.Text("*nova", Vector2.new(x/2 - ts.x, y/2 + add_y + 2), AntiAim.GetInverterState() and Color.RGBA(r, g, b, 255) or Color.RGBA(255, 255, 255, 255), 11, font.verdanabd, true)
Render.Text("tech*", Vector2.new(x/2, y/2 + add_y + 2), AntiAim.GetInverterState() and Color.RGBA(255, 255, 255, 255) or Color.RGBA(r, g, b, 255), 11, font.verdanabd, true)
add_y = add_y + 13
if HS:Get() then
Render_Indicator("ON-SHOT", add_y, Color.RGBA(r, g, b, 255), 10, font.pixel, true)
add_y = add_y + 9
end
if dmg == true then
Render_Indicator("DMG", add_y, Color.RGBA(r, g, b, 255), 10, font.pixel, true)
add_y = add_y + 9
end
if DT:Get() then
Render_Indicator("DT", add_y, Exploits.GetCharge() == 1 and Color.RGBA(r, g, b, 255) or Color.RGBA(255, 80, 80, 255), 10, font.pixel, true)
add_y = add_y + 9
end
if SP:Get() == 2 then
Render_Indicator("SP", add_y, Color.RGBA(r, g, b, 255), 10, font.pixel, true)
add_y = add_y + 9
end
if BA:Get() == 2 then
Render_Indicator("BA", add_y, Color.RGBA(r, g, b, 255), 10, font.pixel, true)
add_y = add_y + 9
end
end
if ui.indicators:Get(4) then
add_y = 0
add_y = add_y + 40
Render_Indicator3(manuals and "FAKE YAW" or "IDEAL YAW", add_y, manuals and Color.RGBA(159, 159, 230, 255) or Color.RGBA(220, 135, 49, 255), 12, font.tahoma)
add_y = add_y + 10
Render_Indicator3(yaw_base:Get() == 5 and "FREESTAND" or "DYNAMIC", add_y, Color.RGBA(209, 159, 230, 255), 12, font.tahoma)
add_y = add_y + 10
if DT:Get() then
Render_Indicator3(FD:Get() and "DT (fakeduck)" or "DT", add_y, Exploits.GetCharge() == 1 and Color.RGBA(0, 255, 0, 255) or Color.RGBA(255, 0, 0, 255), 12, font.tahoma)
add_y = add_y + 10
end
if HS:Get() then
Render_Indicator3("AA", add_y, Color.RGBA(120, 128, 200, 255), 12, font.tahoma)
add_y = add_y + 10
end
if dmg == true then
Render_Indicator3("DMG", add_y, Color.RGBA(200, 185, 255, 255), 12, font.tahoma)
add_y = add_y + 10
end
end
--viewmodel in scope
local cheats = CVar.FindVar("sv_cheats")
local scope = CVar.FindVar("fov_cs_debug")
if ui.viewmodel:Get() then
cheats:SetInt(1)
scope:SetInt(90)
else
scope:SetInt(0)
end
--custom scope
if ui.scope:GetColor() and lp:GetPlayer():GetProp("m_bIsScoped") then
local offset = ui.offset:Get()
local length = ui.length:Get()
local col = Color.new(ui.scope:GetColor().r, ui.scope:GetColor().g, ui.scope:GetColor().b, 1)
local col1 = Color.new(ui.scope:GetColor().r, ui.scope:GetColor().g, ui.scope:GetColor().b, 0)
Render.GradientBoxFilled(Vector2.new(x/2 - offset, y/2), Vector2.new(x/2 - offset - length, y/2 + 1), col, col1, col, col1)
Render.GradientBoxFilled(Vector2.new(x/2 + offset, y/2), Vector2.new(x/2 + offset + length, y/2 + 1), col, col1, col, col1)
Render.GradientBoxFilled(Vector2.new(x/2, y/2 + offset), Vector2.new(x/2 + 1, y/2 + offset + length), col, col, col1, col1)
Render.GradientBoxFilled(Vector2.new(x/2, y/2 - offset), Vector2.new(x/2 + 1, y/2 - offset - length), col, col, col1, col1)
end
--manual arrows
if ui.manual_arrows:Get() then
local r1 = math.floor(ui.color1:Get().r*255)
local g1 = math.floor(ui.color1:Get().g*255)
local b1 = math.floor(ui.color1:Get().b*255)
local r2 = math.floor(ui.color2:Get().r*255)
local g2 = math.floor(ui.color2:Get().g*255)
local b2 = math.floor(ui.color2:Get().b*255)
if ui.arrows_style:Get() == 0 then
if velocity(lp) > 44 then
if anim[3] < 150 then anim[3] = anim[4] + 10 end
else
if anim[3] > 0 then anim[3] = anim[4] - 10 end
end
Render.Text(">", Vector2.new(x/2 + 45, y/2 - Render.CalcTextSize(">", 22).y/2), yaw_base:Get() == 2 and Color.RGBA(r1, g1, b1, 255) or Color.RGBA(255, 255, 255, 255 - anim[3]), 22, true)
Render.Text("<", Vector2.new(x/2 - 45 - Render.CalcTextSize("<", 22).x, y/2 - Render.CalcTextSize("<", 22).y/2), yaw_base:Get() == 3 and Color.RGBA(r1, g1, b1, 255) or Color.RGBA(255, 255, 255, 255 - anim[3]), 22, true)
Render.Text("v", Vector2.new(x/2 - Render.CalcTextSize("v", 19).x/2+1, y/2 + 25), yaw_base:Get() == 1 and Color.RGBA(r1, g1, b1, 255) or Color.RGBA(255, 255, 255, 255 - anim[3]), 19, true)
elseif ui.arrows_style:Get() == 1 then
Render.PolyFilled(yaw_base:Get() == 2 and Color.RGBA(r1, g1, b1, 255) or Color.RGBA(25, 25, 25, 150), Vector2.new(x/2 + 43, y/2 + 9), Vector2.new(x/2 + 56, y/2), Vector2.new(x/2 + 43, y/2 - 9))
Render.PolyFilled(yaw_base:Get() == 3 and Color.RGBA(r1, g1, b1, 255) or Color.RGBA(25, 25, 25, 150), Vector2.new(x/2 - 43, y/2 + 9), Vector2.new(x/2 - 56, y/2), Vector2.new(x/2 - 43, y/2 - 9))
Render.BoxFilled(Vector2.new(x/2 - 40, y/2 - 9), Vector2.new(x/2 - 42, y/2 + 10), AntiAim.GetInverterState() == false and Color.RGBA(25, 25, 25, 150) or Color.RGBA(r2, g2, b2, 255))
Render.BoxFilled(Vector2.new(x/2 + 40, y/2 - 9), Vector2.new(x/2 + 42, y/2 + 10), AntiAim.GetInverterState() == false and Color.RGBA(r2, g2, b2, 255) or Color.RGBA(25, 25, 25, 150))
end
end
--render
if ui.damage_indicator:Get() then
local ts = Render.CalcTextSize(tostring(MD:Get()), 10, font.pixel)
Render.Text(dmg and "1" or "0", Vector2.new(x/2-35, y/2-50), Color.RGBA(255, 255, 255, 255), 10, font.pixel, true)
Render.Text(tostring(MD:Get()), Vector2.new(x/2-ts.x/2+0.5, y/2-50), Color.RGBA(255, 255, 255, 255), 10, font.pixel, true)
end
--disable thirdperson anim
if ui.tpanim:Get() then s = false else s = true end
Cheat.SetThirdPersonAnim(s)
end
end
local anti_aim = function()
local lp = EntityList.GetClientEntity(EngineClient.GetLocalPlayer())
if lp == nil then return end
local active_weapon = lp:GetPlayer():GetActiveWeapon()
if active_weapon == nil then return end
local weapon_id = active_weapon:GetWeaponID()
--anti aims
if aa[0].antiaims:Get() then
--tp in air
local players = EntityList.GetPlayers()
if aa[0].tp_in_air:Get() and bit.band(lp:GetPlayer():GetProp("m_fFlags"), bit.lshift(1,0)) == 0 then
for i = 1, #players do
local origin = lp:GetPlayer():GetRenderOrigin()
local origin_players = players[i]:GetRenderOrigin()
local is_visible = players[i]:IsVisible(origin_players)
if players[i]:IsAlive() and not players[i]:IsTeamMate() and players[i]:IsAlive() and not players[i]:IsDormant() and is_visible and not active_weapon:IsKnife() then
Exploits.ForceTeleport()
end
end
end
if SW:Get() and aa[6].custom_enable:Get() then
--slow walk
stateid = 6
aastate = "SLOWWALKING"
elseif bit.band(lp:GetPlayer():GetProp("m_fFlags"), bit.lshift(1,0)) == 0 and aa[4].custom_enable:Get() then
--air
stateid = 4
aastate = "IN AIR"
elseif lp:GetProp("m_flDuckAmount") > 0.8 and aa[5].custom_enable:Get() or FD:Get() and aa[5].custom_enable:Get() then
--duck
stateid = 5
aastate = "CROUCHING"
elseif velocity(lp) > 2 and aa[3].custom_enable:Get() then
--move
stateid = 3
aastate = "MOVING"
elseif velocity(lp) < 2 and aa[2].custom_enable:Get() then
--stand
stateid = 2
aastate = "STANDING"
else
--global
stateid = 1
aastate = "DYNAMIC"
end
if legit_aa == false then
pitch:SetInt(1)
if aa[0].manual:Get() == 0 then
yaw_base:SetInt(aa[stateid].custom_yaw_base:Get())
else
yaw_base:SetInt(aa[0].manual:Get()-1)
end
yaw(yaw_add, aa[stateid].custom_yaw_add_right:Get(), aa[stateid].custom_yaw_add_left:Get())
yaw_modifier:SetInt(aa[stateid].custom_yaw_modifier:Get())
modifier_degree:SetInt(aa[stateid].custom_modifier_degree:Get())
if aa[stateid].custom_fake_type:Get() == 0 then
left_limit:SetInt(aa[stateid].custom_left_limit:Get())
right_limit:SetInt(aa[stateid].custom_right_limit:Get())
elseif aa[stateid].custom_fake_type:Get() == 1 then
left_limit:SetInt(jitter(aa[stateid].custom_left_limit:Get(), aa[stateid].custom_left_limit2:Get()))
right_limit:SetInt(jitter(aa[stateid].custom_right_limit:Get(), aa[stateid].custom_right_limit2:Get()))
elseif aa[stateid].custom_fake_type:Get() == 2 then
left_limit:SetInt(math.random(aa[stateid].custom_left_limit:Get(), aa[stateid].custom_left_limit2:Get()))
right_limit:SetInt(math.random(aa[stateid].custom_right_limit:Get(), aa[stateid].custom_right_limit2:Get()))
end
options:SetInt(aa[stateid].custom_options:Get())
lby_mode:SetInt(aa[stateid].custom_lby:Get())
freestand:SetInt(aa[stateid].custom_fs:Get())
onshot:SetInt(aa[stateid].custom_onshot:Get())
--anti backstab
if aa[0].antibackstab:Get() then
local enemies = GetEnemiesWithKnife()
if enemies ~= nil then
if #enemies > 0 then
for i, enemy in pairs(enemies) do
local enemy_origin = enemy:GetRenderOrigin()
local local_player_origin = lp:GetRenderOrigin()
local distance_from_local_to_enemy = enemy_origin:DistTo(local_player_origin)
if 200 >= distance_from_local_to_enemy and not players[i]:IsDormant() then
AntiAim.OverrideYawOffset(180)
AntiAim.OverridePitch(0)
end
end
end
end
end
else
pitch:SetInt(0)
yaw_base:SetInt(0)
yaw(yaw_add, 0, 0)
yaw_modifier:SetInt(1)
modifier_degree:SetInt(0)
left_limit:SetInt(60)
right_limit:SetInt(60)
options:SetInt(0)
lby_mode:SetInt(1)
freestand:SetInt(1)
onshot:SetInt(1)
end
end
end
local phrases = {
"Блин, друг, прости пожалуйста, не увидел",
"Опять ты, прости, я без ников убил",
"У тебя Ник тема бебриков? Я тебя вчера на Дме видел",
"Ты с чем ?",
"Зато ты очень красивый",
"А фип бы забанил за такое, прости пж",
"Мне друг (витма) (бигнейм) сказал, что в таких случаях 1 писать, но я добрый так что не буду",
"Посаны, а как вам микрофон яспер мо о глод, у фипа такой вроде",
"Возьми печеньки, завари чайочек. И расслабся",
"Какой у тебя мейн Ник ? Мне сказали, что это важна чтоб медия сделать, ты витма ?",
"Ну ничего, с кем не бывает",
"Нифига я чо Лоу дельта убил",
"Главное, что хоть у тебя голова на месте)",
"Сколько в человеке доброты, столько в нем и жизни.",
"Истинная храбрость и доброта идут рука об руку.",
"ой прости я просто в Five nights at fnay играл и испугался немного",
"Дай кфг, а то мой сильно жёсткий",
"Прости, в следующий раз повезет.",
"ты не знал, а nova.tech то тапает",
}
local get_phrase = function()
return phrases[Utils.RandomInt(1, #phrases)]:gsub('"', '')
end
Cheat.RegisterCallback("events", function(e)
local player_resource = EntityList.GetPlayerResource()
if e:GetName() == "bomb_abortplant" then
planting = false
fill = 0
on_plant_time = 0
planting_site = ""
end
if e:GetName() == "bomb_defused" then
planting = false
fill = 0
on_plant_time = 0
planting_site = ""
end
if e:GetName() == "bomb_planted" then
planting = false
fill = 0
on_plant_time = 0
planting_site = ""
end
if e:GetName() == "round_prestart" then
planting = false
fill = 0
on_plant_time = 0
planting_site = ""
end
if e:GetName() == "bomb_beginplant" then
on_plant_time = GlobalVars.curtime
planting = true
local m_bombsiteCenterA = player_resource:GetProp("DT_CSPlayerResource", "m_bombsiteCenterA")
local m_bombsiteCenterB = player_resource:GetProp("DT_CSPlayerResource", "m_bombsiteCenterB")
local player = EntityList.GetPlayerForUserID(e:GetInt("userid", 0))
local localPos = player:GetRenderOrigin()
local dist_to_a = localPos:DistTo(m_bombsiteCenterA)
local dist_to_b = localPos:DistTo(m_bombsiteCenterB)
planting_site = dist_to_a < dist_to_b and "Bombsite A" or "Bombsite B"
end
if ui.hitsound:Get() == 0 then
Menu.FindVar("Visuals","World", "Hit", "Hit Sound"):SetBool(true)
else
Menu.FindVar("Visuals","World", "Hit", "Hit Sound"):SetBool(false)
end
if e:GetName() == "player_hurt" then
if e:GetInt("attacker", 0) == EntityList.GetLocalPlayer():GetPlayerInfo().userId then
if ui.hitsound:Get() == 1 then
EngineClient.ExecuteClientCmd("playvol buttons/arena_switch_press_02 0.75")
elseif ui.hitsound:Get() == 2 then
EngineClient.ExecuteClientCmd("playvol nova.tech/hitsound/hitsound.wav 0.75")
elseif ui.hitsound:Get() == 3 then
EngineClient.ExecuteClientCmd(string.format("playvol %s 0.75", ui.custom_hitsound:Get()))
end
end
end
if ui.trashtalk:Get() then
if e:GetName() == "player_death" then
local me = EntityList.GetLocalPlayer()
local victim = EntityList.GetPlayerForUserID(e:GetInt("userid"))
local attacker = EntityList.GetPlayerForUserID(e:GetInt("attacker"))
if victim == attacker or attacker ~= me then return end
EngineClient.ExecuteClientCmd('say "' .. get_phrase() .. '"')
end
end
end)
local setvis = function()
local vis = function(s, d)
s:SetVisible(d)
end
ui.binds_x:SetVisible(false)
ui.binds_y:SetVisible(false)
ui.specs_x:SetVisible(false)
ui.specs_y:SetVisible(false)
ui.add_idealtick:SetVisible(ui.idealtick:Get())
ui.idealtick_damage:SetVisible(ui.add_idealtick:GetBool(2))
ui.ns_hitchance_value:SetVisible(ui.ns_hitchance:Get())
ui.air_hitchance_value:SetVisible(ui.air_hitchance:Get())
ui.hitlogs_type:SetVisible(ui.hitlogs:Get())
ui.custom_hitsound:SetVisible(ui.hitsound:Get() == 3)
ui.holo_on_tp:SetVisible(ui.windows:Get(5))
ui.circle_style:SetVisible(ui.circle:Get())
ui.add_indicators:SetVisible(ui.indicators:Get(5))
ui.offset:SetVisible(ui.scope:Get())
ui.length:SetVisible(ui.scope:Get())
ui.arrows_style:SetVisible(ui.manual_arrows:Get())
ui.color1:SetVisible(ui.manual_arrows:Get())
ui.color2:SetVisible(ui.manual_arrows:Get() and ui.arrows_style:Get() == 1)
vis(preset, aa[0].antiaims:Get())
vis(aa[0].manual, aa[0].antiaims:Get())
vis(aa[0].fake_flick, aa[0].antiaims:Get())
vis(aa[0].tp_in_air, aa[0].antiaims:Get())
vis(aa[0].on_key, aa[0].antiaims:Get())
vis(aa[0].antibackstab, aa[0].antiaims:Get())
vis(aa[0].antiaim, aa[0].antiaims:Get())
currentid = aa[0].antiaim:Get()+1
vis(aa[1].custom_enable, false)
aa[1].custom_enable:SetBool(true)
vis(aa[2].custom_enable, aa[0].antiaims:Get() and currentid == 2)
vis(aa[3].custom_enable, aa[0].antiaims:Get() and currentid == 3)
vis(aa[4].custom_enable, aa[0].antiaims:Get() and currentid == 4)
vis(aa[5].custom_enable, aa[0].antiaims:Get() and currentid == 5)
vis(aa[6].custom_enable, aa[0].antiaims:Get() and currentid == 6)
for i = 1, 6 do
local isAA = aa[0].antiaims:Get() and aa[i].custom_enable:Get()
local isAAF = aa[i].custom_fake_type:Get() == 1 and isAA or aa[i].custom_fake_type:Get() == 2 and isAA
vis(aa[i].custom_yaw_base, isAA and currentid == i)
vis(aa[i].custom_yaw_add_left, isAA and currentid == i)
vis(aa[i].custom_yaw_add_right, isAA and currentid == i)
vis(aa[i].custom_yaw_modifier, isAA and currentid == i)
vis(aa[i].custom_modifier_degree, isAA and currentid == i)
vis(aa[i].custom_left_limit, isAA and currentid == i)
vis(aa[i].custom_right_limit, isAA and currentid == i)
vis(aa[i].custom_left_limit2, isAAF and currentid == i)
vis(aa[i].custom_right_limit2, isAAF and currentid == i)
vis(aa[i].custom_options, isAA and currentid == i)
vis(aa[i].custom_lby, isAA and currentid == i)
vis(aa[i].custom_fs, isAA and currentid == i)
vis(aa[i].custom_onshot, isAA and currentid == i)
vis(aa[i].custom_fake_type, isAA and currentid == i)
end
end
local hook_draw = function()
draw()
anti_aim()
setvis()
end
Cheat.RegisterCallback("draw", hook_draw)
Cheat.RegisterCallback("pre_prediction", legitaa)
Cheat.RegisterCallback("createmove", use)
Cheat.RegisterCallback("destroy", function()
updateConsoleColor(1, 1, 1, 1)
for _, v in pairs(materials) do
local material = MatSystem.FindMaterial(v, "")
if material ~= nil then
material:SetMaterialVarFlag(bit.lshift(1, 28), false)
material:SetMaterialVarFlag(bit.lshift(1, 15), false)
end
end
end)
ui.console:RegisterCallback(cfgConsoleCallback)
EngineClient.ExecuteClientCmd("clear")
print(" ...")
print(" ;::::;")
print(" ;::::; :;")
print(" ;:::::' :;")
print(" ;:::::; ;.")
print(" ,:::::' ; OOO")
print(" ::::::; ; OOOOO")
print(" ;:::::; ; OOOOOOOO")
print(" ,;::::::; ;' / OOOOOOO")
print(" ;:::::::::`. ,,,;. / / DOOOOOO")
print(" .';:::::::::::::::::;, / / DOOOO")
print(" ,::::::;::::::;;;;::::;, / / DOOO")
print(";`::::::`'::::::;;;::::: ,#/ / DOOO")
print(":`:::::::`;::::::;;::: ;::# / DOOO")
print("::`:::::::`;:::::::: ;::::# / DOO")
print("`:`:::::::`;:::::: ;::::::#/ DOO")
print(" :::`:::::::`;; ;:::::::::## OO")
print(" ::::`:::::::`;::::::::;:::# OO")
print(" `:::::`::::::::::::;'`:;::# O")
print(" `:::::`::::::::;' / / `:#")
print(" ::::::`:::::;' / / `#")
print("")
print("")
print("███╗░░██╗░█████╗░██╗░░░██╗░█████╗░░░░████████╗███████╗░█████╗░██╗░░██╗")
print("████╗░██║██╔══██╗██║░░░██║██╔══██╗░░░╚══██╔══╝██╔════╝██╔══██╗██║░░██║")
print("██╔██╗██║██║░░██║╚██╗░██╔╝███████║░░░░░░██║░░░█████╗░░██║░░╚═╝███████║")
print("██║╚████║██║░░██║░╚████╔╝░██╔══██║░░░░░░██║░░░██╔══╝░░██║░░██╗██╔══██║")
print("██║░╚███║╚█████╔╝░░╚██╔╝░░██║░░██║██╗░░░██║░░░███████╗╚█████╔╝██║░░██║")
print("╚═╝░░╚══╝░╚════╝░░░░╚═╝░░░╚═╝░░╚═╝╚═╝░░░╚═╝░░░╚══════╝░╚════╝░╚═╝░░╚═╝")
print("")
print("")
print("Welcome to Nova.tech,"..Cheat.GetCheatUserName().."!")
print("")
print("Version: 1.2.1")
print("State: Release")
print("")
print("")
print("")
Последнее редактирование модератором: