Hey everyone! 👋
A while ago msk_givevehicle was a small command/item script to hand vehicles to players. With v3.0.0 I rebuilt it from the ground up: everything now runs through a clean in-game admin dashboard instead of typing commands. No more remembering argument order, no more typos in plates — you just point and click.
The old in-game slash commands are gone (replaced by the dashboard), but the server console commands stay, so your automations and external tools keep working exactly as before.
It's completely free and open source (LGPL-3.0).
[details="📷 Click to expand screenshots"]
[/details]
Open the dashboard in-game (default /adgiveveh, name is configurable) and you get a tabbed interface:
- Give Vehicle — pick an online player from a searchable list, choose a category and model, set an optional plate, and (if
msk_garageis running) a target garage. Leave the plate empty for a random one. - Job Vehicle — same as above, plus a job and whether the vehicle is owned by the player or by the job/society.
- Vehicles — a full browser over your
owned_vehiclestable with server-side search & pagination. Built for big servers (3000+ vehicles): search by plate, owner identifier, player name or model, filter by type and garage — it never loads the whole table at once. Per-row actions: spawn to a player, delete, and (withmsk_garage) move to another garage. - Item Vehicles — manage the usable item-vehicles right in the dashboard (no config editing).
- Settings — language, debug, version checker, fuel system, plate format, vehicle keys, the dashboard command name, brand tag and a live color theme.
- Permissions — a per-group rights matrix and a dashboard-group whitelist.
Everything is stored in the database and live-editable — change a setting, a permission or an item and it applies instantly, no restart needed. On the very first start the script seeds the database from your config.lua; after that the dashboard is the source of truth.
- 🔐 Group & permission system — 9 rights (give / job-give / spawn / delete / move / browse / items / settings / permissions).
group.adminalways has everything,group.usercan never open the dashboard, every other group is configurable. Works with your server.cfg ACE groups and ESX framework groups. 🅿️ Plate duplicate check — every give checks for an existing plate before inserting and aborts with a clear error instead of creating a broken vehicle.- 🔑 Automatic vehicle keys — a key is given on give/spawn and removed on delete. The active key script is auto-detected (
msk_vehiclekeys,VehicleKeyChain,vehicles_keys) and can be toggled in Settings. - ⛽ Fuel system selector —
statebag(ox_fuel & msk_fuel),LegacyFuel,qs-fuelstations, native, or a custom hook. - 🎨 Live theming & language switch — recolor the whole UI with a live preview, set your own brand tag, switch between English and German.
- 🖥️ Console commands stay —
_giveveh,_givejobveh,_delvehandspawnvehwork exactly like before.
If msk_garage is running, extra features appear automatically (and stay hidden if it isn't):
- pick a target garage when giving a vehicle,
- a garage column & filter in the vehicle browser,
- move a vehicle from one garage to another,
- if you leave the target garage empty, the vehicle is placed in the msk_garage default garage for its category (land / sea / air).
The vehicle browser is designed for large servers. Owner/plate filters run in SQL with LIMIT/OFFSET pagination. For the best experience, add an index on the owner column:
ALTER TABLE `owned_vehicles` ADD INDEX `idx_owner` (`owner`);- Make sure the dependencies are installed and started before the script.
- Drop
msk_givevehicleinto your resources andensure msk_givevehicle. - Start the server once — the three database tables are created and seeded automatically.
- Open the dashboard in-game with
/adgiveveh(configurable).
The built UI is included, so the server needs no npm — just drag & drop.
- 📦 Download (free): https://github.com/Musiker15/msk_givevehicle
- 🌐 More MSK Scripts: www.msk-scripts.de
If you run into anything or have a feature request, drop a reply below or join the Discord — I read everything. ❤️
| Code is accessible | Yes |
| Subscription-based | No |
| Lines (approximately) | ~4,000 |
| Requirements | es_extended, oxmysql, msk_core. Optional: msk_garage + a vehicle-key script |
| Support | Yes |