> For the complete documentation index, see [llms.txt](https://lua.legacy.fatality.win/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lua.legacy.fatality.win/fatality/callback.md).

# Callbacks

## Functions

### add

Adds a function to a callback

`callbacks:add( name, function )`

| Parameter | Data type |          Description          |
| :-------: | :-------: | :---------------------------: |
|    name   |   string  |        name of callback       |
|  function |  function | function for callback to call |

## Callbacks

### paint

called every frame.

used for rendering. See [fatality.render](/fatality/render.md)

### events

called when a csgo game event is fired. See[ events examples](/csgo/interfaces/events.md#example)

### registered\_shot

called when a shot is registered on the server. See [fatality.shot\_t](/fatality/datatypes/shot.md)

## Examples

```lua
local Callbacks  = fatality.callbacks
local Render     = fatality.render
local EntityList = csgo.interface_handler:get_entity_list( )

-- Function to call on paint
local function OnPaint()
    -- Call fatality.render:rect
    Render:rect( 10, 10, 20, 20, csgo.color(255, 255, 255, 255) )    
end

-- Function to call on registered_shot with parameter
local function OnRegisteredShot(Shot)
    -- Get player from Shot.victim value
    local Player = EntityList:get_player( Shot.victim )
    -- Check if the player is valid
    if Player then
    -- Print that we hit them
        print( string.format( "Hit %s", Player:get_name( ) )
    end
end

-- Add the callbacks
Callbacks:add( "paint", OnPaint )
Callbacks:add( "registered_shot", OnRegisteredShot )
```
