> ## Documentation Index
> Fetch the complete documentation index at: https://luau.limerence.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Signals

> Ragebot notifications: shots and target changes.

Call `:Connect(callback)`. Connections clean up automatically on script unload.

| Signal            | Your callback receives                                                                     |
| ----------------- | ------------------------------------------------------------------------------------------ |
| `onShotFired`     | `(event)`: every time ragebot fires a shot                                                 |
| `onTargetChanged` | `(event)`: fired when a shot targets a different player or body part than the previous one |

Payload types: [RagebotShotEvent](/reference/types#ragebotshotevent), [RagebotTargetEvent](/reference/types#ragebottargetevent).

Works in Bloxstrike, Rivals, and Apocalypse Rising 2. In Rivals and AR2 the `damage` field on the shot event is always `0` (no damage model).

## Examples

```luau theme={null}
-- Log the last 5 ragebot hits
local log = {}
api.ragebot.onShotFired:Connect(function(event)
    table.insert(log, 1, {
        name = event.player and event.player.Name,
        dmg = event.damage,
        wall = event.wallbang,
    })
    log[6] = nil
end)
```

```luau theme={null}
-- Skip covered players in your HUD
api.players.onHealthChanged:Connect(function(player)
    if api.ragebot.isPlayerCovered(player) then
        -- already has enough pending damage
    end
end)
```
