Hi ๐, I'm MaDHouSe
A passionate allround developer
mh-parking
- An Advanced Parking System build by MaDHouSe79.
subscribe to my channel It helps the channel grow Youtube
๐ธ Screenshot ๐ ๐ ๐
๐ฅ Video ๐๐๐
๐ช Dependencies
๐ช Optional
- โ mh-vehiclekeys
- โ interact-sound
๐ How to install and do not forget anything, or it will not work, or give many errors.
- ๐ Step 1: First stop your server. ๐
๐ Step 2: Copy the directory mh-parking to resources/[mh]/- ๐ Step 3: Add the player_parking.sql with 2 tables to your correct database.
๐ Step 4: Start your server.๐ Step 5: Add your self or other as vip, you can use the command: /park-addvip [id]๐ Step 6: Most important step -> Enjoy๐ ๐ ๐
๐ฎ Commands
๐ Typ "/park" to park or drive your vehicle where you are at that moment. (Users and Admins)๐ Typ "/park-names if you want to display the names ontop of the vehicle that is parked. (Users and Admins)- ๐ Typ "/park-lotnames if you want to display the names of the parking lots. (Users and Admins)
๐ Typ "/park-cmenu" to create a new parking space (Admin only)๐ Typ "/park-bmode" to go in to build mode (Admin only)๐ Typ "/park-system" if you want to turn on or off the system. (Admin Only)๐ Typ "/park-usevip" to turn on and of the vip system๐ Typ "/park-addvip [id]" if you want to add a vip. (Admin Only)๐ Typ "/park-removevip [id]" if you want to remove a vip. (Admin Only)๐ If you want to use the F5 button, you must add it to your /binds and add on F5 the word "park"
๐ NOTE DONT FORGET TO ADD YOUR SELF AS VIP
๐ฏ What i recommend for using this mod
๐ I recommend to use this mod only for vip players or for players who are most online on you server.๐ Try not to spawn too many vehicles in world space, this can cause issues and hiccups.๐ It is also recommended to have a good computer/server to use this mod, cause you will need it.๐ To keep the server nice and clean for everyody, use this system only for vip players.
๐ฏ I tested this mod on a computer/server with the following settings
โ Prossessor: I7 12xCore- โ Memory: 16 gig memory
โ Graphics: GTX 1050 TI 4GB
Unpark trigger event (use this server side)
- this only unpark the vehicle, it does not delete the entity from the gameworld.
- use this trigger in qb-policejob/server/main.lua, replace it with this (around line 888)
RegisterNetEvent('police:server:Impound', function(plate, fullImpound, price, body, engine, fuel)
local src = source
price = price and price or 0
if IsVehicleOwned(plate) then
TriggerEvent('mh-parking:server:unpark', plate) -- <----- OR ADD THIS TRIGGER HERE (mh-parking)
if not fullImpound then
MySQL.query('UPDATE player_vehicles SET state = ?, depotprice = ?, body = ?, engine = ?, fuel = ? WHERE plate = ?', {0, price, body, engine, fuel, plate})
TriggerClientEvent('QBCore:Notify', src, Lang:t("info.vehicle_taken_depot", {price = price}))
else
MySQL.query(
'UPDATE player_vehicles SET state = ?, body = ?, engine = ?, fuel = ? WHERE plate = ?',
{2, body, engine, fuel, plate})
TriggerClientEvent('QBCore:Notify', src, Lang:t("info.vehicle_seized"))
end
end
end)Optional qb-garages integration, this part is also for the phone app
- you need to find this in your qb-garages server and client file
if v.state == 0 then
v.state = Lang:t("status.out")
elseif v.state == 1 then
v.state = Lang:t("status.garaged")
elseif v.state == 2 then
v.state = Lang:t("status.impound")
endExample qb-garages integration, this part is also for the phone app
- you need to add a state 3
if v.state == 0 then
v.state = Lang:t("status.out")
elseif v.state == 1 then
v.state = Lang:t("status.garaged")
elseif v.state == 2 then
v.state = Lang:t("status.impound")
elseif v.state == 3 then -- <--- ADD HERE
v.state = "Parked outside"
end- if you get this error
script:qb-core] SCRIPT ERROR: citizen:/scripting/lua/scheduler.lua:741: SCRIPT ERROR: @qb-phone/server/main.lua:233: attempt to index a nil value (field 'Garages')
Check the config file from qb-phone
- check if you have this
Config.Garages = Garages๐ To keep things nice and clean for the qb-core system and database.
- โ Go to resources[qb]/qb-core/server/player.lua around line 506, and find, local playertables = {}.
- โ This is, if we want to delete a character, we also want to delete the parked vehicles in the database,
- โ Place the line below at the bottom in playertables (there are more insite), so place this one at the bottom.
{ table = 'player_parking' },
{ table = 'player_parking_vips' },










