301 releases · 35 resources

Changelog

What changed in every Oxide Studios resource, release by release. Read these before you update: migration steps and database changes are listed with each version.

Showing 201–225 of 301 releases

Oxide Multicharv2.0.0

Major

Added

  • 3D scene-based character selection: players hover and click their characters in a rendered location instead of picking from a list.
  • Floating info card above each character showing their name, cash, bank, and job.
  • Multiple selection scenes (Apartment, Garage, Pier, Sinner Street), selectable in-screen and remembered between sessions.
  • Built-in appearance editor for new characters (face, hair, makeup, eyes, clothing, accessories, and tattoos) on supported clothing resources. Configurable with Config.CustomCreator.
  • Sky-view spawn picker: after choosing a character, the camera flies over the map and players click a marker to choose where to spawn. Configurable with Config.SpawnSelector.
  • Spawn at your last logged-off location, or at any property your character owns.
  • Free starter apartment for new characters on supported housing systems. Configurable with Config.StarterApartment.
  • Extra character slots for VIPs, donators, or staff by permission or player ID, on top of the base slot count. Configurable with Config.SlotGrants.
  • Option to pause or whitelist character creation. Configurable with Config.AllowCreation and Config.CreationAce.
  • Name rules: block duplicate names on the same account and reserve specific words. Configurable with Config.NameRules.
  • Scene display modes: keep each player's last scene, pick a random one, or always use the default. Configurable with Config.Scenes.mode.
  • Server announcements shown on the selection screen. Configurable with Config.Announcements.
  • Player-selectable accent color for the menu, saved per machine.
  • /logout command to return to character selection, configurable with Config.Logout.

Changed

  • The resource is now fully framework-agnostic through o-link, so the same build works on QBCore, ESX, and QBX without code changes.

Oxide Dispatchv1.3.2

Patch

Fixed

  • The auto-expire sweeper now actually runs again — a background-task issue was silently preventing it from executing, so resolved or timed-out alerts could pile up until the resource was restarted. Servers using Config.AutoExpire.enabled = true will once again see old alerts close on their own.

Notes

  • Existing servers can update in place — no SQL changes required for the 1.3.2 release.
  • You'll now see a sweeper started info line in the server console on resource start (with the sweep interval and default TTL) confirming the sweeper is live. If you have Config.AutoExpire.enabled = false, a warning prints instead so it's obvious the sweeper was intentionally turned off.

Oxide Dispatchv1.3.1

Patch

Added

  • Auto-detection can now be silenced for specific jobs — list any job name under Config.Detection.JobBlacklist and on-duty members of that job will no longer trip auto-alerts (service-weapon fire, melee, vehicle theft, etc). 911, panic, and manual MDT alerts are unaffected.

Fixed

  • The MDT Dispatch tab now keeps itself in sync with the live calls list — alerts that close or expire while you have the panel open will clear on their own within a few seconds, instead of sitting there until you reopen the tab.
  • The police, EMS, and fire radial menus (and the civilian Player Interactions menu) now wait for the player to fully load before they appear. Fixes a startup error on QBX servers when joining during character selection.

Notes

  • Existing servers can update in place — no SQL changes required for the 1.3.1 release.
  • Config.Detection.JobBlacklist is a new option and won't exist in your current shared/config/detection.lua — copy the block from the updated file (sits next to WeaponBlacklist / ZoneBlacklist) into your existing config, then uncomment whichever job names match your server's setup. Leaving it out (or empty) keeps current behavior — no jobs are filtered.

Oxide Policev1.3.1

Patch

Added

  • Station-only duty option. A new setting lets you require officers to clock on and off duty only at a station's clock-in point. When turned on, the /duty command and the radial menu duty shortcut are switched off. Off by default, so nothing changes unless you enable it.
  • More officer target-menu actions. The on-duty officer target menu can now also include hard cuff, carry, headbag, put in / take out of vehicle, gunshot residue (GSR) check, and issue ticket. Each one can be turned on or off on its own. All of the new actions start off — cuff, search, and escort stay on as before.

Changed

  • Cleaner suspect vehicle options. When dealing with a cuffed suspect, the menu now shows only the option that applies — "Put in Vehicle" when they're standing, or "Take out of Vehicle" when they're seated — instead of both at once. These options only appear for a cuffed suspect.
  • Uniform editor improvements. Creating and editing station uniforms is smoother, with male and female outfits handled separately.

Fixed

  • "Take out of Vehicle" now shows up reliably. After putting a cuffed suspect into a vehicle, the option to take them back out now appears as expected. On some menu systems it could previously stay hidden.
  • Fleet liveries and extras apply correctly. Admin-set liveries and forced extras on fleet vehicles are no longer overwritten by older saved vehicle data when a vehicle spawns.

