Keroset Lua
Keroset Lua
do
local script_path = debug.getinfo(1, "S").source:sub(2)
local script_dir = script_path:match("(.*/)")
package.path = package.path .. ";" .. script_dir .. "?.lua"
end
local Font = {
TahomaBold = render.setup_font("C:/windows/fonts/tahomabd.ttf", 14, 0),
Calibri = render.setup_font("C:/windows/fonts/calibri.ttf", 14, 0),
Verdana = render.setup_font("C:/windows/fonts/verdana.ttf", 14, 0)
}
local Parameters = {
Pos = vec2_t(700, 100),
LineHeight = 20.5,
LuaName = "KEROSET",
Base = {
Indent = 10,
Tabs = {
Width = 120,
Height = 40,
Names = {
"Visual",
"Misc",
"Antiaim",
"Kill Feed",
"Buy Bot",
}
},
Color = {
Accent = color_t(0.6588235294117647, 0.6666666666666666, 1, 1),
Main = color_t(25 / 255, 25 / 255, 25 / 255, 1),
Stroke = color_t(140 / 255, 142 / 255, 255 / 255, 1),
Name = color_t(1, 1, 1, 1),
Text = color_t(140 / 255, 142 / 255, 255 / 255, 1),
SubText = color_t(1, 1, 1, 150 / 255),
Active = color_t(100 / 255, 100 / 255, 100 / 255, 1),
InActive = color_t(60 / 255, 60 / 255, 60 / 255, 1),
Prompt = color_t(140 / 255, 142 / 255, 255 / 255, 0.8)
},
Font = {
LuaName = Font.Calibri,
TabText = Font.Calibri,
Text = Font.Verdana
}
},
Info = {}
}
local ActiveTab = 1
local MenuVisible = true
--------Custom Sounds----------
local custom_sound_1 = "play sounds/(your custom sound)"
local custom_sound_s1 = "play sounds/ambient/misc/shutter1"
local custom_sound_s2 = "play sounds/ambient/misc/shutter2"
local custom_sound_s3 = "play sounds/ambient/misc/shutter3"
local custom_sound_z1 = "play sounds/ambient/energy/zap1"
local custom_sound_z2 = "play sounds/ambient/energy/zap2"
local custom_sound_z3 = "play sounds/ambient/energy/zap3"
local death_occurred = false
---------------------------------
local Keys = {
[4] = "M3",
[5] = "M4",
[6] = "M5",
[8] = "backspace",
[13] = "enter",
[27] = "esc",
[20] = "caps",
[32] = "space",
[33] = "pgup",
[34] = "pgdn",
[36] = "home",
[37] = "left",
[38] = "up",
[39] = "right",
[40] = "down",
[48] = "0",
[49] = "1",
[50] = "2",
[51] = "3",
[52] = "4",
[53] = "5",
[54] = "6",
[55] = "7",
[56] = "8",
[57] = "9",
[65] = "A",
[66] = "B",
[67] = "C",
[68] = "D",
[69] = "E",
[70] = "F",
[71] = "G",
[72] = "H",
[73] = "I",
[74] = "J",
[75] = "K",
[76] = "L",
[77] = "M",
[78] = "N",
[79] = "O",
[80] = "P",
[81] = "Q",
[82] = "R",
[83] = "S",
[84] = "T",
[85] = "U",
[86] = "V",
[87] = "W",
[88] = "X",
[89] = "Y",
[90] = "Z",
[96] = "0",
[97] = "1",
[98] = "2",
[99] = "3",
[100] = "4",
[101] = "5",
[102] = "6",
[103] = "7",
[104] = "8",
[105] = "9",
[106] = "*",
[107] = "+",
[109] = "-",
[110] = ".",
[111] = "/",
[112] = "F1",
[113] = "F2",
[114] = "F3",
[115] = "F4",
[116] = "F5",
[117] = "F6",
[118] = "F7",
[119] = "F8",
[120] = "F9",
[121] = "F10",
[122] = "F11",
[123] = "F12",
[160] = "shift",
[161] = "shift",
[162] = "ctrl",
[163] = "ctrl",
[164] = "alt",
[165] = "alt",
[108] = "enter"
}
local Controls = {
killsay = false,
damagesound = false,
killsound = false,
Waterka = true,
Slider1 = 90,
SliderLeft = 90,
SliderRight = 90,
SliderTL = 90,
SliderTS = 90,
SliderTI = 90,
SliderTR1 = 90,
SliderTG1 = 90,
SliderTB1 = 90,
SliderTR2 = 90,
SliderTG2 = 90,
SliderTB2 = 90,
Dropdown1 = 1,
Dropdown2 = 1,
Dropdown3 = 1,
Dropdown4 = 1,
Dropdown5 = 1,
Dropdown6 = 1,
Dropdown7 = 1,
Slider1Input = "",
SliderLeftInput = "",
SliderRightInput = "",
SliderTLInput = "",
SliderTSInput = "",
SliderTIInput = "",
SliderTR1Input = "",
SliderTG1Input = "",
SliderTB1Input = "",
SliderTR2Input = "",
SliderTG2Input = "",
SliderTB2Input = "",
Slider1Editing = false,
SliderLeftEditing = false,
SliderRightEditing = false,
SliderTLEditing = false,
SliderTSEditing = false,
SliderTIEditing = false,
SliderTR1Editing = false,
SliderTG1Editing = false,
SliderTB1Editing = false,
SliderTR2Editing = false,
SliderTG2Editing = false,
SliderTB2Editing = false
}
local textsize = 14
local font = Parameters.Base.Font.Text
render.text(name, font, vec2_t(x + boxSize + 5, y + (boxSize - textsize) / 2),
Parameters.Base.Color.Text, textsize)
local valueText
if Controls[varname .. "Editing"] then
valueText = Controls[varname .. "Input"]
else
valueText = tostring(math.floor(value + 0.5))
end
local valueWidth = 40
local valueHeight = textsize + 4
if input.is_key_clicked(input.VK_INSERT) then
MenuVisible = not MenuVisible
end
if mouse_over_ui then
engine.execute_client_cmd("-attack")
end
if M1Clicked and minrect(startpos.x, startpos.y, width, line) and not
interacting then
change = {"startpos", 0}
dx, dy = Mouse.x - startpos.x, Mouse.y - startpos.y
end
if change[1] == "startpos" and not interacting then
if not M1Pressed then change = {} end
startpos.x, startpos.y = Mouse.x - dx, Mouse.y - dy
end
if ActiveTab == 1 then
end
if ActiveTab == 2 then
end
if ActiveTab == 3 then
end
if ActiveTab == 5 then
end
end
register_callback("paint", function()
for key, value in pairs(Keys) do
local pressed = input.is_key_pressed(key)
if pressed and not prevKeyState[key] then
KeyClicked[key] = true
else
KeyClicked[key] = false
end
prevKeyState[key] = pressed
end
Keroscene()
Draw()
end)
---------------------------------------
Watermark---------------------------------------
local colors = {
accent = color_t(0.8, 1, 0.2588, 1),
purple_neon = color_t(140 / 255, 142 / 255, 255 / 255, 0.81),
glass_color = color_t(0.1, 0.1, 0.1, 0.7),
border_color = color_t(140 / 255, 142 / 255, 255 / 255, 0.8),
shadow_color = color_t(0, 0, 0, 0.5),
}
local netvars = {
m_sSanitizedPlayerName = engine.get_netvar_offset("client.dll",
"CCSPlayerController", "m_sSanitizedPlayerName") or 0,
m_hOriginalController = engine.get_netvar_offset("client.dll",
"C_CSPlayerPawnBase", "m_hOriginalController") or 0,
m_nTickBase = engine.get_netvar_offset("client.dll", "CBasePlayerController",
"m_nTickBase") or 0,
m_iPing = engine.get_netvar_offset("client.dll", "CBasePlayer", "m_iPing") or
0,
m_hPlayerPing = engine.get_netvar_offset("client.dll",
"CCSPlayer_PingServices", "m_hPlayerPing") or 0,
}
end
local nOffset = 0
updateDisplayText()
end
register_callback("paint", fnOnPaint)
---------------------------------------
Tracers---------------------------------------
local COLOR_RIGHT_HERE = color_t(140 / 255, 142 / 255, 255 / 255, 0.8)
xpcall(function()
local print = function(...)
end;
local find_pattern_og = find_pattern
find_pattern = function(a, b)
local c = find_pattern_og(a, b)
if not c then print(tostring(b) .. " инвалид конкретный") end
return c
end
typedef struct ZV {
float r, g, b;
} ZV;
Update = function(this)
this.pPatricleManager = this.ppPatricleManager[0]
anton_vfunc_CreateSnapshot = this:GetVFunc(42, "void(__thiscall*)
(void*, struct CStrongHandle*, int64_t*)")
anton_vfunc_Draw = this:GetVFunc(43, "void(__thiscall*)(void*,
struct CStrongHandle*, int, void*)")
end,
IsValid = function(this)
return this.pPatricleManager and this.ppPatricleManager and
this.pPatricleManager ~= ffi.NULL and this.ppPatricleManager ~= ffi.NULL
end,
return func
end,
Update = function(this)
this.pGameParticleManager = this.fnGetGameParticleManager()
end,
IsValid = function(this)
return this.pGameParticleManager and this.pGameParticleManager ~=
ffi.NULL
end,
IParticleManager:Update()
if ( not IParticleManager:IsValid() ) then return; end;
IGameParticleManager:Update()
if ( not IGameParticleManager:IsValid() ) then return; end;
local vecDirection = (vecEnd - vecStart)
local pEffectData = ffi.new("struct CParticleData[1]")
local vecLinePointToEnd = vecStart + (vecDirection * 0.5)
local vecCenterLinePoint = vecStart + (vecDirection * 0.3)
local pSnapShotHandle = ffi.new("struct CStrongHandle[1]")
if IGameParticleManager:CreateEffect(pEffectIndex, szBeamMaterial) == -
1337 then return end
if IGameParticleManager:SetEffectData(pEffectIndex[0], 16, pBeamColor, 0)
== -1337 then return end
local pParticleInformation = ffi.new("struct CParticleInformation[1]")
pParticleInformation[0].flUnknown = 1
pParticleInformation[0].flWidth = 1
pParticleInformation[0].flTime = 4
if IGameParticleManager:SetEffectData(pEffectIndex[0], 3,
pParticleInformation, 0) == -1337 then return end
local vecStepPoints = { vecStart, vecCenterLinePoint, vecLinePointToEnd,
vecEnd }
for nIndex = 1, #vecStepPoints do
pEffectData[0].flTimes = ffi.new(("float[%i]"):format(nIndex))
pEffectData[0].vecPositions = ffi.new(("struct
Vector[%i]"):format(nIndex))
for nPointIndex = 1, nIndex do
pEffectData[0].flTimes[nPointIndex - 1] = 0.015625 * nPointIndex
for _, szKey in pairs({ "x", "y", "z" }) do
pEffectData[0].vecPositions[nPointIndex - 1][szKey] =
vecStepPoints[nPointIndex][szKey]
end
end
local pUtlStringData = ffi.new("int64_t[1]")
if anton_vfunc_CreateSnapshot == nil then IParticleManager:Update()
return; end;
anton_vfunc_CreateSnapshot(IParticleManager:Get(), pSnapShotHandle,
pUtlStringData)
pEffectData[0].flTimes2 = pEffectData[0].flTimes
if not IGameParticleManager:InitEffect(pEffectIndex[0], 0,
pSnapShotHandle) then return; end
if anton_vfunc_Draw == nil then IParticleManager:Update() return; end;
anton_vfunc_Draw(IParticleManager:Get(), pSnapShotHandle, nIndex,
pEffectData)
end
end
local INVALID_INDEX = -1
function MT:invalid_index()
return INVALID_INDEX
end
function MT:is_idx_valid(i)
local x = ffi.cast("long", i)
return x >= 0 and x < self.m_allocation_count
end
MT.iterator_t = ffi.metatype(
ffi.typeof([[
struct {
$ index;
}
]], I),
{
__eq = function(self, it)
if ffi.istype(self, it) then
return self.index == it.index
end
end
}
)
function MT:invalid_iterator()
return MT.iterator_t(self:invalid_index())
end
return ffi.metatype(ffi.typeof([[
struct {
$* m_memory;
int m_allocation_count;
int m_grow_size;
}
]], ffi.typeof(T)), {
__index = function(self, key)
print(tostring("max: " ..tostring(#MT)))
print(tostring("access: " ..tostring(key)))
print(tostring("self.m_memory:
" ..tostring(self.m_allocation_count)))
if MT[key] then return MT[key] end
if type(key) == "number" then
if self:is_idx_valid(key) then
return self.m_memory[key]
else
return nil
end
end
return nil
end
})
end
end)()
local anton_1 = ffi.typeof("struct {int m_size; $ m_memory;}",
CUtlMemory("bullet_data"));
local CUtlVector = (function()
local MT = {}
function MT:count()
return self.m_size
end
function MT:element(i)
print(tostring("max: " ..tostring(self.m_size)))
print(tostring("access: " ..tostring(i)))
if i > -1 and i < self.m_size then
return self.m_memory[i]
else
return nil
end
end
return function(T, A)
return ffi.metatype(anton_1, {
__index = function(self, key)
if MT[key] then return MT[key] end
if type(key) == "number" then
return self:element(key)
end
return nil
end,
__ipairs = function(self)
return function(t, i)
i = i + 1
local v = t[i]
if v then return i, v end
end, self, -1
end
})
end
end)()
local pBulletData_type = ffi.typeof("$*", CUtlVector("bullet_data"))
local GetEyePos = function(pLocalPawn)
local GameSceneNode = ffi.cast("uintptr_t*",
ffi.cast("uintptr_t", pLocalPawn[0]) + m_pGameSceneNode)[0];
if not GameSceneNode or GameSceneNode == 0 then return
vec3_t(0,0,0) end;
local vecAbsOrigin = ffi.cast("struct vec3_t*",
ffi.cast("uintptr_t", GameSceneNode) + m_vecAbsOrigin)[0];
local vecViewOffset = ffi.cast("struct vec3_t*",
ffi.cast("uintptr_t", pLocalPawn[0]) + m_vecViewOffset)[0];
register_callback("paint", fnOnPaint)
register_callback("round_start", function(event)
if Controls["KillFeed"] then
bClear = true;
end
end)
register_callback("unload", function()
bClear = true;
fnMain(true);
end)
function Keroscene()
local sliderValue = Controls["Slider1"]
local sliderValueL = Controls["SliderLeft"]
local sliderValueR = Controls["SliderRight"]
local sliderValueTL = Controls["SliderTL"]
local sliderValueTS = Controls["SliderTS"]
local sliderValueTI = Controls["SliderTI"]
local sliderValueTR1 = Controls["SliderTR1"]
local sliderValueTG1 = Controls["SliderTG1"]
local sliderValueTB1 = Controls["SliderTB1"]
local sliderValueTR2 = Controls["SliderTR2"]
local sliderValueTG2 = Controls["SliderTG2"]
local sliderValueTB2 = Controls["SliderTB2"]
if Controls["killsay"] then
end
if Controls["damagesound"] then
end
if Controls["killsound"] then
end
if Controls["Waterka"] then
drawWatermark()
end
---------------------------------------FOV Changer-----------------------
Controls----------------
if Controls["fovchanger"] then
local sliderValue = Controls["Slider1"] or 130
local m_iDesiredFOV = engine.get_netvar_offset("client.dll",
"CBasePlayerController", "m_iDesiredFOV")
local pLocalController = entitylist.get_local_player_controller()
if pLocalController then
ffi.cast("int*", pLocalController[m_iDesiredFOV])[0] = sliderValue
end
else
local m_iDesiredFOV = engine.get_netvar_offset("client.dll",
"CBasePlayerController", "m_iDesiredFOV")
local pLocalController = entitylist.get_local_player_controller()
if pLocalController then
ffi.cast("int*", pLocalController[m_iDesiredFOV])[0] = 90
end
end
if Controls["BulletImpacts"] then
end
if Controls["HitLogs"] then
end
if Controls["HitLogs2"] then
end
if Controls["Fakerep"] then
end
if Controls["RadarR"] then
end
if Controls["FakeFeed"] then
end
if Controls["headshot"] then
end
if Controls["assistedflash"] then
end
if Controls["noscope"] then
end
if Controls["wallbang"] then
end
if Controls["revenge"] then
end
if Controls["dominated"] then
end
if Controls["inair"] then
end
if Controls["headshoto"] then
end
if Controls["assistedflasho"] then
end
if Controls["noscopeo"] then
end
if Controls["wallbango"] then
end
if Controls["revengeo"] then
end
if Controls["dominatedo"] then
end
if Controls["inairo"] then
end
if Controls["buybotlegit"] then
end
if Controls["buybotr"] then
end
if Controls["ak47"] then
end
if Controls["taser"] then
end
if Controls["defkit"] then
end
if Controls["m4a1"] then
end
if Controls["m4a4"] then
end
if Controls["mainweapon"] then
end
if Controls["secondweapon"] then
end
if Controls["molotov"] then
end
if Controls["smoke"] then
end
if Controls["heg"] then
end
if Controls["flash"] then
end
if Controls["ManualAA"] then
end
if Controls["ManualAAPS"] then
end
if Controls["ManualAAPSALO"] then
end
if Controls["JitterAA"] then
end
if Controls["HitLogsCent"] then
end
if Controls["Tracers"] then
end
if Controls["legitsecond"] then
end
if Controls["secondary0"] then
end
if Controls["secondary1"] then
end
if Controls["secondary2"] then
end
if Controls["secondary3"] then
end
if Controls["secondary4"] then
end
if Controls["KillFeed"] ~= prevKillFeedState then
if not Controls["KillFeed"] then
bClear = true;
fnMain(true)
end
prevKillFeedState = Controls["KillFeed"]
end
end
---------------------------------------Killsay
Ru---------------------------------------
local phrases = {
"Ребят, ну тренируйтесь, когда-нибудь и вы меня догоните... Может быть ",
"А что, вы всегда такие медленные? Я думал, это просто задержка сервера!",
"Эй, у кого тут лобби для новичков? Кажется, я ошибся игрой ",
"Не переживайте, ещё пару тысяч часов, и вы почти как я.",
"Ребят, я же не виноват, что ваши экраны не так быстро реагируют, как мой!",
"Если это ваше лучшее, мне даже как-то неловко...",
"Кажется, у вас появился шанс! Ловите скриншот на память.",
"Стараюсь играть аккуратно, чтобы не расстраивать вас слишком сильно ",
"Где же ваши хайлайты? А, точно, вы в тени моего мастерства!",
"Давайте так: вы не будете ныть, а я немного снизил уровень... на 0.01%!",
"Успокойтесь, ребят, это просто естественный талант! ",
"Ощущение, что играю против ботов... кто-нибудь ещё здесь живой?",
"Не обижайтесь, я просто даю вам повод для тренировок!",
"Ну что, записали мой урок? Повторим ещё раз?",
"Ой, простите, кажется, я случайно включил ‘режим бога’!",
"Не переживайте, я на вас свои читы и тестирую!",
"Даже и не знаю, что сказать... против вас скучно ",
"Когда ты на пике формы, а противник всё ещё на разминке.",
"Легко, как утренний кофе ☕️. Кто следующий?",
"Вам там нормально, или мне сбавить обороты?",
"Вы серьёзно? Я думал, это был разминочный раунд!",
"Ребят, это матч или тренировка для новичков?",
"Вам до меня ещё как до луны пешком.",
"Сори, если слишком быстро для вас, это просто реакция!",
"Мне кажется, что играю в соло — где вы все?",
"Ваши скиллы тут точно не в приоритете.",
"Ого, это вы так ‘атака’ называете? Забавно!",
"Вы что, пингвинчики? Так медленно двигаетесь!",
"Попробуйте угадать, где я появлюсь... или даже не пытайтесь.",
"А может, я просто экс-чемпион мира? Вам не узнать!",
"Такое чувство, что вы с завязанными глазами играете!",
"Кто-то тут не на моём уровне... и это не я.",
"Кажется, вы всё время на паузе, или это только кажется?",
"Вы точно знали, что зашли в матч, а не в лобби для болтовни?",
"А я могу даже без чата вас обыграть. Проверим?",
"Когда вы уже начнете пытаться? Я вас жду!",
"Даже с закрытыми глазами можно быть быстрее.",
"Придётся снизить свою сложность, чтобы вам шансы дать.",
"Тренируйтесь больше, а то я заскучаю.",
"Можете сразу сдаться, я не обижусь!"
}
local counter = 0
register_callback("player_death", function(event)
if Controls["killsay"] then
if Controls["Dropdown1"] == 1 then
if event:get_pawn("attacker") ==
entitylist.get_local_player_pawn() then
engine.execute_client_cmd("say " .. phrases[counter %
#phrases + 1])
counter = counter + 1
end
end
end
end)
---------------------------------------Killsay
Skeet---------------------------------------
local phrasessk = {
"𝕝𝕚𝕗𝕖 𝕚𝕤 𝕒 𝕘𝕒𝕞𝕖, 𝕤𝕥𝕖𝕒𝕞 𝕝𝕖𝕧𝕖𝕝 𝕚𝕤 𝕙𝕠𝕨 𝕨𝕖 𝕜𝕖𝕖𝕡 𝕥𝕙𝕖 𝕤𝕔𝕠𝕣𝕖 ♛ 𝕞𝕒𝕜𝕖 𝕣𝕚𝕔𝕙 𝕞𝕒𝕚𝕟𝕤, 𝕟𝕠𝕥
𝕗𝕣𝕚𝕖𝕟𝕕𝕤",
"𝕕𝕦𝕞𝕓 𝕕𝕠𝕘, 𝕪𝕠𝕦 𝕒𝕨𝕒𝕜𝕖 𝕥𝕙𝕖 ᴅʀᴀɢᴏɴ ʜᴠʜ ᴍᴀᴄʜɪɴᴇ, 𝕟𝕠𝕨 𝕪𝕠𝕦 𝕝𝕠𝕤𝕖 𝙖𝙘𝙘 𝕒𝕟𝕕 𝚐𝚊𝚖𝚎
♕",
"♛ 𝕞𝕪 𝕙𝕧𝕙 𝕥𝕖𝕒𝕞 𝕚𝕤 𝕣𝕖𝕒𝕕𝕪 𝕘𝕠 𝟙𝕩𝟙 𝟚𝕩𝟚 𝟛𝕩𝟛 𝟜𝕩𝟜 𝟝𝕩𝟝 (◣_◢)",
"ᴀɢᴀɪɴ ɴᴏɴᴀᴍᴇ ᴏɴ ᴍʏ ꜱᴛᴇᴀᴍ ᴀᴄᴄᴏᴜɴᴛ. ɪ ꜱᴇᴇ ᴀɢᴀɪɴ ᴀᴄᴛɪᴠɪᴛʏ.",
"ɴᴏɴᴀᴍᴇ ʟɪꜱᴛᴇɴ ᴛᴏ ᴍᴇ ! ᴍʏ ꜱᴛᴇᴀᴍ ᴀᴄᴄᴏᴜɴᴛ ɪꜱ ɴᴏᴛ ʏᴏᴜʀ ᴘʀᴏᴘᴇʀᴛʏ.",
"𝙋𝙤𝙤𝙧 𝙖𝙘𝙘 𝙙𝙤𝙣’𝙩 𝙘𝙤𝙢𝙢𝙚𝙣𝙩 𝙥𝙡𝙚𝙖𝙨𝙚 ♛",
"𝓭𝓸𝓷𝓽 𝓝𝓝",
"𝕥𝕣𝕪 𝕥𝕠 𝕥𝕖𝕤𝕥 𝕞𝕖? (◣_◢) 𝕞𝕪 𝕞𝕚𝕕𝕕𝕝𝕖 𝕟𝕒𝕞𝕖 𝕚𝕤 𝕘𝕖𝕟𝕦𝕚𝕟𝕖 𝕡𝕚𝕟 ♛",
"𝕗𝕦𝕔𝕜 𝕪𝕠𝕦𝕣 𝕗𝕒𝕞𝕚𝕝𝕪 𝕒𝕟𝕕 𝕗𝕣𝕚𝕖𝕟𝕕𝕤, 𝕜𝕖𝕖𝕡 𝕥𝕙𝕖 𝕤𝕥𝕖𝕒𝕞 𝕝𝕖𝕧𝕖𝕝 𝕦𝕡 ♚",
'𝐓𝐡𝐞 𝐨𝐧𝐥𝐲 𝐭𝐡𝐢𝐧𝐠 𝐥𝐨𝐰𝐞𝐫 𝐭𝐡𝐚𝐧 𝐲𝐨𝐮𝐫 𝐤/𝐝 𝐫𝐚𝐭𝐢𝐨 𝐢𝐬 𝐲𝐨𝐮𝐫 𝐩𝐞𝐧𝐢𝐬 𝐬𝐢𝐳𝐞.',
'Your cheat is not the problem, but that you were born.',
local counter = 0
register_callback("player_death", function(event)
if Controls["killsay"] then
if Controls["Dropdown1"] == 2 then
if event:get_pawn("attacker") ==
entitylist.get_local_player_pawn() then
engine.execute_client_cmd("say " .. phrasessk[counter %
#phrasessk + 1])
counter = counter + 1
end
end
end
end)
---------------------------------------
HitLogs---------------------------------------
local accent = color_t(0.8, 1, 0.2588235294117647,1)
local m_sSanitizedPlayerName = engine.get_netvar_offset("client.dll",
"CCSPlayerController", "m_sSanitizedPlayerName");
local m_hOriginalController = engine.get_netvar_offset("client.dll",
"C_CSPlayerPawnBase", "m_hOriginalController");
local m_nTickBase = engine.get_netvar_offset("client.dll", "CBasePlayerController",
"m_nTickBase");
local Verdana = render.setup_font("C:/Windows/Fonts/verdanab.ttf", 12, 16);
local logs = {};
--------------------Hitlogs 2----------------
---------------------------------------
ManualAA---------------------------------------
local STATES = {
[0x5A] = 90, -- Z key
[0x43] = -90, -- C key
[0x58] = 0, -- X key
default = 180
}
--
ffi.cdef [[
unsigned short GetAsyncKeyState(int vKey);
]]
local held_keys_cache = {}
register_callback("paint", function()
if Controls["ManualAA"] then
for k, v in pairs(STATES) do
if k == "default" then
goto continue
end
held_keys_cache[k] = is_key_held
::continue::
end
if ENABLE_INDICATOR then
if not entitylist.get_local_player_pawn() then return end
local manual =
(offset == 90) and 2 or
(offset == -90) and 1 or
(offset == 0) and 3 or
0
render.filled_polygon(
{
vec2_t(screen_center.x + (INDICATOR_DISTANCE + 15),
screen_center.y),
vec2_t(screen_center.x + (INDICATOR_DISTANCE + 2),
screen_center.y - 9),
vec2_t(screen_center.x + (INDICATOR_DISTANCE + 2),
screen_center.y + 9)
},
manual == 1 and INDICATOR_COLOR or color_t(0, 0, 0, 0.4)
)
render.filled_polygon(
{
vec2_t(screen_center.x - (INDICATOR_DISTANCE + 15),
screen_center.y),
vec2_t(screen_center.x - (INDICATOR_DISTANCE + 2),
screen_center.y - 9),
vec2_t(screen_center.x - (INDICATOR_DISTANCE + 2),
screen_center.y + 9)
},
manual == 2 and INDICATOR_COLOR or color_t(0, 0, 0, 0.4)
)
render.filled_polygon(
{
vec2_t(screen_center.x, screen_center.y -
(INDICATOR_DISTANCE + 15)),
vec2_t(screen_center.x - 9, screen_center.y -
(INDICATOR_DISTANCE + 2)),
vec2_t(screen_center.x + 9, screen_center.y -
(INDICATOR_DISTANCE + 2))
},
manual == 3 and INDICATOR_COLOR or color_t(0, 0, 0, 0.4)
)
end
end
end)
register_callback("unload", function()
menu.ragebot_anti_aim_base_yaw_offset = STATES["default"]
end)
-----------------------Psilent ManualAA----------------------
local STATES = {
[0x5A] = 147, -- Z key
[0x43] = -142, -- C key
default = 180
}
--
ffi.cdef [[
unsigned short GetAsyncKeyState(int vKey);
]]
local held_keys_cache = {}
register_callback("paint", function()
if Controls["ManualAAPS"] then
for k, v in pairs(STATES) do
if k == "default" then
goto continue
end
held_keys_cache[k] = is_key_held
::continue::
end
if ENABLE_INDICATORP then
if not entitylist.get_local_player_pawn() then return end
local manual =
(offset >= 45 and offset <= 148) and 2 or
(offset <= -75 and offset >= -148) and 1 or
0
render.filled_polygon(
{
vec2_t(screen_center.x + (INDICATOR_DISTANCEP + 15),
screen_center.y),
vec2_t(screen_center.x + (INDICATOR_DISTANCEP + 2),
screen_center.y - 9),
vec2_t(screen_center.x + (INDICATOR_DISTANCEP + 2),
screen_center.y + 9)
},
manual == 1 and INDICATOR_COLORP or color_t(0, 0, 0, 0.4)
)
render.filled_polygon(
{
vec2_t(screen_center.x - (INDICATOR_DISTANCEP + 15),
screen_center.y),
vec2_t(screen_center.x - (INDICATOR_DISTANCEP + 2),
screen_center.y - 9),
vec2_t(screen_center.x - (INDICATOR_DISTANCEP + 2),
screen_center.y + 9)
},
manual == 2 and INDICATOR_COLORP or color_t(0, 0, 0, 0.4)
)
end
end
end)
register_callback("unload", function()
menu.ragebot_anti_aim_base_yaw_offset = STATES["default"]
end)
---------------------------------------Jitter
ManualAA---------------------------------------
local sliderValueLeft = Controls["SliderLeft"] or 130
local sliderValueRight = Controls["SliderRight"] or 130
local STATES = {
[0x5A] = sliderValueLeft, -- Z key (left slider)
[0x43] = -sliderValueRight, -- C key (right slider)
[0x58] = 0, -- X key (fixed at 0 for forward)
default = 180
}
ffi.cdef [[
unsigned short GetAsyncKeyState(int vKey);
]]
local held_keys_cache = {}
local key_state = {
[0x5A] = false, -- Z key
[0x43] = false, -- C key
[0x58] = false, -- X key
}
register_callback("paint", function()
STATES[0x5A] = sliderValueLeft
STATES[0x43] = -sliderValueRight
if Controls["ManualAAPSALO"] then
for k, v in pairs(STATES) do
if k == "default" then
goto continue
end
if is_key_held then
if key_state[k] == false then
key_state[k] = true
active_arrow = k
menu.ragebot_anti_aim_base_yaw_offset = v
else
key_state[k] = false
active_arrow = nil
menu.ragebot_anti_aim_base_yaw_offset = STATES["default"]
end
end
held_keys_cache[k] = is_key_held
::continue::
end
if is_key_pressed(0x51) then -- Q key is pressed
for k, _ in pairs(key_state) do
key_state[k] = false
end
active_arrow = nil
menu.ragebot_anti_aim_base_yaw_offset = STATES["default"]
end
if ENABLE_INDICATORP then
if not entitylist.get_local_player_pawn() then return end
local manual = 0
render.filled_polygon(
{
vec2_t(screen_center.x + (INDICATOR_DISTANCEP + 15),
screen_center.y),
vec2_t(screen_center.x + (INDICATOR_DISTANCEP + 2),
screen_center.y - 9),
vec2_t(screen_center.x + (INDICATOR_DISTANCEP + 2),
screen_center.y + 9)
},
manual == 2 and INDICATOR_COLORP or color_t(0, 0, 0, 0.4)
)
render.filled_polygon(
{
vec2_t(screen_center.x - (INDICATOR_DISTANCEP + 15),
screen_center.y),
vec2_t(screen_center.x - (INDICATOR_DISTANCEP + 2),
screen_center.y - 9),
vec2_t(screen_center.x - (INDICATOR_DISTANCEP + 2),
screen_center.y + 9)
},
manual == 1 and INDICATOR_COLORP or color_t(0, 0, 0, 0.4)
)
render.filled_polygon(
{
vec2_t(screen_center.x, screen_center.y - (INDICATOR_DISTANCEP
+ 15)),
vec2_t(screen_center.x - 9, screen_center.y -
(INDICATOR_DISTANCEP + 2)),
vec2_t(screen_center.x + 9, screen_center.y -
(INDICATOR_DISTANCEP + 2))
},
manual == 3 and INDICATOR_COLORP or color_t(0, 0, 0, 0.4)
)
end
end
end)
register_callback("unload", function()
menu.ragebot_anti_aim_base_yaw_offset = STATES["default"]
end)
--------------------------------------Antiaim----------------------------------
---------------------------------------HitLogs
Center---------------------------------------
local config = {
hit_logs = true,
harm_logs = true,
hit_color = color_t(140 / 255, 142 / 255, 255 / 255, 0.8),
harm_color = color_t(140 / 255, 142 / 255, 255 / 255, 0.8),
y_offset = 100
}
local log = {}
local logs = {}
local string_to_color = {
["white"] = color_t(1, 1, 1, 1),
["black"] = color_t(0, 0, 0, 1),
["hit"] = config.hit_color,
["harm"] = config.harm_color,
}
log.render = function()
local offset = 0
for i, v in pairs(logs) do
local tick_base = ffi.cast("int*", entitylist.get_local_player_controller()
[m_nTickBase])[0]
if tick_base < v.tick_base and i <= 10 then
v.alpha = math.lerp(v.alpha, 1, 0.13)
else
v.alpha = math.lerp(v.alpha, 0, 0.13)
if v.alpha < 0.1 then
table.remove(logs, i)
end
end
local text_size = 0
local screen_size = render.screen_size()
local pos = vec2_t(screen_size.x / 2 - render.calc_text_size(v.full_text,
font[1], font[2]).x / 2, screen_size.y / 2 + config.y_offset)
for k, f in pairs(v.colored_text) do
f.color.a = v.alpha
render.shadow_text(f.text, font[1], vec2_t(pos.x + text_size, pos.y +
offset), f.color, font[2])
text_size = text_size + render.calc_text_size(f.text, font[1],
font[2]).x
end
offset = offset + 16 * v.alpha
end
end
local hitgroups = {
[0] = "generic",
[1] = "head",
[2] = "chest",
[3] = "stomach",
[4] = "left arm",
[5] = "right arm",
[6] = "left leg",
[7] = "right leg",
[8] = "neck"
}
log.player_hurt = function(event)
if Controls["HitLogsCent"] then
local local_player = entitylist.get_local_player_controller()
if not local_player then return end
local attacker = event:get_controller("attacker")
local attacker_name = "World"
if attacker then
attacker_name = ffi.string(ffi.cast("char**",
attacker[m_sSanitizedPlayerName])[0])
end
local target = event:get_controller("userid")
if not target then return end
local target_name = ffi.string(ffi.cast("char**",
target[m_sSanitizedPlayerName])[0])
local remaining = event:get_int("health")
local damage = event:get_int("dmg_health")
local hitgroup = hitgroups[event:get_int("hitgroup")]
local self_harm = false
if attacker == local_player and target == local_player then
self_harm = true
attacker_name = "yourself"
end
local is_fatal = remaining == 0
if target == local_player and config.harm_logs then
local harm_result = (is_fatal and "Tapped" or "Hit") ..
(self_harm and "" or " by")
hitgroup = hitgroup == "generic" and "" or (" for {harm}
%s{white}"):format(hitgroup)
damage = is_fatal and "" or (" for {harm}%s"):format(damage)
log.print(("{white}%s {harm}%s{white}%s%s"):format(harm_result,
attacker_name, hitgroup, damage), "harm")
elseif attacker == local_player and config.hit_logs then
local hit_result = is_fatal and "Tapped" or "Hit"
hitgroup = (hitgroup == "generic" or hitgroup == "gear") and ""
or (is_fatal and "'s " or "'s ") .. (" {hit}%s{white}"):format(hitgroup)
damage = is_fatal and "" or (" for {hit}%s"):format(damage)
target_name = hitgroup == "{white}" and target_name or
("%s{white}"):format(target_name)
log.print(("{white}%s {hit}%s%s%s"):format(hit_result,
target_name, hitgroup, damage), "hit")
end
end
end
----------------Hitsound------------------------
register_callback("player_death", function(event)
if Controls["killsound"] then
if Controls["Dropdown2"] == 1 then
if event:get_pawn("attacker") ==
entitylist.get_local_player_pawn() then
engine.execute_client_cmd(custom_sound_s1)
end
end
end
end)
register_callback("player_death", function(event)
if Controls["killsound"] then
if Controls["Dropdown2"] == 2 then
if event:get_pawn("attacker") ==
entitylist.get_local_player_pawn() then
engine.execute_client_cmd(custom_sound_s2 )
end
end
end
end)
register_callback("player_death", function(event)
if Controls["killsound"] then
if Controls["Dropdown2"] == 3 then
if event:get_pawn("attacker") ==
entitylist.get_local_player_pawn() then
engine.execute_client_cmd(custom_sound_s3)
end
end
end
end)
register_callback("player_death", function(event)
if Controls["killsound"] then
if Controls["Dropdown2"] == 4 then
if event:get_pawn("attacker") ==
entitylist.get_local_player_pawn() then
engine.execute_client_cmd(custom_sound_z1)
end
end
end
end)
register_callback("player_death", function(event)
if Controls["killsound"] then
if Controls["Dropdown2"] == 5 then
if event:get_pawn("attacker") ==
entitylist.get_local_player_pawn() then
engine.execute_client_cmd(custom_sound_z2)
end
end
end
end)
register_callback("player_death", function(event)
if Controls["killsound"] then
if Controls["Dropdown2"] == 6 then
if event:get_pawn("attacker") ==
entitylist.get_local_player_pawn() then
engine.execute_client_cmd(custom_sound_z3)
end
end
end
end)
register_callback("player_death", function(event)
if Controls["killsound"] then
if Controls["Dropdown2"] == 7 then
if event:get_pawn("attacker") ==
entitylist.get_local_player_pawn() then
engine.execute_client_cmd(custom_sound_1)
end
end
end
end)
register_callback("player_hurt", function(event)
if Controls["damagesound"] then
if Controls["Dropdown3"] == 1 then
if event:get_pawn("attacker") ==
entitylist.get_local_player_pawn() then
engine.execute_client_cmd(custom_sound_s1)
end
end
end
end)
register_callback("player_hurt", function(event)
if Controls["damagesound"] then
if Controls["Dropdown3"] == 2 then
if event:get_pawn("attacker") ==
entitylist.get_local_player_pawn() then
engine.execute_client_cmd(custom_sound_s2)
end
end
end
end)
register_callback("player_hurt", function(event)
if Controls["damagesound"] then
if Controls["Dropdown3"] == 3 then
if event:get_pawn("attacker") ==
entitylist.get_local_player_pawn() then
engine.execute_client_cmd(custom_sound_s3)
end
end
end
end)
register_callback("player_hurt", function(event)
if Controls["damagesound"] then
if Controls["Dropdown3"] == 4 then
if event:get_pawn("attacker") ==
entitylist.get_local_player_pawn() then
engine.execute_client_cmd(custom_sound_z1)
end
end
end
end)
register_callback("player_hurt", function(event)
if Controls["damagesound"] then
if Controls["Dropdown3"] == 5 then
if event:get_pawn("attacker") ==
entitylist.get_local_player_pawn() then
engine.execute_client_cmd(custom_sound_z2)
end
end
end
end)
register_callback("player_hurt", function(event)
if Controls["damagesound"] then
if Controls["Dropdown3"] == 6 then
if event:get_pawn("attacker") ==
entitylist.get_local_player_pawn() then
engine.execute_client_cmd(custom_sound_z3)
end
end
end
end)
register_callback("player_hurt", function(event)
if Controls["damagesound"] then
if Controls["Dropdown3"] == 7 then
if event:get_pawn("attacker") ==
entitylist.get_local_player_pawn() then
engine.execute_client_cmd(custom_sound_1)
end
end
end
end)
----------Fake Kill Feed----------------
register_callback("player_death", function(event)
if event:get_pawn("attacker") == entitylist.get_local_player_pawn() then
if Controls["FakeFeed"] then
if Controls["headshot"] then
event:set_int("headshot", 1)
end
if Controls["assistedflash"] then
event:set_int("assistedflash", 1)
end
if Controls["noscope"] then
event:set_int("noscope", 1)
end
if Controls["wallbang"] then
event:set_int("penetrated", 4)
end
if Controls["revenge"] then
event:set_int("revenge", 1)
end
if Controls["dominated"] then
event:set_int("dominated", 1)
end
if Controls["inair"] then
event:set_int("attackerinair", 1)
end
if Controls["headshoto"] then
event:set_int("headshot", 0)
end
if Controls["assistedflasho"] then
event:set_int("assistedflash", 0)
end
if Controls["noscopeo"] then
event:set_int("noscope", 0)
end
if Controls["wallbango"] then
event:set_int("penetrated", 0)
end
if Controls["revengeo"] then
event:set_int("revenge", 0)
end
if Controls["dominatedo"] then
event:set_int("dominated", 0)
end
if Controls["inairo"] then
event:set_int("attackerinair", 0)
end
end
end;
end);
--------Buybot--------------
local main_buy_list_1 = "buy ssg08";
local main_buy_list_2 = "buy awp";
local main_buy_list_3 = "buy scar20";
local second_buy_list_1 = "buy deagle";
local second_buy_list_2 = "buy revolver";
local second_buy_list_3 = "buy elite";
local vest_buy_list = "buy vest"
local vesthelm_buy_list = "buy vest;buy vesthelm"
local legit_buy_list_1 = "buy ak47";
local legit_buy_list_2 = "buy m4a1";
local legit_buy_list_3 = "buy m4a1_silencer";
register_callback("round_start", function ()
if Controls["buybotr"] then
if Controls["mainweapon"] then
if Controls["Dropdown4"] == 1 then
engine.execute_client_cmd(main_buy_list_1);
end
end
end
end);
register_callback("round_start", function ()
if Controls["buybotr"] then
if Controls["mainweapon"] then
if Controls["Dropdown4"] == 2 then
engine.execute_client_cmd(main_buy_list_3);
end
end
end
end);
register_callback("round_start", function ()
if Controls["buybotr"] then
if Controls["mainweapon"] then
if Controls["Dropdown4"] == 3 then
engine.execute_client_cmd(main_buy_list_2);
end
end
end
end);
register_callback("round_start", function ()
if Controls["buybotr"] then
if Controls["secondweapon"] then
if Controls["Dropdown5"] == 1 then
engine.execute_client_cmd(second_buy_list_1);
end
end
end
end);
register_callback("round_start", function ()
if Controls["buybotr"] then
if Controls["secondweapon"] then
if Controls["Dropdown5"] == 2 then
engine.execute_client_cmd(second_buy_list_2);
end
end
end
end);
register_callback("round_start", function ()
if Controls["buybotr"] then
if Controls["secondweapon"] then
if Controls["Dropdown5"] == 3 then
engine.execute_client_cmd(second_buy_list_3);
end
end
end
end);
register_callback("round_start", function ()
if Controls["heg"] then
engine.execute_client_cmd("buy hegrenade");
end
end);
register_callback("round_start", function ()
if Controls["smoke"] then
engine.execute_client_cmd("buy smokegrenade");
end
end);
register_callback("round_start", function ()
if Controls["molotov"] then
engine.execute_client_cmd("buy molotov; buy incgrenade");
end
end);
register_callback("round_start", function ()
if Controls["flash"] then
engine.execute_client_cmd("buy flashbang");
end
end);
register_callback("round_start", function ()
if Controls["taser"] then
engine.execute_client_cmd("buy taser");
end
end);
register_callback("round_start", function ()
if Controls["defkit"] then
engine.execute_client_cmd("buy defuser");
end
end);
register_callback("round_start", function ()
if Controls["vestb"] then
if Controls["Dropdown6"] == 1 then
engine.execute_client_cmd(vest_buy_list);
end
end
end);
register_callback("round_start", function ()
if Controls["vestb"] then
if Controls["Dropdown6"] == 2 then
engine.execute_client_cmd(vesthelm_buy_list);
end
end
end);
register_callback("round_start", function ()
if Controls["buybotlegit"] then
if Controls["ak47"] then
engine.execute_client_cmd(legit_buy_list_1);
end
if Controls["m4a1"] then
engine.execute_client_cmd(legit_buy_list_3);
end
if Controls["m4a4"] then
engine.execute_client_cmd(legit_buy_list_2);
end
end
end);
register_callback("round_start", function ()
if Controls["buybotlegit"] then
if Controls["legitsecond"] then
if Controls["Dropdown7"] == 1 then
engine.execute_client_cmd("buy elite");
end
if Controls["Dropdown7"] == 2 then
engine.execute_client_cmd("buy fiveseven");
end
if Controls["Dropdown7"] == 3 then
engine.execute_client_cmd("buy cz75a");
end
if Controls["Dropdown7"] == 4 then
engine.execute_client_cmd("buy tec9");
end
if Controls["Dropdown7"] == 5 then
engine.execute_client_cmd("buy p250");
end
if Controls["Dropdown7"] == 6 then
engine.execute_client_cmd("buy deagle");
end
if Controls["Dropdown7"] == 7 then
engine.execute_client_cmd("buy revolver");
end
end
end
end);
-----------------Report--------------
register_callback("player_death", function(event)
if event:get_pawn("userid") == entitylist.get_local_player_pawn() then
if math.random(1,frequency)==1 then
if Controls["Fakerep"] then
local attackerPawn = event:get_pawn("attacker");
local attackerControllerHandle = ffi.cast("int*",
attackerPawn[origControllerOffset])[0];
if not attackerControllerHandle then return; end;
local attackerMainController =
entitylist.get_entity_from_handle(attackerControllerHandle);
if not attackerMainController then return; end;
local attackerName = ffi.string(ffi.cast("char**",
attackerMainController[playerNameOffset])[0])
if custom_report_id ~= "" then
engine.execute_client_cmd(string.format("say%s %s %s %s
%s",teamString, report_for, attackerName, subbmited_report_id, custom_report_id))
else
engine.execute_client_cmd(string.format("say%s %s %s %s %s
%s",teamString, report_for, attackerName, subbmited_report_id,
tostring(math.random(1000000000,9999999999)),
tostring(math.random(100000000,999999999))))
end
end
end
end
end)