> ## 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 JobAds

> Branded faction announcements with per-job styling.

A server-wide job announcement system. On-duty members of permitted jobs run `/jobad <message>` to broadcast a styled notification to everyone. Each job gets its own title, image, and border color — so Mechanic ads look different from Police ads look different from LifeInvader ads.

## Features

* `/jobad <message>` command — branded broadcast to every player
* Per-job styling — custom title, image URL, border color
* Configurable cooldown (default 5 min per job)
* Exempt jobs list — event / police / EMS bypass cooldown
* Auto-signed messages — specific jobs append "- Regards, PlayerName"
* Zweitjob support — broadcast as secondary faction
* DB + static fallback — configure in DB or inline `Config.StaticJobAds`

## Requirements

<Card title="Required" icon="circle-check">
  `es_extended`, `ox_lib`, `oxmysql`
</Card>

## Configuration

Configure ads via DB:

```sql theme={null}
INSERT INTO apex_job_ads (job_id, title, image_url, border_color)
VALUES ('mechanic', 'AutoWerk', 'https://.../mechanic.png', '#f97316');
```

Or inline via `Config.StaticJobAds`:

```lua config.lua theme={null}
Config.StaticJobAds = {
    ['mechanic'] = {
        title        = 'AutoWerk',
        image_url    = 'https://.../mechanic.png',
        border_color = '#f97316',
    },
}
```

Cooldown, command name, exempt jobs, auto-signed jobs, and the official/event split are all configurable.

## Hooks

See [Hooks reference / JobAds](/hooks/apex-jobads). Key hook: `Hooks.ShowAnnouncement(title, message, type, jobId, imageUrl, borderColor)` — wire to your announcement NUI.

Exports: `getJobadConfig`, `sendJobAd`, `refreshCache`.

## Resource info

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