Notes

  • These updates add new settings. If you are upgrading and use customized config files, add the lines below (the defaults keep your current behavior). Fresh installs already include them.
  • Add to shared/config.lua to enable the station-only duty option:
    -- When true, officers can only go on/off duty at a station's clock-in zone.
    -- Disables the /duty command and the radial duty toggle.
    Config.RequireStationClockIn = false
    
  • Add the new actions inside Config.OfficerTargetMenu.Actions in shared/config/interactions.lua (all default off):
    hard_cuff = { enable = false, icon = 'fas fa-lock' },
    carry     = { enable = false, icon = 'fas fa-user-plus' },
    headbag   = { enable = false, icon = 'fas fa-user-secret' },
    vehicle   = { enable = false, icon = 'fas fa-car-side' },
    gsr       = { enable = false, icon = 'fas fa-hand-dots' },
    ticket    = { enable = false, icon = 'fas fa-receipt' },
    

Oxide Dispatchv1.3.0

Minor

Added

  • AI dispatch MDT tools now also work with wasabi_mdt and lb-tablet — auto-detected when installed (joining the existing oxide-police and ps-mdt support).
  • The AI dispatcher now speaks a quick acknowledgement ("Running that plate", "Pulling those records") the instant it starts a lookup, so there's no dead air on the radio while it works. Phrases are fully customizable in shared/config/ai_dispatch_acks.lua.
  • AI dispatcher audio now sounds like it's coming over a real comms radio — radio filter, light static, and mic-open / squelch effects around each transmission. Tune it (or turn it off) under Config.AIDispatch.RadioFX.
  • Per-detector cooldowns — give each auto-detection (shooting, drive-by, melee, explosion, vehicle theft) its own cooldown via Config.Detection.cooldownsMs, instead of one shared timer for all of them.
  • Detection chance — every detector now accepts a chance value (0.0–1.0) controlling how often a qualifying event actually creates an alert, so auto-detection can feel less constant.
  • Server-side duplicate suppression — repeated identical auto-detect alerts from the same person within a short window are now dropped automatically, even if a cheating client bypasses the normal cooldown. Configurable via Config.Detection.ServerDedup.

Changed

  • The AI dispatcher now sounds much more like a real human dispatcher and less like a chatbot — assistant-style phrasing ("I'll go ahead and…", "Is there anything else?", etc.) has been removed.
  • Melee auto-detection is more accurate — it no longer fires on air punches or missed swings; an actual hit on a target is now required.

Notes

  • Existing servers can update in place — no SQL changes required for the 1.3.0 release.
  • All new settings ship enabled with sensible defaults — no action is needed unless you want to customize them.

Oxide Weedv1.2.6

Patch

Fixed

  • Interaction prompts no longer show on top of the plant harvesting minigame. On proximity-based interaction setups (where options appear automatically as you walk up to something), the plant's harvest prompt could stay on screen during the minigame. Targeting is now hidden while you harvest a planted or wild plant and restored as soon as you finish.

Oxide Blackmarketv1.5.0

Minor

Fixed

  • Dealer not interactable for players who joined or teleported in late - players outside scope when the dealer spawned or relocated couldn't open the trade menu. The dealer is now identified consistently for every player who reaches them.
  • Dealer not wandering after spawn - the dealer would freeze in place until interacted with. They now begin wandering as soon as someone is nearby.
  • One-shot kills not registering - a single fatal hit on the dealer sometimes failed to trigger death detection (no loot, no hit squad, body left on the ground). All death types are now detected reliably.
  • Hit squad never arriving - the retaliation squad would spawn and sit there. They now actually drive to the player and engage.
  • Hit squad spawning on top of the player - spawn distance is now consistent regardless of where the dealer dies.
  • Hit squad teleporting members into the driver seat mid-firefight - killing the driver during on-foot combat no longer warps another member into the car. Driver swaps only happen when the squad actually needs to drive.

Added

  • Config.HitSquadMaxChaseDuration - releases the squad after this many ms in vehicle mode without reaching the player (safety net for bad pathing). Defaults to 90000.

Changed

  • Config.HitSquadDriveSpeed default lowered from 80.0 to 30.0 (m/s). The old default was ~180 mph and caused the AI to constantly lose control on corners.
  • Config.HitSquadSpawnDistMin / HitSquadSpawnDistMax defaults lowered from 350 / 450 to 200 / 300. Closer spawns reliably trigger chase behavior.

Oxide Dispatchv1.2.0

Minor

Added

  • AI dispatch MDT tools now also work with ps-mdt — auto-detected when installed.
  • Bring-your-own MDT support: drop a small bridge file in server/modules/ai_dispatch/mdt/ to wire any other MDT into the AI dispatch tools. See docs/MDT_BRIDGE_DEV.md.
  • New config block Config.AIDispatch.Integrations.Mdt — list of MDT backends in priority order.

