-
Автор темы
- #1
Надо вырезать с луашки Bloom (359 Строчка).
API Legendware
Буду очень благодарен
API Legendware
Код:
local cpfont = render.create_font("Fiexdys Normal", 20, 5, true, true, false)
local cpfont2 = render.create_font("Fiexdys Normal", 25, 3, true, false, false)
local sw, sh = engine.get_screen_width(), engine.get_screen_height()
local font = render.create_font("Segoe UI", 15, 400, true, false, false)
local ffi = require("ffi")
local IClientEntityList = ffi.cast(ffi.typeof("void***"), utils.create_interface("client.dll", "VClientEntityList003"))
local GetHighestEntityIndex = ffi.cast(ffi.typeof("int(__thiscall*)(void*)"), IClientEntityList[0][6])
menu.add_check_box("----gay page----")
menu.add_check_box("Enable big brain aa")
menu.add_check_box("Enable Gay Indicators")
menu.add_check_box("b1g resolver improv %100 real")
menu.add_check_box("----auto buy page ----")
menu.add_check_box("buy awp")
menu.add_check_box("buy scout")
menu.add_check_box("buy autosniper")
menu.add_check_box("buy heavy pistol")
menu.add_check_box("buy nades")
menu.add_check_box("buy armour")
menu.add_check_box("----Visual page----")
menu.add_combo_box( "Skybox Changer", { "Custom", "Italy", "Daylight", "Cloudy", "Night", "Night Flat", "Nuke" } )
menu.add_check_box("Watermark")
menu.add_check_box("Enable Keybindings")
menu.add_slider_int("Width", 0, engine.get_screen_width())
menu.add_slider_int("Height", 0, engine.get_screen_height())
menu.add_slider_float("m_flCustomBloomScale", 0.0, 10.0)
menu.add_check_box("Misc")
menu.add_check_box("Custom Hit Sound")
local ffi = require "ffi"
menu.add_check_box("Enable hit list")
menu.add_slider_int("Height", 1, 16)
menu.add_slider_int("hit list position X", 0, engine.get_screen_width())
menu.add_slider_int("hit list position Y", 0, engine.get_screen_height())
ffi.cdef[[
typedef int(__fastcall* clantag_t)(const char*, const char*);
]]
local fn_change_clantag = utils.find_signature("engine.dll", "53 56 57 8B DA 8B F9 FF 15")
local set_clantag = ffi.cast("clantag_t", fn_change_clantag)
function round(num, numDecimalPlaces)
local mult = 10^(numDecimalPlaces or 0)
return math.floor(num * mult + 0.5) / mult
end
local animation = {
" ",
" | ",
" |\\ ",
" |\\| ",
" H ",
" H0 ",
" Ho ",
" Ho\\ ",
" Ho\\/ ",
" Hoa ",
" H04X ",
" Hoax ",
" H04X| ",
" H04X|0 ",
" H0AX|_ ",
" H04X. ",
" H0AX.< ",
" HOAX.c< ",
" HOAX.cc ",
" HOAX.cc ",
" H04X.c< ",
" H04X.< ",
" HOAX. ",
" H04X ",
" Hoax ",
" H0\\/ ",
" H04 ",
" HO ",
" H ",
" |\\| ",
" |\\ ",
" |\\| ",
" |\\ ",
" | ",
" ",
}
local old_time = 0
local anglesforp = {
2,
-1,
- 2,
1,
}
client.add_callback("on_paint", function()
local curtime = math.floor(globals.get_curtime()*2)
if old_time ~= curtime then
set_clantag(animation[curtime % #animation+1], animation[curtime % #animation+1])
end
old_time = curtime
if not menu.get_bool("Enable big brain aa") then return end
if globals.get_tickcount() % 10 < 10 then
menu.set_int("anti_aim.yaw_offset", anglesforp[math.random(#anglesforp)])
menu.set_int("anti_aim.desync_range", 14)
menu.set_int("anti_aim.target_yaw", -9)
end
menu.set_int("anti_aim.lby_type", 3)
menu.set_int("anti_aim.desync_type", 4)
if menu.get_bool("Enable Gay Indicators") then
render.draw_text(cpfont, sw/2-render.get_text_width(cpfont, " hoax ")/2, sh/2+28, color.new(255, 255, 255), "h04x")
render.draw_text(cpfont, sw/2-render.get_text_width(cpfont, " fake desync amount - 99%")/2, sh/2+42, color.new(255, 255, 255, 255), "best lua H04X")
end
end)
local heavy = false
local auto = false
local awp = false
local scout = false
local armour = false
local nades = false
client.add_callback("on_paint", function()
heavy = menu.get_bool("buy heavy pistol")
auto = menu.get_bool("buy autosniper")
awp = menu.get_bool("buy awp")
scout = menu.get_bool("buy scout")
armour = menu.get_bool("buy armour")
nades = menu.get_bool("buy nades")
end)
events.register_event("round_start",function()
if awp then
console.execute("buy awp")
elseif scout then
console.execute("buy ssg08")
elseif autosniper then
console.execute("buy scar20 g3sg1")
end
if heavy then
console.execute("buy deagle")
end
if nades then
console.execute("buy hegrenade")
console.execute("buy molotov")
console.execute("buy smokegrenade")
end
if armour then
console.execute("buy vesthelm")
end
end)
local function skybox()
if menu.get_int( "Skybox Changer" ) == 0 then
console.set_string( "sv_skyname", "sky_descent" )
elseif menu.get_int( "Skybox Changer" ) == 1 then
console.set_string( "sv_skyname", "italy" )
elseif menu.get_int( "Skybox Changer" ) == 2 then
console.set_string( "sv_skyname", "sky_cs15_daylight01_hdr" )
elseif menu.get_int( "Skybox Changer" ) == 3 then
console.set_string( "sv_skyname", "sky_csgo_cloudy01" )
elseif menu.get_int( "Skybox Changer" ) == 4 then
console.set_string( "sv_skyname", "sky_csgo_night02" )
elseif menu.get_int( "Skybox Changer" ) == 5 then
console.set_string( "sv_skyname", "sky_csgo_night_flat" )
elseif menu.get_int( "Skybox Changer" ) == 6 then
console.set_string( "sv_skyname", "nukeblank" )
end
end
events.register_event("player_hurt", function(event)
local attacker = event:get_int("attacker")
local attacker_to_player = engine.get_player_for_user_id(attacker)
local local_index = engine.get_local_player_index()
if attacker_to_player == local_index then
-- due to api issues we can't make a editbox to write the name of somethings so we need to change manually.
local hitsoundcmd = "play stronk.wav" --change the "hitsound.wav" for the custom sound name
console.execute(hitsoundcmd);
end
end)
client.add_callback("on_paint", function()
if menu.get_bool("Watermark") then
local screen_width = engine.get_screen_width()
local username = globals.get_username()
local ping = tostring(globals.get_ping())
local tickrate = math.floor(1.0 / globals.get_intervalpertick())
local r = math.floor(math.sin(globals.get_realtime() * 2) * 127 + 128)
local g = math.floor(math.sin(globals.get_realtime() * 2 + 2) * 127 + 128)
local b = math.floor(math.sin(globals.get_realtime() * 2 + 4) * 127 + 128)
--
local text
if engine.is_connected() then
text = tostring("hoax [skyzer] | " .. username .. " | delay: " .. ping .. "ms | " .. tickrate .. "tick")
else
text = tostring("hoax [skyzer] | " .. username .. "")
end
--
local width = render.get_text_width(font, text)
--
local line_color = color.new(106, 90, 205, 150)
local background_color = color.new(0, 0, 0, 150)
local text_color = color.new(255, 255, 255)
--
local x = screen_width - 50 - width - 2
local y = 15
local w = width + 20
--
render.draw_rect_filled(x, y, w, 2, color.new(r, g, b, 155))
render.draw_rect_filled(x, y + 2, w, 16, background_color)
render.draw_text(font, x + 2, y + 3, text_color, text)
end
end)
local font = render.create_font("Segoe UI", 14, 400, true, false, false)
client.add_callback("on_paint", function()
if menu.get_bool("Enable Keybindings") then
local x, y = menu.get_int("Width"), menu.get_int("Height")
local size = 1
local r = math.floor(math.sin(globals.get_realtime() * 2) * 127 + 128)
local g = math.floor(math.sin(globals.get_realtime() * 2 + 2) * 127 + 128)
local b = math.floor(math.sin(globals.get_realtime() * 2 + 4) * 127 + 128)
--
if (menu.get_key_bind_state("rage.double_tap_key")) then
render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "[on] double tap")
size = size + 1
end
--
if(menu.get_key_bind_state("rage.hide_shots_key")) then
render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "[on] hide shots")
size = size + 1
end
--
if(menu.get_key_bind_state("anti_aim.manual_forward_key")) then
render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "[on] anti-aim forward")
size = size + 1
end
--
if(menu.get_key_bind_state("anti_aim.manual_left_key")) then
render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "[on] anti-aim right")
size = size + 1
end
--
if(menu.get_key_bind_state("anti_aim.manual_right_key")) then
render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "[on] anti-aim left")
size = size + 1
end
--
if(menu.get_key_bind_state("anti_aim.manual_back_key")) then
render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "[on] anti-aim back")
size = size + 1
end
--
if(menu.get_key_bind_state("misc.automatic_peek_key")) then
render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "[on] auto peek")
size = size + 1
end
--
if(menu.get_key_bind_state("misc.edge_jump_key")) then
render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "[on] edge jump")
size = size + 1
end
--
if(menu.get_key_bind_state("anti_aim.fake_duck_key")) then
render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "[on] fake duck")
size = size + 1
end
--
if(menu.get_key_bind_state("misc.slow_walk_key")) then
render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "[on] slow walk")
size = size + 1
end
--
if(menu.get_key_bind_state("rage.force_damage_key")) then
render.draw_text(font, x + 1, y + 7 + 15 * size, color.new(255, 255, 255), "[on] force damage")
size = size + 1
end
render.draw_rect_filled(x, y + 2, 170, 18, color.new(0, 0, 0, 150))
render.draw_rect_filled(x, y, 170, 2, color.new(r, g, b, 150))
render.draw_text(font, x + 53, y + 3, color.new(255, 255, 255), "keybindings")
end
end)
local FindByClass = function(name)
for i=64, GetHighestEntityIndex(IClientEntityList) do
local ent = entitylist.get_player_by_index(i)
if ent ~= nil then
if ent:get_class_name() == name then
return ent
end
end
end
end
------MAIN PART
client.add_callback("on_paint", function()
local CEnvTonemapController = FindByClass("CEnvTonemapController")
if CEnvTonemapController ~= nil then
CEnvTonemapController:set_prop_int("CEnvTonemapController", "m_bUseCustomBloomScale", 1)
CEnvTonemapController:set_prop_float("CEnvTonemapController", "m_flCustomBloomScale", menu.get_float("m_flCustomBloomScale"))
end
end)
local id = 0
local font = render.create_font("Smallest Pixel-7", 11, 100, true, true, true)
local aim_table =
{
}
local function shot(shot_info)
for i = menu.get_int("Height"), 2, -1 do
aim_table[i] = aim_table[i-1]
end
local hitbox1 = shot_info.client_hitbox
local damage1 = shot_info.client_damage
if hitbox1 == "None" then
hitbox1 = "MISS"
end
local damage = shot_info.server_damage
if damage == 0 then
damage = "MISS"
end
if damage1 == 0 then
damage1 = "MISS"
end
local backtrack = shot_info.backtrack_ticks
if backtrack == 0 then
backtrack = "-"
else
backtrack = backtrack .. " ticks"
end
local hitbox = shot_info.server_hitbox
if hitbox == "None" then
hitbox = "MISS"
end
local result = shot_info.result
if result == "Hit" then
result = "-"
else
hitbox = shot_info.client_hitbox
end
id = id + 1;
local gpinf = engine.get_player_info
local target = shot_info.target_index
local targetname = gpinf(target).name
aim_table[1] =
{
["id"] = id,
["player"] = string.sub(targetname, 0, 7),
["dmg"] = damage,
["dmg1"] = damage1,
["bt"] = backtrack,
["box"] = hitbox,
["box1"] = hitbox1,
["rs"] = result
}
end
local function draw_table(count, x, y, data)
if data then
local y = y + 4
local pitch = x + 10
local yaw = y + 15 + count * 16
local r, g, b = 0, 0, 0
if data.rs == "-" then
r, g, b = 94, 230, 75
elseif data.rs == "Resolver" then
r, g, b = 245, 127, 23
else
r, g, b = 118, 171, 255
end
render.draw_rect_filled(x, yaw, 3, 15, color.new(r, g, b, 255))
render.draw_text(font, pitch - 3, yaw + 1, color.new(255, 255, 255, 255), tostring(data.id))
render.draw_text(font, pitch + 16, yaw + 1, color.new(255, 255, 255, 255), tostring(data.player))
render.draw_text(font, pitch + 233, yaw + 1, color.new(255, 255, 255, 255), tostring(data.bt))
render.draw_text(font, pitch + 290, yaw + 1, color.new(209, 228, 34, 255), tostring(data.rs))
if data.box == data.box1 then
render.draw_text(font, pitch + 130, yaw + 2,color.new(0, 255, 0, 255), tostring(data.box))
render.draw_text(font, pitch + 171, yaw + 1, color.new(0, 255, 0, 255), tostring(data.box1))
else
render.draw_text(font, pitch + 130, yaw + 2, color.new(0, 255, 0, 255), tostring(data.box))
render.draw_text(font, pitch + 171, yaw + 1, color.new(255, 0, 0, 255), tostring(data.box1))
end
if data.dmg == data.dmg1 then
render.draw_text(font, pitch + 60, yaw + 1, color.new(0, 255, 0, 255), tostring(data.dmg))
render.draw_text(font, pitch + 90, yaw + 1, color.new(0, 255, 0, 255), tostring(data.dmg1))
else
render.draw_text(font, pitch + 60, yaw + 1, color.new(0, 255, 0, 255), tostring(data.dmg))
render.draw_text(font, pitch + 90, yaw + 1, color.new(255, 0, 0, 255), tostring(data.dmg1))
end
return count + 1
end
end
local function paint()
if menu.get_bool("Enable hit list") then
local x, y, d = menu.get_int("hit list position X"), menu.get_int("hit list position Y"), 0
local n = menu.get_int("Height")
local col_sz = 23 + 16 * (#aim_table > n and n or #aim_table)
local r = math.floor(math.sin(globals.get_realtime() * 2) * 127 + 128)
local g = math.floor(math.sin(globals.get_realtime() * 2 + 2) * 127 + 128)
local b = math.floor(math.sin(globals.get_realtime() * 2 + 4) * 127 + 128)
if id > 0 then
render.draw_rect_filled(x, y, 340, col_sz, color.new(22, 20, 26, 100))
else
render.draw_rect_filled(x, y, 340, 15, color.new(22, 20, 26, 100))
end
render.draw_rect_filled(x, y, 340, 15, color.new(16, 22, 29, 160))
render.draw_rect_filled(x, y, 340, 2, color.new(r, g, b, 160))
render.draw_text(font, x + 7, y + 3, color.new(255, 255, 255, 255), "ID")
render.draw_text(font, x + 26, y + 3, color.new(255, 255, 255, 255), "PLAYER")
render.draw_text(font, x + 70, y + 3, color.new(255, 255, 255, 255), "DMG")
render.draw_text(font, x + 180, y + 3, color.new(255, 255, 255, 255), "FIRED_ON")
render.draw_text(font, x + 100, y + 3, color.new(255, 255, 255, 255), "DMG(c)")
render.draw_text(font, x + 140, y + 3, color.new(255, 255, 255, 255), "HITBOX")
render.draw_text(font, x + 235, y + 3, color.new(255, 255, 255, 255), "BACKTRACK")
render.draw_text(font, x + 300, y + 3, color.new(255, 255, 255, 255), "REASON")
for i = 1, menu.get_int("Height"), 1 do
d = draw_table(d, x, y, aim_table[i])
end
end
end
client.add_callback("on_shot", shot)
client.add_callback("on_paint", paint)
Последнее редактирование модератором: