


Was this page helpful?
| Dependency | Notes |
|---|---|
| ox_lib | Required — notifications, menus, progress bars |
| ox_inventory | Recommended — stash system and weight management |
| ESX / QBCore / OX Core | One framework required (auto-detected) |
| OneSync | Required for routing buckets |
Download mbt_ktf from the MBT Store.
Place it keeping the exact resource name:
resources/
└── [mbt]/
└── mbt_ktf/
├── client/
├── server/
├── html/
├── config.lua
└── fxmanifest.luaOpen config.lua and update MBT.Locations to match coordinates on your map:
MBT.Locations = {
["PreGameLocation"] = vector3(-1052.37, 4911.14, 210.35), -- NPC + lobby area
["GameArea"] = vector3(-1114.75, 4923.61, 202.05), -- arena center
["StashLocation"] = vector3(-1058.85, 4915.94, 212.0), -- deposit/withdraw
["FirstFlag"] = vector3
The script auto-detects ESX, QBCore and OX Core. No extra flag is needed — just make sure the framework resource is running before mbt_ktf.
If you use ox_inventory, set MBT.EnableStashes = true (it is already true by default). If you do not use ox_inventory, set it to false so the stash UI is not shown.
Edit MBT.Rewards in config.lua to set what the winner receives:
MBT.Rewards = {
[1] = { ["Name"] = "money", ["Quantity"] = { ["Min"] = 500, ["Max"] = 1000 } },
[2] = { ["Name"] = "water", ["Quantity"] = { ["Min"] = 1, ["Max"] = 3 } },
[3] = { ["Name"] = "ouija", ["Quantity"] = { ["Min"
ensure ox_lib
ensure ox_inventory # remove if not using ox_inventory
ensure mbt_ktfFramework resources (es_extended, qb-core, etc.) must start before mbt_ktf.
Go to the configured PreGameLocation. You should see a smoking NPC (csb_isldj_04 by default) with a green marker underfoot. Press E — the player-selection UI should open.
Select at least one other online player, press ENTER to confirm, and the match should start after the countdown.
To test with a single developer:
MBT.MinPlayer.Active = false in config.lua — this removes the minimum-player requirement so you can start a solo match.Routing bucket 400 is used by default. If that bucket conflicts with another resource on your server, change MBT.DedicatedBucket to any unused number.
Set the spawn points array (MBT.SpawnPoints) to safe locations inside your arena.
One entry from the list is picked at random each time a winner is declared. Item names must exist in your inventory system.