Changed

  • Config.AIDispatch.Integrations.OxidePolice replaced by Integrations.Mdt. oxide-police is enabled by default in the new list, so no action is needed unless you customized the old flag.

Oxide Baitcarv1.0.2

Patch

Added

  • Localization support. Every player-facing string (notifications, dashboard, remote controller, dashcam recorder, event feed) now loads from locales/<lang>.json. Copy locales/en.json to your locale code (e.g. locales/de.json), translate the values, and set SetConvar('ox:locale', 'de') to switch languages.
  • Packaged screwdriver.png item image. Drop-in art for the default Config.RemovalToolItem = 'screwdriver' for servers whose inventory framework does not already ship a screwdriver image.

Oxide Landscapingv1.2.2

Patch

Added

  • Config.Payment.payoutAccount and Config.Payment.fineAccount to choose which accounts shift pay is deposited to and vehicle fines are taken from (defaults 'bank' / 'cash')
  • Config.Rumpo.livery / Config.Rumpo.extras and Config.Mower.livery / Config.Mower.extras for replacement vehicle models

Changed

  • Documentation updated to cover all current config options, the tutorial system, and player keybinds (G for blades, H to highlight obstacles)

Oxide Animal Controlv1.1.3

Patch

Added

  • Config.Vehicle.livery and Config.Vehicle.extras for custom vehicle models
  • Config.Payment.payoutAccount and Config.Payment.fineAccount to configure which account shift pay is deposited to and which account fines are deducted from
  • Bosnian (bs) locale

Changed

  • Installation guide now notes the required qb-weapons durability entry for weapon_g2

Oxide GoPostalv1.1.2

Patch

Added

  • Config.Payment.payoutAccount to choose which account net shift pay is deposited to (default 'bank')
  • Config.Payment.fineAccount to choose which account the vehicle-destroy fine is taken from (default 'cash')
  • Config.Vehicle.livery to set the spawn livery index on the delivery van (default -1, leave model default)
  • Config.Vehicle.extras to force vehicle extras on or off when the van spawns (useful for custom replacement models)

Oxide Roadside Assistancev1.1.2

Patch

Added

  • Config.Payment.payoutAccount and Config.Payment.fineAccount — choose which account shift payouts deposit into and which account the vehicle-destroy fine is taken from
  • Config.Vehicle.livery and Config.Vehicle.extras — set a livery index and toggle extras on the tow truck (useful for custom replacement models)

Documentation

  • CONFIGURATION.md now documents shared/config/outfits.lua, the new payment/vehicle options, and Config.Blip.enabled
  • FEATURES.md covers the optional uniform system
  • ADMIN.md lists the H waypoint key binding
  • INSTALLATION.md references the full set of config files

Oxide Newspaperv1.0.3

Patch

Added

  • Config.Vehicle.livery and Config.Vehicle.extras options for customizing replacement bike models

Fixed

  • Configuration reference now documents Config.Item.weapon, the payout/tip/fine account fields, the newspaper bag prop, and the pickup animation settings
  • Corrected depot blip sprite default and shipped depot/zone counts in the documentation

Oxide Policev1.3.0

Minor

Added

  • Vehicle extras editor in the admin panel. Admin → Vehicles now has an extras editor alongside the existing livery field. Force individual extras on or off per fleet vehicle — useful for hiding player-business liveries or decals on custom replacement models.
  • Duty toggle from anywhere. The /duty command is now available to all hired officers (no longer debug-only) and a global radial menu shortcut is added when on the force. Officers can clock in / out without visiting a station's clock-in zone.
  • New MDT server exports for third-party integrations: CreateBolo, GetActiveBolos, ClearBolo, SearchPerson, GetPersonProfile, SearchVehicle. See docs/EXPORTS.md.

Fixed

  • Officers were being auto-fired when external multi-job scripts swapped their active job between names. Officer records are now only cleared when the framework job is explicitly set to unemployed.

Oxide Dispatchv1.1.0

Minor

