[Release] MSK Garage & Impound v4.0.2 [ESX]

Tebex [14.99€ incl. VAT] - Encrypted
Tebex [29.99€ incl. VAT] - Source Code

MSK Garage - Documentation

Features

You can add your own Vehicle Key Script in /server/keys/, but I can only give support for the Scripts that I’ve mentioned below at Optional Requirements !

:sparkles: Highlights

  • Unlimited garages & impounds — define as many locations as you want, each with its own ped, blip, 3D text, marker and park-out spots.
  • Cars, boats & aircraft — separate vehicle categories (car, truck, boat, helicopter, aircraft) so the right vehicles show up at the right place.
  • Job & society garages — restrict access by job and minimum grade; job vehicles can be owned per-player or shared across the whole society.
  • Impound system — recover lost vehicles (after crash, death or server restart) for a configurable fee, with an in-UI track waypoint to locate the car.
  • Vehicle keys support — key holders can park in and out too. Works with msk_vehiclekeys, VehicleKeyChain and vehicles_keys out of the box.
  • Favourites & custom names — players can mark vehicles as favourites and rename them.

:artist_palette: Modern UI (rebuilt in v4.0.0)

  • Brand-new interface built with React + Vite + TypeScript in the clean MSK dark/green design.
  • 100% offline — all fonts and icons are bundled. No jQuery, no Google Fonts, no FontAwesome CDN, zero external requests at runtime.
  • Live search, fuel bars, vehicle-class icons and a fast, responsive layout.

:locked: Security-first backend

  • Server authority on everything — every park-in / park-out is validated server-side. The client can never inject a garage definition, plate, or fee.
  • Anti-dupe protection — per-plate spawn locks plus a spawn claim/rollback flow keep the world and database consistent, even on connection hiccups.
  • Safe custom garages — third-party scripts register custom garages/impounds server-side, so park-out coordinates and fees can’t be forged.
  • Guaranteed refunds — if an impound park-out fails for any reason after charging, the fee is automatically refunded.
  • XSS-proof UI — React escapes all rendered text; the v3 nickname exploit is structurally impossible.

:gear: Configuration & integrations

  • Park-out anywhere or only at the specific garage the vehicle was stored in.
  • Bring your own fuel system (default: ox_fuel).
  • Built-in TextUI or plug in your own (e.g. okokTextUI), or use ox_target.
  • Optional AdvancedParking support.
  • Custom license plates (e.g. “CUSTOM”), configurable blips, and full EN/DE locales.
  • Developer-friendly client & server exports and park-in/park-out events for easy integration.

:clipboard: Requirements

Code is accessible No
Subscription-based No
Lines (approximately) ~ 1200
Requirements ESX Legacy, oxmysql, msk_core
Support Yes

My other Scripts

Paid

Free

9 Likes

Love it :heart_eyes:

3 Likes

Update v2.2

  • Some little Bugfixes
  • Fixed Bug with Fuel and added more fuel scripts to config.lua
  • Added compatibility for Jaksam Vehicle Keys
  • You can add your own Vehicle Key Script to server_vehiclekeys.lua
1 Like

A super garage, ideal for roleplay servers who want to have simplicity but also quality! :slight_smile:
the support is also very good.

2 Likes

Update v3.0

Changed files: all files including config.lua

  • New UI Design with new Features!
  • Added Favorite Vehicles
  • Added Rename Vehicle Name
  • Added Config.needEnoughMoney for Impound
  • Added new Translations
  • Updated Callbacks for msk_core

In config.lua just add the following and the edits in this file are done. If you updating from a lower version than v2.2 you have to replace the config completely.

Config.needEnoughMoney = true -- Set false if player should be able to parkout a vehicle from impound if not enough money


1 Like

Update v3.0.1

  • Added missing images
  • Added Support for visn_are (isPlayerDead)
  • Fixed lagging ui and server thread hitch warning
  • Fixed Jaksam vehicle_keys

To date a good garage system, bugs are fixed quickly, wishes are taken into account.
top

1 Like

Update v3.2.2

  • Some Bugfixes
  • Changed folder structure
  • Added compatibility for MSK VehicleKeys

Major Update v4.0.0

Updated Tebex and documentation Links

[4.0.2] - Impound Fixes

Fixed

  • Impound listed no vehicles. Config.Impounds entries were missing an
    impoundId field, so the server-side lookup (Validation.GetImpound) always
    resolved to nil and returned an empty list. Each impound now carries its
    config key as impoundId (mirroring how garages carry id).
  • Impounded vehicle was not removed on park-out (AdvancedParking). Taking a
    car out of the impound spawned a fresh copy while the old one remained on the
    map. AdvancedParking persists vehicles in its own table and respawns them, so a
    plain DeleteEntity had no lasting effect. The old copy is now purged from
    AdvancedParking via DeleteVehicleUsingData(..., keepInWorld = false) (raw DB
    plate) in addition to the server-authoritative GetAllVehicles sweep — no
    client broadcast, so there is no performance cost or multi-client delete race.

Changed

  • Simplified impound park-out: impoundId is now read directly from the impound
    definition instead of being resolved via a table-comparison loop.
1 Like