Back to Docs
Documentation

Multy Applications Setup

Complete guide for setting up Multy Applications on your FiveM server

Prerequisites

  • FiveM Server (build 2802+)
  • QBCore or QBox Framework
  • oxmysql
  • MySQL database

Framework Configuration

The script automatically detects your framework (QBCore or QBox). You can also manually specify it in config.lua:

Config.Framework = 'auto' -- Options: 'auto', 'qb-core' or 'qbox'

⚠️ Note: The script will automatically detect which framework you're using. Set to 'auto' for automatic detection (recommended), or manually specify 'qb-core' or 'qbox' if needed.

Installation

Step 1: Install the Resource

  1. Extract multy-applications to your resources directory
  2. Folder structure: resources/multy-applications/

Step 2: Database Setup

Tables are created automatically on first start - no manual SQL import needed.

Step 3: Configure Jobs

Edit config.lua and add your server's jobs:

Config.Jobs = {
    ['police'] = {
        label = 'Police Department',
        bossgrades = {4, 5}, -- Grades that can manage applications
        hiring = true -- Currently accepting applications
    },
    ['mechanic'] = {
        label = 'Mechanic Shop',
        bossgrades = {4},
        hiring = true
    },
    -- Add more jobs as needed
}

Step 4: Configure Discord Webhooks

Edit server/webhooks.lua to add your Discord webhook URLs:

-- Server Logging Webhooks
local WEBHOOK_URLS = {
    applications = "YOUR_WEBHOOK_URL_HERE", -- For new applications
    reviews = "YOUR_WEBHOOK_URL_HERE",      -- For approved/denied
    settings = "YOUR_WEBHOOK_URL_HERE"      -- For settings changes
}

-- Manager Notification Webhooks (per job)
local MANAGER_WEBHOOKS = {
    ['police'] = {
        url = "YOUR_WEBHOOK_URL_HERE",
        roleId = "DISCORD_ROLE_ID" -- Optional: ping this role
    },
    ['mechanic'] = {
        url = "YOUR_WEBHOOK_URL_HERE"
    }
}

Step 5: Configure NPC Location

In config.lua, set where players apply:

Config.NPC = {
    enabled = true,
    model = 'ig_paper',
    coords = vector4(47.9939, -870.9911, 30.4665, 64.4816),
    blip = {
        enabled = false,
        sprite = 280,
        color = 3,
        scale = 0.8,
        label = "Job Applications"
    },
    target = {
        system = 'auto', -- 'auto', 'qb-target', 'ox_target', 'drawtext'
        label = "Apply for Jobs",
        icon = "fas fa-briefcase",
        distance = 2.0
    }
}

Step 6: Add to server.cfg

Add to your server.cfg:

ensure oxmysql
ensure multy-applications

Configuration

Basic Settings

Config.Locale = 'en' -- Language (en, es, fr, de, it, nl)

Config.Commands = {
    apply = 'apply' -- Command to open menu
}

Config.Notifications = {
    enabled = true,  -- Manager notifications for new applications
    sound = true,
    duration = 5000
}

Rate Limits

  • 3 applications per hour per player
  • 30 webhook requests per minute

Discord Webhook Settings

Config.Webhooks = {
    enabled = true,
    botName = "QB Applications",
    botAvatar = "https://cdn3.emoji.gg/emojis/4631_blobclipboard.png",
    color = {
        new_application = 3447003,  -- Blue
        approved = 65280,           -- Green
        denied = 16711680,          -- Red
        settings_changed = 16776960 -- Yellow
    }
}

Usage

Players

  • Interact with NPC or use /apply
  • Select job and fill application
  • Check status anytime

Managers

  • Access panel via NPC or /apply (requires boss grade)
  • Review and approve/deny applications
  • Manage custom questions
  • Toggle hiring on/off

Features

  • Multi-Framework Support: Works with QBCore and QBox with automatic detection
  • Custom Questions: Add job-specific questions
  • Discord Integration: Webhook notifications for applications
  • Rate Limiting: Prevents spam
  • Multi-Language: Supports 6 languages (English, Spanish, French, German, Italian, Dutch)
  • Auto Database Setup: No manual SQL needed
  • Framework Auto-Detection: Automatically detects QBCore or QBox

Troubleshooting

Common Issues:

  • Applications not saving: Check oxmysql connection
  • Webhooks failing: Verify Discord URL format
  • NPC missing: Check coordinates and model name
  • Manager access denied: Verify job grade in config

Debug Mode:

Config.Debug = true -- Add to config.lua

Security

  • Server-side webhook storage
  • Input sanitization
  • Rate limiting protection
  • Permission-based access control