Added

  • Optional AI Radio Dispatcher — assign one OpenAI-backed dispatcher per department radio channel; officers press PTT and the AI listens, replies verbally, and files dispatch alerts on their behalf. Off by default; switches on once you set set oxide:ai-dispatch:openai_key sk-... in server.cfg.
  • Two AI provider modes selectable per channel: Realtime (sub-second voice, premium pricing) and Chained (~2s voice, much lower per-transmission cost).
  • AI MDT toolset on police channels when oxide-police is installed — plate lookup, person lookup, dossier, BOLO create/list/clear, custody check, on-duty officer list.
  • Per-channel and global identifier whitelist for restricting AI dispatch access on top of normal radio access.
  • New EMS dispatch codes: 10-53 Person Down, 10-54 Cardiac Arrest, 10-56 Trauma / Injury, 10-58 Overdose.
  • New fire / hazmat dispatch codes: 10-73 Vehicle Fire, 10-74 Brush / Wildfire, 10-75 Hazmat Incident, 10-76 Rescue / Extrication.
  • Compatibility shims for legacy EMS alert flows on QBCore, QBX, and ESX so existing ambulance scripts now reach Oxide Dispatch automatically.
  • New documentation file docs/AI_DISPATCH.md covering AI setup, cost estimates, voice options, and the privacy notice you must show to players.

Changed

  • Renamed 10-70 from "Fire" to "Structure Fire" to match the new fire code family.
  • AI dispatch channel defaults: ships with 911 = LSPD, 921 = EMS, 931 = Fire enabled. BCSO / SASP entries shipped commented out.

Notes

  • Existing servers can update in place — no SQL changes required for the 1.1.0 release.
  • If you used the old 10-70 "Fire" code in custom scripts, the code itself is unchanged; only the catalog title is now "Structure Fire".

Oxide Weedv1.2.5

Patch

Fixed

  • Drying rack Collect button not appearing at 0:00 — same fix as the 1.2.3 freeze dryer fix, applied to drying racks. Trays now report dried buds as soon as the timer hits zero instead of waiting for the next background tick.
  • Duplicate plant / lamp / heater / equipment / wild plant models — under load (many entities spawning at once, or a stage change firing mid-spawn) the client could create duplicate objects or leak entities. Spawning is now race-safe.
  • Plant model occasionally jumping back to an earlier growth stage — growth is now monotonic and only ever advances.
  • Background loops silently stopping — drying, freeze dryer, plant growth, smoking effects, and wild plant respawn are no longer wrapped in the logger's SafeCall and run reliably regardless of oxide-logger's state. Errors still print to the server console.

Changed

  • /weed_water and /weed_grow admin commands now refresh the plant's quality and push the updated stats to clients (previously the menu showed stale values).
  • Water and fertilizer percentages on the plant menu now show as whole numbers (e.g. 45%) instead of decimals.
  • Plant trait names on the plant menu now run through your locale file.
  • /weed_fasttick now takes a multiplier: /weed_fasttick 12 runs plants 12x faster, /weed_fasttick 1 restores normal speed. Running it with no args still toggles 12x on/off. The multiplier affects both growth time and water/fertilizer decay.

Oxide Landscapingv1.2.1

Patch

Added

  • Config.Blip.enabled option to hide the office map blip
  • Locale support — NUI text now reads from locales/en.json so the shift menu and summary can be translated
  • oxide-logger integration for shifts, payouts, crew ownership transfers, admin commands, progression saves, and errors

Oxide Policev1.2.0

Minor

Added

  • License management in the MDT. Officers can grant and revoke driver, weapons, business, pilot, and boating licenses from a person's profile. License types are configurable in shared/config/licenses.lua.
  • /cuff and /uncuff commands for on-duty officers to cuff or uncuff the nearest player.
  • Officer target menu. On-duty officers get cuff, search, and escort options when targeting another player through your server's target system. Toggle and tweak distance/actions in shared/config/interactions.lua (Config.OfficerTargetMenu).
  • Tablet animation while using bodycam, CCTV, and the MDT — officers visibly hold a tablet instead of standing idle. Toggle per feature in shared/config/bodycam.lua, shared/config/cctv.lua, and shared/config/mdt.lua.

Changed

  • Fleet vehicles now spawn client-side for smoother sync and fewer race conditions on plate/key assignment.

Database

  • Run sql/migrations/003_random_plates.sql to upgrade existing installations. Rewrites old PREFIX-### fleet plates to random 8-character alphanumeric plates so plate-keyed key systems work correctly (GTA's plate font has no dash glyph).

Oxide GoPostalv1.1.1

Patch

Added

  • Config.Blip.enabled option to hide the depot map blip
  • Locale support — NUI text now reads from locales/en.json so the shift menu and summary can be translated
  • oxide-logger integration for shifts, payouts, crew ownership transfers, admin commands, progression saves, and errors

Oxide Policev1.1.1

Patch

Fixed

  • Custom / addon fleet vehicles now get keys. Garage spawns are now server-side, so plates and vehicle keys line up correctly for streamed addon police models, not just stock GTA cars.

Changed

  • Fleet vehicles store their entity type (car, bike, boat, heli, plane), detected automatically when you add the vehicle. Motorcycles, helis, and boats now spawn as the correct type.

Database

  • Run sql/migrations/002_vehicle_type.sql to upgrade existing installations.