Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local globals_realtime = globals.realtime
- local globals_curltime = globals.curltime
- local globals_frametime = globals.frametime
- local globals_absolute_frametime = globals.absoluteframetime
- local globals_maxplayers = globals.maxplayers
- local globals_tickcount = globals.tickcount
- local globals_tickinterval = globals.tickinterval
- local globals_mapname = globals.mapname
- local client_set_event_callback = client.set_event_callback
- local client_console_log = client.log
- local client_console_cmd = client.exec
- local client_userid_to_entindex = client.userid_to_entindex
- local client_get_cvar = client.get_cvar
- local client_draw_debug_text = client.draw_debug_text
- local client_draw_hitboxes = client.draw_hitboxes
- local client_draw_indicator = client.draw_indicator
- local client_random_int = client.random_int
- local client_random_float = client.random_float
- local client_draw_text = client.draw_text
- local client_draw_rectangle = client.draw_rectangle
- local client_draw_line = client.draw_line
- local client_draw_gradient = client.draw_gradient
- local client_draw_cricle = client.draw_circle
- local client_draw_circle_outline = client.draW_circle_outline
- local client_world_to_screen = client.world_to_screen
- local client_screen_size = client.screen_size
- local client_visible = client.visible
- local client_delay_call = client.delay_call
- local client_latency = client.latency
- local client_camera_angles = client.camera_angles
- local client_trace_line = client.trace_line
- local client_eye_position = client.eye_posistion
- local entity_get_local_player = entity.get_local_player
- local entity_get_all = entity.get_all
- local entity_get_players = entity.get_players
- local entity_get_classname = entity.get_classname
- local entity_set_prop = entity.set_prop
- local entity_get_prop = entity.get_prop
- local entity_is_enemy = entity.is_enemy
- local entity_get_player_name = entity.get_player_name
- local entity_get_player_weapon = entity.get_player_weapon
- local entity_hitbox_position = entity.hitbox_position
- local entity_get_steam64 = entity.get_steam64
- local ui_new_checkbox = ui.new_checkbox
- local ui_new_slider = ui.new_slider
- local ui_new_combobox = ui.new_combobox
- local ui_new_multiselect = ui.new_multiselect
- local ui_new_hotkey = ui.new_hotkey
- local ui_new_button = ui.new_button
- local ui_new_color_picker = ui.new_color_picker
- local ui_reference = ui.reference
- local ui_set = ui.set
- local ui_get = ui.get
- local ui_set_callback = ui.set_callback
- local ui_set_visible = ui.set_visible
- local ui_is_menu_open = ui.is_menu_open
- local math_floor = math.floor
- local math_random = math.random
- local meth_sqrt = math.sqrt
- local table_insert = table.insert
- local table_remove = table.remove
- local table_size = table.getn
- local table_sort = table.sort
- local string_format = string.format
- local bit_band = bit.band
- --[[
- Author: NmChris
- Version: 1.0
- Functionality: Draws hit markers
- Change log:
- Recoded to fix issues.
- ]]--
- -- Menu
- local menu = {
- hitmarker = ui_new_checkbox("VISUALS", "Effects", "Hit marker"),
- hitmarker_color = ui_new_color_picker("VISUALS", "Effects", "Hit marker color", 255, 255, 255, 255),
- hitmarker_size = ui_new_slider("VISUALS", "Effects", "Size", 1, 10, 4, true),
- hitmarker_duration = ui_new_slider("VISUALS", "Effects", "Duration", 0, 10, 2, true),
- }
- -- Queue
- local damageQueue = {}
- -- Menu handling
- local function handle_menu()
- local state = ui_get(menu.hitmarker)
- ui_set_visible(menu.hitmarker_color, state)
- ui_set_visible(menu.hitmarker_size, state)
- ui_set_visible(menu.hitmarker_duration, state)
- end
- handle_menu()
- ui_set_callback(menu.hitmarker, handle_menu)
- -- Variable
- local bIsPlayerDamaged = false
- -- Utility functions
- local function setLocation(x, y, z)
- if bIsPlayerDamaged == true then
- damageQueue[#damageQueue + 1] = {x, y, z, globals_realtime() + ui_get(menu.hitmarker_duration), true}
- bIsPlayerDamaged = false
- end
- end
- -- Game events
- client_set_event_callback("player_hurt", function(e)
- if ui_get(menu.hitmarker) == false then
- return
- end
- if client_userid_to_entindex(e.attacker) == entity_get_local_player() then
- bIsPlayerDamaged = true
- end
- end)
- client_set_event_callback("bullet_impact", function(e)
- if ui_get(menu.hitmarker) == false then
- return
- end
- if client_userid_to_entindex(e.userid) == entity_get_local_player() then
- client_delay_call(0.01, setLocation, e.x, e.y, e.z)
- end
- end)
- client_set_event_callback("round_prestart", function(e)
- damageQueue = {}
- end)
- client_set_event_callback("paint", function(ctx)
- if ui_get(menu.hitmarker) == false then
- return
- end
- local r, g, b, a = ui_get(menu.hitmarker_color)
- local size = ui_get(menu.hitmarker_size)
- for i = 1, #damageQueue do
- if damageQueue[i][5] == true then
- if globals_realtime() >= damageQueue[i][4] then
- damageQueue[i][5] = false
- end
- local x, y = client_world_to_screen(ctx, damageQueue[i][1], damageQueue[i][2], damageQueue[i][3])
- if x ~= nil and y ~= nil then
- client_draw_line(ctx, x + size, y + size, x + (size * 2), y + (size * 2), r, g, b, a)
- client_draw_line(ctx, x - size, y + size, x - (size * 2), y + (size * 2), r, g, b, a)
- client_draw_line(ctx, x + size, y - size, x + (size * 2), y - (size * 2), r, g, b, a)
- client_draw_line(ctx, x - size, y - size, x - (size * 2), y - (size * 2), r, g, b, a)
- end
- end
- end
- end)local globals_realtime = globals.realtime
- local globals_curtime = globals.curtime
- local globals_frametime = globals.frametime
- local globals_absolute_frametime = globals.absoluteframetime
- local globals_maxplayers = globals.maxplayers
- local globals_tickcount = globals.tickcount
- local globals_tickinterval = globals.tickinterval
- local globals_mapname = globals.mapname
- local client_set_event_callback = client.set_event_callback
- local client_console_log = client.log
- local client_console_cmd = client.exec
- local client_userid_to_entindex = client.userid_to_entindex
- local client_get_cvar = client.get_cvar
- local client_set_cvar = client.set_cvar
- local client_draw_debug_text = client.draw_debug_text
- local client_draw_hitboxes = client.draw_hitboxes
- local client_draw_indicator = client.draw_indicator
- local client_random_int = client.random_int
- local client_random_float = client.random_float
- local client_draw_text = client.draw_text
- local client_draw_rectangle = client.draw_rectangle
- local client_draw_line = client.draw_line
- local client_draw_gradient = client.draw_gradient
- local client_draw_cricle = client.draw_circle
- local client_draw_circle_outline = client.draW_circle_outline
- local client_world_to_screen = client.world_to_screen
- local client_screen_size = client.screen_size
- local client_visible = client.visible
- local client_delay_call = client.delay_call
- local client_latency = client.latency
- local client_camera_angles = client.camera_angles
- local client_trace_line = client.trace_line
- local client_eye_position = client.eye_position
- local entity_get_local_player = entity.get_local_player
- local entity_get_all = entity.get_all
- local entity_get_players = entity.get_players
- local entity_get_classname = entity.get_classname
- local entity_set_prop = entity.set_prop
- local entity_get_prop = entity.get_prop
- local entity_is_enemy = entity.is_enemy
- local entity_get_player_name = entity.get_player_name
- local entity_get_player_weapon = entity.get_player_weapon
- local entity_hitbox_position = entity.hitbox_position
- local entity_get_steam64 = entity.get_steam64
- local entity_get_bounding_box = entity.get_bounding_box
- local entity_is_alive = entity.is_alive
- local ui_new_checkbox = ui.new_checkbox
- local ui_new_slider = ui.new_slider
- local ui_new_combobox = ui.new_combobox
- local ui_new_multiselect = ui.new_multiselect
- local ui_new_hotkey = ui.new_hotkey
- local ui_new_button = ui.new_button
- local ui_new_color_picker = ui.new_color_picker
- local ui_reference = ui.reference
- local ui_set = ui.set
- local ui_get = ui.get
- local ui_set_callback = ui.set_callback
- local ui_set_visible = ui.set_visible
- local ui_is_menu_open = ui.is_menu_open
- local math_floor = math.floor
- local math_random = math.random
- local meth_sqrt = math.sqrt
- local table_insert = table.insert
- local table_remove = table.remove
- local table_size = table.getn
- local table_sort = table.sort
- local string_format = string.format
- local bit_band = bit.band
- local inspect = require 'inspect'
- local menu = {
- movement = ui_new_checkbox("MISC", "Miscellaneous", "Show movement keys"),
- logging = ui_new_checkbox("MISC", "Miscellaneous", "Aimbot logging"),
- killsay = ui_new_checkbox("MISC", "Miscellaneous", "Kill say")
- }
- local killMessages = {
- "You should consider turning on your resolver",
- "You want some of mommies milk?",
- "You want some of daddies whipping cream?",
- }
- local deathMessages = {
- "Next time I won't hold E",
- "Esoterik always wins",
- "You're lucky I decided to rage death",
- }
- client_set_event_callback("player_death", function(e)
- if not ui_get(menu.killsay) then
- return
- end
- if client_userid_to_entindex(e.attacker) == entity_get_local_player() and entity_is_enemy(client_userid_to_entindex(e.userid)) then
- client_console_cmd("say ", killMessages[client_random_int(1, #killMessages)])
- elseif client_userid_to_entindex(e.userid) == entity_get_local_player() then
- client_console_cmd("say ", deathMessages[client_random_int(1, #deathMessages)])
- end
- end)
- client_set_event_callback("aim_fire", function(e)
- if not ui_get(menu.logging) then
- return
- end
- --[[[gamesense] {
- backtrack = 0,
- damage = 99,
- high_priority = false,
- hit_chance = 79.069770812988,
- hitgroup = 1,
- id = 8,
- target = 11,
- teleported = false,
- tick = 177155,
- x = -253,
- y = -1146,
- z = 65
- }]]--
- client_console_log("Player: ", entity_get_player_name(e.target), ", Hitgroup: ", e.hitgroup, ", Damage: ", e.damage, ", Backtracked ticks: ", e.backtrack, ", Hit chance: ", math_floor(e.hit_chance), ", Breaking lag comp: ", e.teleported, ", High priority: ", e.high_priority)
- end)
- local buttons = {
- ["IN_JUMP"] = 2,
- ["IN_DUCK"] = 4,
- ["IN_FORWARD"] = 8,
- ["IN_BACK"] = 16,
- ["IN_MOVELEFT"] = 512,
- ["IN_MOVERIGHT"] = 1024,
- ["IN_WALK"] = 131072,
- }
- local function bIsActive(button)
- local flags = entity_get_prop(entity_get_local_player(), "m_nButtons")
- if bit_band(flags, buttons[button]) == buttons[button] then
- return true
- else
- return false
- end
- end
- local function draw_buttons(ctx, x, y)
- local padding = 12
- local size = 64 + 12
- local r, g, b, a = 0, 0, 0, 255
- -- Duck
- client_draw_rectangle(ctx, x, y, size, size, 0, 0, 0, 255)
- if bIsActive("IN_DUCK") then
- r = 0
- g = 255
- else
- r = 255
- g = 0
- end
- client_draw_text(ctx, x + (size / 2), y + (size / 2), r, g, b, a, "c+", 0, "Ctrl")
- -- Forward
- client_draw_rectangle(ctx, x + size + padding, y, size, size, 0, 0, 0, 255)
- if bIsActive("IN_FORWARD") then
- r = 0
- g = 255
- else
- r = 255
- g = 0
- end
- client_draw_text(ctx, x + size + padding + (size / 2), y + (size / 2), r, g, b, a, "c+", 0, "W")
- -- Walk
- client_draw_rectangle(ctx, x + size * 2 + padding * 2, y, size, size, 0, 0, 0, 255)
- if bIsActive("IN_WALK") then
- r = 0
- g = 255
- else
- r = 255
- g = 0
- end
- client_draw_text(ctx, x + size * 2 + padding * 2 + (size / 2), y + (size / 2), r, g, b, a, "c+", 0, "Shift")
- -- Left
- client_draw_rectangle(ctx, x, y + size + padding, size, size, 0, 0, 0, 255)
- if bIsActive("IN_MOVELEFT") then
- r = 0
- g = 255
- else
- r = 255
- g = 0
- end
- client_draw_text(ctx, x + (size / 2), y + size + padding + (size / 2), r, g, b, a, "c+", 0, "A")
- -- Back
- client_draw_rectangle(ctx, x + size + padding, y + size + padding, size, size, 0, 0, 0, 255)
- if bIsActive("IN_BACK") then
- r = 0
- g = 255
- else
- r = 255
- g = 0
- end
- client_draw_text(ctx, x + size + padding + (size / 2), y + size + padding + (size / 2), r, g, b, a, "c+", 0, "S")
- -- Right
- client_draw_rectangle(ctx, x + size * 2 + padding * 2, y + size + padding, size, size, 0, 0, 0, 255)
- if bIsActive("IN_MOVERIGHT") then
- r = 0
- g = 255
- else
- r = 255
- g = 0
- end
- client_draw_text(ctx, x + size * 2 + padding * 2 + (size / 2), y + size + padding + (size / 2), r, g, b, a, "c+", 0, "D")
- -- Jump
- client_draw_rectangle(ctx, x, y + size * 2 + padding * 2, size * 3 + padding * 2, size, 0, 0, 0, 255)
- if bIsActive("IN_JUMP") then
- r = 0
- g = 255
- else
- r = 255
- g = 0
- end
- client_draw_text(ctx, x + (size * 3 / 2), y + size * 2 + padding * 2 + (size / 2), r, g, b, a, "c+", 0, "Space")
- end
- client_set_event_callback("paint", function(ctx)
- if not ui_get(menu.movement) then
- return
- end
- draw_buttons(ctx, 10, 450)
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement