Skip to content

Installation

Ten minutes: two folders, one SQL file, eight items.


You needWhy
ESX, QBCore or QBox, runningPayment, items and usable items. Detected on its own
oxmysql, runningThe leaderboards
ox_target or qb-target (optional)Only if you want target interaction

Your download has two resources. Drop both into your resources, for example inside resources/[mic]/:

FolderWhat it is
mic_arcadeThe script and the games
mic_arcade_propsThe seven cabinet models and the renderer that puts the game on their screens

In server.cfg, below oxmysql and your framework, start mic_arcade_props and then mic_arcade, each on its own ensure line.

It worked when you join and the fixed machines are standing at the coordinates listed in config.lua — out of the box that is a row of four: Pixel, Race, Tower and Road.


Import install.sql (in the root of mic_arcade) once. It creates one table, mic_arcade_leaderboard, which holds each character’s best score per game.

The script does not create this table itself. Without it, games still play but scores are not saved and the leaderboard stays empty.

It worked when your database has a mic_arcade_leaderboard table.


ItemWhat it does
arcade_coinThe currency for a game when Config.PaymentType = 'item' (the default)
arcade_alienPlaces an Alien cabinet
arcade_brickPlaces a Breakout cabinet
arcade_duofightPlaces a DuoFight cabinet
arcade_pixelPlaces a Pixel cabinet
arcade_racePlaces a Race cabinet
arcade_roadPlaces a Road cabinet
arcade_towerPlaces a Tower cabinet

The script never hands out coins or cabinets by itself. Sell them in a shop, give them from a job, or give them with your admin menu.

The ready-made definitions ship in mic_arcade/items/, and the icons in mic_arcade/items/images/:

InventoryDefinitions (mic_arcade/items/)Where they goIcons
ox_inventoryox.luaox_inventory/data/items.luaCopy items/images/*.png to ox_inventory/web/images/
QBCore / qb-inventoryqbcore.luaqb-core/shared/items.luaCopy them to qb-inventory/html/images/
ESX default inventoryesx_items.sqlImport it once on your database—

The entries in the two .lua files are commented out — remove the leading -- when you paste them.

It worked when you give yourself one of each and all eight show in your inventory with their icon.


The framework needs nothing: ESX, QBCore or QBox is found on start. QBox is picked up through its QBCore compatibility — qbx_core provides qb-core — so there is nothing to set.

Interaction is Config.Interaction in config.lua. It ships as ox-target — with a dash in this script. Set it to qb-target if that is what you run, or to drawtext for a plain Press E prompt.


  1. Give yourself at least 100 arcade_coin — every cabinet but DuoFight costs 100 out of the box.
  2. Walk to one of the fixed machines and choose Play Arcade (or press E with drawtext).
  3. Start a game from the machine’s menu. The machine’s Price is taken in coins.
  4. Press ESC to step away from the machine.

It worked when the camera moves in to the screen, the game plays, and your coins went down by the price.

Then try placing one: use arcade_race, move the preview with your view, rotate with the scroll wheel, and press E (ESC or Backspace cancels). Look at it again and you get a Pick Up Arcade option only you can see.


  • Decide the currency. Config.PaymentType ships as item with arcade_coin. If you keep it, make sure players can actually get coins somewhere.
  • Set the prices per cabinet in Config.Arcades.
  • Place the fixed machines where you want them, or comment them out and let players place their own.
  • Tell players placed machines are temporary. A placed cabinet stays until the resource or the server restarts; picking it up first gives the item back. See Troubleshooting.