Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

esx_fastfood

A universal fastfood / coffeeshop job resource for FiveM ESX Legacy (v1.13+) + oxmysql.
One script handles every fastfood or coffeeshop job on your server — add a new job by filling in a config block and restarting. No SQL needed.


Features

  • Multi-job — unlimited jobs (McDonalds, Mikel Coffee, Starbucks, etc.) from a single resource
  • Auto-provisioning — DB rows (job, grades, society account, inventory, datastore, items) created automatically on resource start
  • Uniform system — per-job male/female clothing sets via skinchanger
  • Society vault — buy ingredients using society account balance
  • Fridge inventory — shared fridge storage separate from the main stock
  • Crafting — config-driven recipes: ingredients → product, with cook time and output count
  • Vehicle garage — society-owned garage or free-spawn mode
  • Boss menu — full ESX Society boss panel (hire/fire/grades/balance/money wash)
  • Billing — charge nearby players and redirect funds
  • Weapon vault — deposit/withdraw weapons into the society datastore
  • Map blips — public blips for every active job, plus internal zone blips for workers

Requirements

Dependency Notes
es_extended ESX Legacy v1.13+
oxmysql Replaces mysql-async
esx_society Society accounts & boss menu
esx_addonaccount Society wallet
esx_addoninventory Stock & fridge
esx_datastore Weapon vault
skinchanger Uniform support
esx_billing Billing players

Installation

  1. Drop esx_fastfood into your resources folder (or any category folder).
  2. Add to server.cfg:
    ensure esx_fastfood
    
  3. Configure your jobs in config.lua (see below).
  4. Start / restart the resource — all DB rows are created automatically.

No manual SQL execution required.


Adding a Job

Open config.lua and add an entry inside Config.Jobs:

['mcdonalds'] = {
    Label   = 'McDonalds',
    Society = 'society_mcdonalds',
    Fridge  = 'society_mcdonalds_fridge',

    Blip = {
        Pos     = { x = 0.0, y = 0.0, z = 0.0 }, -- map coords
        Sprite  = 52,
        Display = 4,
        Scale   = 0.9,
        Colour  = 5,
        Name    = 'McDonalds',
    },

    Grades = {
        { grade = 0, name = 'recruit',  label = 'Trainee',     salary = 550 },
        { grade = 1, name = 'staff',    label = 'Staff',       salary = 600 },
        { grade = 2, name = 'chef',     label = 'Chef',        salary = 650 },
        { grade = 3, name = 'viceboss', label = 'Assistant',   salary = 700 },
        { grade = 4, name = 'boss',     label = 'Manager',     salary = 750 },
    },

    AuthorizedVehicles = {
        { name = 'burrito', label = 'Delivery Van' },
    },

    Zones = {
        Cloakrooms  = { Pos={x=0,y=0,z=0}, Size={x=1.5,y=1.5,z=1.0}, Color={r=255,g=0,b=0},    Type=27 },
        Vaults      = { Pos={x=0,y=0,z=0}, Size={x=1.3,y=1.3,z=1.0}, Color={r=30,g=144,b=255},  Type=27 },
        Fridge      = { Pos={x=0,y=0,z=0}, Size={x=1.6,y=1.6,z=1.0}, Color={r=255,g=0,b=0},     Type=27 },
        Cook        = { Pos={x=0,y=0,z=0}, Size={x=1.6,y=1.6,z=1.0}, Color={r=0,g=200,b=220},   Type=27 },
        Vehicles    = { Pos={x=0,y=0,z=0}, SpawnPoint={x=0,y=0,z=0}, Size={x=1.8,y=1.8,z=1.0}, Color={r=255,g=255,b=0}, Type=27, Heading=0.0 },
        BossActions = { Pos={x=0,y=0,z=0}, Size={x=1.5,y=1.5,z=1.0}, Color={r=0,g=100,b=0},     Type=1  },
    },

    ShopItems = {
        { name = 'bread',   label = 'Bread',   price = 2 },
        { name = 'meat',    label = 'Meat',    price = 4 },
        { name = 'lettuce', label = 'Lettuce', price = 2 },
    },

    CraftingRecipes = {
        {
            result      = 'burger',
            label       = 'Burger',
            time        = 15000,  -- milliseconds
            produces    = 1,
            ingredients = {
                { item = 'bread',   count = 1 },
                { item = 'meat',    count = 1 },
                { item = 'lettuce', count = 1 },
            },
        },
    },

    Uniforms = {
        barman_outfit = {
            male   = { ['tshirt_1']=0, ['torso_1']=0, ['pants_1']=0, ['shoes_1']=0 }, -- fill with real component IDs
            female = { ['tshirt_1']=0, ['torso_1']=0, ['pants_1']=0, ['shoes_1']=0 },
        },
    },
},

Then restart esx_fastfood. Done.


Global Config Options

Option Default Description
Config.DrawDistance 100.0 Distance at which markers are drawn
Config.EnableSocietyOwnedVehicles true Use esx_society garage (true) or free-spawn (false)
Config.EnableHelicopters false Enable helicopter zone support
Config.EnableMoneyWash false Show money wash option in boss menu
Config.MaxInService 10 Max workers who can take a vehicle simultaneously (-1 = unlimited)
Config.MissCraft 0 % chance a crafting attempt fails (0 = always succeeds)

Zone Reference

Zone key Trigger Action
Cloakrooms E Open uniform locker
Vaults E Buy ingredients (charged to society account)
Fridge E Transfer items to/from the fridge inventory
Cook E Craft recipes defined in CraftingRecipes
Vehicles E Spawn / store work vehicles
BossActions E Open ESX Society boss menu (boss grade only)

F6 — Opens the billing menu from anywhere on the map.


How Auto-Provisioning Works

On every resource start the server checks each job in Config.Jobs against the database:

  • Job missing → inserts jobs, job_grades, addon_account, addon_inventory (×2), datastore
  • Every startINSERT IGNORE for all ShopItems and crafting result items into the items table

All queries use INSERT IGNORE so re-running is always safe.


File Structure

esx_fastfood/
├── fxmanifest.lua
├── config.lua
├── locales/
│   └── en.lua
├── client/
│   └── main.lua
└── server/
    └── main.lua

Contributors

Username Role
real69xaros real69xaros Author
WizardXSC WizardXSC Contributor

License

MIT — free to use, modify, and distribute.

About

Universal fastfood & coffeeshop job resource for FiveM ESX Legacy + oxmysql. Multi-job, zero SQL setup, auto-provisioned DB.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages