> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apex-services.site/llms.txt
> Use this file to discover all available pages before exploring further.

# APEX LifeInvader

> In-game ad board with per-character billing and phone callbacks.

An in-game LifeInvader ad board. Players interact with a LifeInvader NPC terminal, compose an ad, pay per character to the bank, and the ad gets broadcast server-wide with an optional phone number for direct callback. Hook a phone resource of your choice (lb-phone integration shipped).

## Features

* Server-wide ad broadcast with anonymous or phone-number-attached posts
* Per-character billing to bank (configurable price-per-char)
* Click-to-call — receivers call the advertiser's phone number directly
* Configurable blacklist — optional auto-kick on match
* Persistent JSON storage with auto-cleanup after TTL (default 2 days)
* 2 NPC terminal locations + blip + optional marker
* `lib.points`-based — zero resmon when no one is near

## Requirements

<CardGroup cols={2}>
  <Card title="Required" icon="circle-check">
    `es_extended`, `ox_lib`
  </Card>

  <Card title="Optional" icon="puzzle-piece">
    `lb-phone` — default phone integration (hookable to any phone)
  </Card>
</CardGroup>

## Configuration

```lua config.lua theme={null}
Config.Price            = 100        -- $ per character
Config.NPC.enabled      = true
Config.MaxPosts         = 20
Config.CooldownMs       = 10000
Config.AutoResetSeconds = 172800     -- 2 days
Config.KickByBlacklist  = false
Config.CallCooldownMs   = 5000
```

Blacklist, NPC hash, blip style, and cooldowns are all configurable.

## Hooks

See [Hooks reference / LifeInvader](/hooks/apex-lifeinvader). Key hooks: `Hooks.GetPlayerPhoneNumber`, `Hooks.FormatPhoneNumber`, `Hooks.CreateCall`.

## Resource info

<Note>
  Code accessible: `config.lua`, `hooks.lua`, `locales/*`, `html/*`. Approximately 900 lines of Lua + NUI. English + German.
</Note>
