CodeM mVehicleshop v2
mVehicleShop v2 ist das ultimative Fahrzeughandels-System für FiveM. Mit moderner Benutzeroberfläche und fortschrittlicher Dealerlogik revolutioniert es den Fahrzeugverkauf.
Video-Vorschau
Click to load video from YouTube. By watching, you agree to their privacy policy.
Config lua
Config = {
Framework = qbcore, -- esx oder qbcore Ändere SQLVehiclesTable in config_server.lua
FrameworkCustomName = false, -- Falls du einen benutzerdefinierten Framework-Namen hast, setze dies auf deinen Framework-Namen oder lasse es auf false
saveMods = false, -- true, wenn alles im Mods- oder Fahrzeug-Tab gespeichert werden soll
NewESX = true,
Vehiclekey = true,
VehicleSystem = qb-vehiclekeys, -- cd_garage / qs-vehiclekeys / wasabi-carlock / qb-vehiclekeys
VehicleRemovekey = false, -- Berühre dies nicht, wenn du ein Car-Lock-System hast
VehicleRemoveKeySystem = qs-vehiclekeys, -- cd_garage / qs-vehiclekeys / qb-vehiclekeys
EnableFuel = true,
FuelSystem = 'LegacyFuel', -- LegacyFuel / ox-fuel / x-fuel / frfuel / cdn-fuel / hyon_gas_station / nd-fuel
InteractionHandler = 'drawtext', -- 'drawtext (inkl. drawmarker)' , 'qb-target' , 'ox_target' (du kannst deinen eigenen Handler in client/cl_interactions.lua hinzufügen)
CleanSQLLogs = false, -- Wenn du möchtest, dass die Protokolle in der Datenbank gelöscht werden, setze dies auf true und sie werden bei jedem Neustart gelöscht
Locations = {
[pdm_main_1] = {
coords = vector3(-33.32, -1104.18, 25.45), -- Marker- und Blip-Koordinaten
type = car, -- Auto oder Boot oder Flugzeug oder Hubschrauber oder benutzerdefiniert (für die Typenspalte in der Datenbank)
-- accessJob = cardealer, -- Falls du den Zugriff auf einen Job einschränken möchtest, setze dies auf den Job-Namen
-- managementJob = police,
preview = { -- Fahrzeugvorschau
campos = vector3(-45.76, -1100.8, 26.42),
camrot = vector3(0.0, 0.0, -16.0),
vehpos = vector4(-44.51, -1096.19, 25.82, 120.0),
},
name = PDM Haupt,
blip = {
show = true, -- Falls du das Blip deaktivieren möchtest, setze dies auf false
sprite = 326,
color = 2,
scale = 0.8,
},
marker = {
type = 23, -- Falls du den Marker deaktivieren möchtest, setze dies auf false
scale = vector3(1, 1, 1),
color = vector3(0, 255, 255),
label = Drücke ~g~[E]~s~ , um den Fahrzeugshop zu öffnen,
labelOffset = vector3(0, 0, 1.0)
},
bossmarker = {
coords = vector3(-30.37, -1105.92, 26.5),
type = 21, -- Falls du den Marker deaktivieren möchtest, setze dies auf false
scale = vector3(0.5, 0.5, 0.2),
color = vector3(0, 255, 255),
label = Drücke ~g~[E]~s~ , um das Boss-Menü zu öffnen,
labelOffset = vector3(0, 0, -0.7)
},
testdrive = {
spawn = vector4(-9.87, -1096.9, 25.84, 98.82),
time = 60, -- in Sekunden
},
vehiclespawn = vector4(-16.56, -1081.61, 26.07, 127.53),
defaultPreset = pdm
},
[boat_shop_1] = {
coords = vector3(-719.34, -1326.17, 0.65),
type = boat, -- Auto oder Boot oder Flugzeug oder Hubschrauber oder benutzerdefiniert (für die Typenspalte in der Datenbank)
-- accessJob = cardealer,
-- managementJob = police,
preview = {
campos = vector3(-718.3, -1335.79, 0.45),
camrot = vector3(0.0, 0.0, 279.19),
vehpos = vector4(-712.34, -1339.32, 0.14, 140.66),
maxFov = 90.0,
},
name = Boot-Shop,
blip = {
show = true, -- Falls du das Blip deaktivieren möchtest, setze dies auf false
sprite = 410,
color = 2,
scale = 0.8,
},
marker = {
type = 23, -- Falls du den Marker deaktivieren möchtest, setze dies auf false
scale = vector3(1, 1, 1),
color = vector3(0, 255, 255),
label = Drücke ~g~[E]~s~ , um den Bootshop zu öffnen,
labelOffset = vector3(0, 0, 1.0)
},
bossmarker = {
coords = vector3(-730.48, -1318.62, 1.6),
type = 21, -- Falls du den Marker deaktivieren möchtest, setze dies auf false
scale = vector3(0.5, 0.5, 0.2),
color = vector3(0, 255, 255),
label = Drücke ~g~[E]~s~ , um das Boss-Menü zu öffnen,
labelOffset = vector3(0, 0, -0.7)
},
testdrive = {
spawn = vector4(-727.55, -1367.86, 0.52, 136.62),
time = 60, -- in Sekunden
},
vehiclespawn = vector4(-727.55, -1367.86, 0.52, 136.62),
defaultPreset = boat_shop
},
[plane_shop_1] = {
coords = vector3(-994.55, -2948.14, 12.96),
type = airplane, -- Auto oder Boot oder Flugzeug oder Hubschrauber oder benutzerdefiniert (für die Typenspalte in der Datenbank)
-- accessJob = cardealer,
-- managementJob = police,
preview = {
campos = vector3(-980.86, -2980.79, 16.07),
camrot = vector3(0.0, 0.0, 185.54),
vehpos = vector4(-978.98, -2993.67, 13.95, 63.26),
maxFov = 90.0,
},
name = Flugzeug-Shop,
blip = {
show = true, -- Falls du das Blip deaktivieren möchtest, setze dies auf false
sprite = 16,
color = 2,
scale = 0.8,
},
marker = {
type = 23, -- Falls du den Marker deaktivieren möchtest, setze dies auf false
scale = vector3(1, 1, 1),
color = vector3(0, 255, 255),
label = Drücke ~g~[E]~s~ , um den Flugzeugshop zu öffnen,
labelOffset = vector3(0, 0, 1.0)
},
bossmarker = {
coords = vector3(-730.48, -1318.62, 1.6),
type = 21, -- Falls du den Marker deaktivieren möchtest, setze dies auf false
scale = vector3(0.5, 0.5, 0.2),
color = vector3(0, 255, 255),
label = Drücke ~g~[E]~s~ , um das Boss-Menü zu öffnen,
labelOffset = vector3(0, 0, -0.7)
},
testdrive = {
spawn = vector4(-978.98, -2993.67, 13.95, 63.26),
time = 60, -- in Sekunden
},
vehiclespawn = vector4(-978.98, -2993.67, 13.95, 63.26),
defaultPreset = plane_shop
},
[heli_shop_1] = {
coords = vector3(-697.55, -1423.4, 4.0),
type = airplane, -- Auto oder Boot oder Flugzeug oder Hubschrauber oder benutzerdefiniert (für die Typenspalte in der Datenbank)
-- accessJob = cardealer,
-- managementJob = police,
preview = {
campos = vector3(-726.76, -1455.1, 5.51),
camrot = vector3(0.0, 0.0, 358.97),
vehpos = vector4(-723.78, -1443.38, 5.66, 136.1),
maxFov = 90.0,
},
name = Hubschrauber-Shop,
blip = {
show = true, -- Falls du das Blip deaktivieren möchtest, setze dies auf false
sprite = 16,
color = 2,
scale = 0.8,
},
marker = {
type = 23, -- Falls du den Marker deaktivieren möchtest, setze dies auf false
scale = vector3(1, 1, 1),
color = vector3(0, 255, 255),
label = Drücke ~g~[E]~s~ , um den Hubschrauber-Shop zu öffnen,
labelOffset = vector3(0, 0, 1.0)
},
bossmarker = {
coords = vector3(-730.48, -1318.62, 1.6),
type = 21, -- Falls du den Marker deaktivieren möchtest, setze dies auf false
scale = vector3(0.5, 0.5, 0.2),
color = vector3(0, 255, 255),
label = Drücke ~g~[E]~s~ , um das Boss-Menü zu öffnen,
labelOffset = vector3(0, 0, -0.7)
},
testdrive = {
spawn = vector4(-723.78, -1443.38, 5.66, 136.1),
time = 60, -- in Sekunden
},
vehiclespawn = vector4(-723.78, -1443.38, 5.66, 136.1),
defaultPreset = heli_shop
},
},
UI = {
ppType = discord, -- Steam oder Discord
customPlatePrice = 15000,
previewColors = { -- https://wiki.rage.mp/index.php?title=Vehicle_Colors | Index für das Spiel-Fahrzeug, Wert für die UI (sie müssen gleich sein)
[0] = { 13, 17, 22 },
[21] = { 30, 35, 47 },
[28] = { 218, 25, 24 },
[80] = { 66, 113, 225 },
[112] = { 237, 237, 237 },
[137] = { 223, 88, 145 },
},
EnableCustomPlate = true,
classDescriptions = {
[0] = 'Kompakte in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Solche Autos sind z.B. Brioso 300 Widebody, Club, Blista Kanjo, Brioso 300, Blista, Brioso R/A, Dilettante, Asbo etc.',
[1] = 'Limousinen in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Für Limousinen in der Grand Theft Auto-Serie, siehe Limousinen. Solche Autos sind z.B. Emperor, Rhinehart, Tailgater S, Cinquemila, Asea, Super Diamond etc.',
[2] = 'Geländewagen in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Für alle Geländewagen und SUTs in der Grand Theft Auto-Serie, siehe Geländewagen. Solche Autos sind z.B. XLS, Granger 3600LX, Astron, Patriot, I-Wagen, Rebla GTS, Cavalcade, Dubsta etc.',
[3] = 'Coupés in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Für andere Coupés in der Grand Theft Auto-Serie, siehe Coupés. Solche Autos sind z.B. Kanjo SJ, Sentinel, Previon, Postlude, Sentinel XS, F620, Oracle, Felon GT etc.',
[4] = 'Muscle-Cars in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Für andere Muscle-Cars in der Grand Theft Auto-Serie, siehe Muscle-Cars. Solche Autos sind z.B. Vigero ZX, Ruiner ZZ-8, Greenwood, Phoenix, Dominator GTT, Duke O Death, Chino, Hustler etc.',
[5] = 'Sports-Classic-Fahrzeuge in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Für andere Classic-Cars in der Grand Theft Auto-Serie, siehe Classic-Cars. Solche Autos sind z.B. Mamba, Toreador, Stirling GT, Turismo Classic, Ardent, Zion Classic, 190z, JB 700 etc.',
[6] = 'Sportswagen in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Für andere Sportswagen in der Grand Theft Auto-Serie, siehe Sportswagen. Solche Autos sind z.B. Hotring Sabre, Locust, 10F Widebody, Paragon R, Corsita, ZR-350, Imorgon, Elegy Retro Custom etc.',
[7] = 'Supercars und Hypercars in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Für andere Supercars in der Grand Theft Auto-Serie, siehe Super Cars. Solche Autos sind z.B. LM87, Torero XO, Cyclone II, Sultan RS, Champion, Vacca, Turismo R, Vigilante etc.',
[8] = 'Motorräder in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Für andere Motorräder in der Grand Theft Auto-Serie, siehe Motorräder. Solche Fahrzeuge sind z.B. Oppressor Mk II, Hakuchou Custom, Oppressor, Bati 800, PCJ 600, Faggio etc.',
[9] = 'Off-Road-Fahrzeuge in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Für Off-Road-Fahrzeuge in der Grand Theft Auto-Serie, siehe Off-Road-Fahrzeuge. Solche Autos sind z.B. Dune FAV, Nightshark, Mesa Grande, Draugur, Patriot Mil-Spec, Everon etc.',
[10] = 'Industrielle Fahrzeuge in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Für andere industrielle Fahrzeuge, siehe Industrielle Fahrzeuge. Solche Autos sind z.B. Guardian, Dozer, Flatbed, Dump, Dock Handler, Mixer etc.',
[11] = 'Nutzfahrzeuge in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Für Nutzfahrzeuge in der gesamten Grand Theft Auto-Serie, siehe Nutzfahrzeuge. Solche Fahrzeuge sind z.B. Mobile Operations Center, Sadler, Towtruck, Caddy, Slamtruck, Trailer, Tractor etc.',
[12] = 'Vans in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Für alle Vans in der Grand Theft Auto-Serie, siehe Vans. Solche Autos sind z.B. Bison, Speedo Custom, Rumpo Custom, Journey, Surfer, Burrito, Youga Custom etc.',
[13] = 'Fahrräder (Fahrräder) in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Für andere Fahrräder in der Grand Theft Auto-Serie, siehe Fahrräder. Solche Fahrräder sind z.B. BMX, Fixter, Scorcher, Tri-Cycles Race Bike etc.',
[14] = 'Boote in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Solche Boote sind z.B. Kosatka, Submersible, Kraken, Avisa, Marquis, Dinghy, Predator etc.',
[15] = 'Helikopter in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Für Helikopter in der Grand Theft Auto-Serie, siehe Helikopter. Solche Helikopter sind z.B. Sparrow, Akula, Cargobob, Hunter, Police Maverick etc.',
[16] = 'Flugzeuge in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Für andere Flugzeuge/Flugzeuge in der Serie, siehe Festflügelige Flugzeuge. Solche Flugzeuge sind z.B. P-996 LAZER, RO-86 Alkonost, Hydra, Volatol etc.',
[17] = 'Öffentliche Dienstfahrzeuge in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Solche Fahrzeuge sind z.B. Bus, Festival Bus, Taxi, Dune, Dashound, Trashmaster etc.',
[18] = 'Notfallfahrzeuge in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Für andere Notfallfahrzeuge in der Grand Theft Auto-Serie, siehe Notfallfahrzeuge. Solche Fahrzeuge sind z.B. FIB Buffalo, Police Buffalo, Police Cruiser, Fire Truck, Ambulance, Police Roadcruiser, Police Riot etc.',
[19] = 'Militärfahrzeuge in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Für andere Militärfahrzeuge, siehe Militärfahrzeuge. Solche Fahrzeuge sind z.B. TM-02 Khanjali, APC, Anti-Aircraft-Trailer, Rhino etc.',
[20] = 'Geschäftsfahrzeuge in Grand Theft Auto V und Grand Theft Auto Online. Diese sind durch das Vehicle Class System definiert, das in GTA V eingeführt wurde. Solche Fahrzeuge sind z.B. Terrorbyte, Securicar, Mule, Pounder Custom, Phantom Wedge, Hauler Custom, Phantom, Mule Custom etc.'
},
},
-- Funktionen
OnVehicleBought = function(shopId, vehicle, plate)
if plate == nil then
plate = GetVehicleNumberPlateText(vehicle)
else
plate = plate
end
-- Beispiel-Events für qbcore
TaskWarpPedIntoVehicle(PlayerPedId(), vehicle, -1)
if Config.Vehiclekey then
TriggerEvent(vehiclekeys:client:SetOwner, plate)
if Config.VehicleSystem == 'cd_garage' then
TriggerEvent('cd_garage:AddKeys', exports['cd_garage']:GetPlate(vehicle))
elseif Config.VehicleSystem == 'qs-vehiclekeys' then
exports['qs-vehiclekeys']:GiveKeys(plate)
elseif Config.VehicleSystem == 'wasabi-carlock' then
exports.wasabi_carlock:GiveKey(plate)
elseif Config.VehicleSystem == 'qb-vehiclekeys' then
TriggerServerEvent('qb-vehiclekeys:server:AcquireVehicleKeys', plate)
end
end
if Config.EnableFuel then
if Config.FuelSystem == 'LegacyFuel' then
return exports[LegacyFuel]:SetFuel(vehicle, 100)
elseif Config.FuelSystem == 'x-fuel' then
return exports[x-fuel]:SetFuel(vehicle, 100)
elseif Config.FuelSystem == 'ox-fuel' then
return SetVehicleFuelLevel(vehicle, 100)
elseif Config.FuelSystem == 'nd-fuel' then
return exports[nd-fuel]:SetFuel(vehicle, 100)
elseif Config.FuelSystem == 'frfuel' then
return exports.frfuel:setFuel(vehicle, 100)
elseif Config.FuelSystem == 'cdn-fuel' then
return exports['cdn-fuel']:SetFuel(vehicle, 100)
elseif Config.FuelSystem == 'hyon_gas_station' then
return exports[hyon_gas_station]:SetFuel(vehicle, 100)
end
end
end,
RemoveVehicleKeys = function(vehicle)
if Config.VehicleRemovekey then
local plate = GetVehicleNumberPlateText(vehicle)
TaskWarpPedIntoVehicle(PlayerPedId(), vehicle, -1)
if Config.VehicleRemoveKeySystem == 'cd_garage' then
TriggerServerEvent('cd_garage:RemovePersistentVehicles', exports['cd_garage']:GetPlate(vehicle))
elseif Config.VehicleRemoveKeySystem == 'qs-vehiclekeys' then
exports['qs-vehiclekeys']:RemoveKeysAuto()
elseif Config.VehicleRemoveKeySystem == 'wasabi-carlock' then
exports.wasabi_carlock:RemoveKey(plate)
elseif Config.VehicleRemoveKeySystem == 'qb-vehiclekeys' then
TriggerServerEvent('qb-vehiclekeys:client:RemoveKeys', plate)
end
end
end,
OnTestDriveVehicleSpawned = function(vehicle)
-- Beispiel-Events für qbcore
local plate = GetVehicleNumberPlateText(vehicle)
if Config.Vehiclekey then
TriggerEvent(vehiclekeys:client:SetOwner, plate)
if Config.VehicleSystem == 'cd_garage' then
TriggerEvent('cd_garage:AddKeys', exports['cd_garage']:GetPlate(vehicle))
elseif Config.VehicleSystem == 'qs-vehiclekeys' then
exports['qs-vehiclekeys']:GiveKeys(plate)
elseif Config.VehicleSystem == 'wasabi-carlock' then
exports.wasabi_carlock:GiveKey(plate)
elseif Config.VehicleSystem == 'qb-vehiclekeys' then
TriggerServerEvent('qb-vehiclekeys:server:AcquireVehicleKeys', plate)
end
end
if Config.EnableFuel then
if Config.FuelSystem == 'LegacyFuel' then
return exports[LegacyFuel]:SetFuel(vehicle, 100)
elseif Config.FuelSystem == 'x-fuel' then
return exports[x-fuel]:SetFuel(vehicle, 100)
elseif Config.FuelSystem == 'ox-fuel' then
return SetVehicleFuelLevel(vehicle, 100)
elseif Config.FuelSystem == 'nd-fuel' then
return exports[nd-fuel]:SetFuel(vehicle, 100)
elseif Config.FuelSystem == 'frfuel' then
return exports.frfuel:setFuel(vehicle, 100)
elseif Config.FuelSystem == 'cdn-fuel' then
return exports['cdn-fuel']:SetFuel(vehicle, 100)
elseif Config.FuelSystem == 'hyon_gas_station' then
return exports[hyon_gas_station]:SetFuel(vehicle, 100)
end
end
end,
Locales = {
[svnotify] = {
[noperm] = 'Du hast keine Berechtigung, dies zu tun',
[novaultmoney] = 'Du hast nicht genug Geld im Safe',
[vaultnomoney] = 'Der Safe hat nicht genug Geld',
[employeeoffline] = 'Mitarbeiter ist nicht online',
[playeroffline] = 'Spieler ist nicht online',
[paymentsuccess] = 'Zahlung erfolgreich',
[businesstransfer] = 'Du hast das Geschäft an %s übertragen', -- %s ist der Spielername
[nocash] = 'Du hast nicht genug Bargeld',
[nomoney] = 'Du hast nicht genug Geld',
[platetaken] = 'Das Nummernschild ist bereits vergeben',
[noshopfound] = 'Shop nicht gefunden',
[noplayerfound] = 'Spieler nicht gefunden',
[withdraw] = 'Geld von Safe abheben',
[deposit] = 'Geld auf Safe einzahlen',
[employeepayment] = 'Mitarbeiterzahlung',
[notfound] = 'Fahrzeug nicht gefunden',
[outofstock] = 'Dieses Fahrzeug ist ausverkauft',
[stockadded] = '%s Lagerbestand an %s hinzugefügt', -- %s ist der Spielername
},
[specs] = {
[braking] = 'Bremsen',
[traction] = 'Traction',
[transmission] = 'Getriebe',
[acceleration] = 'Beschleunigung',
[handling] = 'Fahrverhalten'
}
}
}



