# listener

Global signal system for multi-purpose callbacks.


# Events

Signal
../../libraries/signal/#library-functions

# should_aimbot_target(entIndex: number): boolean

should_aimbot_target(entIndex: number): boolean
  • Determines if the player should be targeted by the aimbot or not
  • Also applies to legit bot
secret.listener.add("should_aimbot_target", "notarget", function(index)
    return true -- blocks
end)

# should_draw_player(entIndex: number): boolean

should_draw_player(entIndex: number): boolean
  • Determines if the player should be drawn in the esp or not
secret.listener.add("should_draw_player", "nodraw", function(index)
    return true -- blocks
end)

# should_draw_entity(entIndex: number): boolean

should_draw_entity(entIndex: number): boolean
  • Determines if an entity should be drawn in the esp or not
secret.listener.add("should_draw_entity", "nodraw", function(index)
    return true -- blocks
end)

# think()

think()
  • Called every frame.
secret.listener.add("think", "spam_console", function()
    print("spammmm!")
end)

# paint_traverse()

paint_traverse()
  • Mostly used for custom drawing.
  • This is a 2D render context.
secret.listener.add("paint_traverse", "draw_box", function()
    surface.SetDrawColor(255,255,255,255)
    surface.DrawRect(25, 25, 100, 100)
end)

# view_render_post()

view_render_post()
  • Occurs after ViewRender has been ran, usually used for screengrab proof esp.
  • This is a 3D render context.
secret.listener.add("view_render_post", "draw_2d_box", function()
    cam.Start2D()
    surface.SetDrawColor(255,255,255,255)
    surface.DrawRect(25, 25, 100, 100)
    cam.End2D()
end)

# server_connect(ip: string, port: number, hostname: string)

server_connect(ip: string, port: number, hostname: string)
  • Called when connecting to a server.

# server_disconnect(reason: string)

server_disconnect(reason: string)
  • Called when disconnected/kicked/banned from a server.

# presend(CUserCmd: table)

presend(CUserCmd: table)
  • Called right before movement packets are sent.
  • Provides additional functions not found in the default GMod class, allowing extended control over the usercmd.
secret.listener.add("presend", "viewangles", function(cmd)
    cmd.angles = Angle(50, 50, 0)
end)

# CUserCmd

get/set - cmd.buttons: number
get/set - cmd.command: number
get/set - cmd.tick: number
get/set - cmd.angles: Angle
get/set - cmd.forward: number
get/set - cmd.side: number
get/set - cmd.up number
get/set - cmd.impulse: number
get/set - cmd.seed: number
get - cmd.hash: number
get/set - cmd.mousex: number
get/set - cmd.mousey: number
get - cmd.prediction: bool

# wndproc(vk_key: number): boolean

wndproc(vk_key: number): boolean
  • Called whenever a Windows virtual key event is received.
  • If true is returned, the input will be blocked from reaching the game.
secret.listener.add("wndproc", "block_space", function(vk)
    if vk == 0x20 then -- space key
        return true -- block input
    end
end)