1
0
Fork 0
forked from Simnation/Main
This commit is contained in:
Nordi98 2025-06-23 20:15:25 +02:00
commit f0c92bcdfc
10 changed files with 9514 additions and 9467 deletions

View file

@ -1,202 +1,203 @@
function OpenChiefMenu(vehicles) function OpenChiefMenu(vehicles)
local opt = {} local opt = {}
table.insert(opt, table.insert(opt,
{ {
title = "Fahrzeug Hinzufügen", title = "Fahrzeug Hinzufügen",
description = "Neues Fahrzeug Hinzufügen.", description = "Neues Fahrzeug Hinzufügen.",
icon = "plus", icon = "plus",
onSelect = function() onSelect = function()
lib.hideContext("ChiefSettingsMenu") lib.hideContext("ChiefSettingsMenu")
OpenChiefAddVehicleMenu() OpenChiefAddVehicleMenu()
end end
} }
) )
if vehicles then if vehicles then
for k, v in pairs(vehicles) do for k, v in pairs(vehicles) do
table.insert(opt, { table.insert(opt, {
title = v.name, title = v.name,
description = "Dieses Fahrzeug bearbeiten...", description = "Dieses Fahrzeug bearbeiten...",
icon = "car", icon = "car",
onSelect = function() onSelect = function()
lib.hideContext("ChiefSettingsMenu") lib.hideContext("ChiefSettingsMenu")
OpenChiefEditVehicleMenu(v) OpenChiefEditVehicleMenu(v)
end end
}) })
end end
end end
lib.registerContext({ lib.registerContext({
id = "ChiefSettingsMenu", id = "ChiefSettingsMenu",
title = "Schlüsselkasten", title = "Schlüsselkasten",
options = opt options = opt
}) })
lib.showContext("ChiefSettingsMenu") lib.showContext("ChiefSettingsMenu")
end end
function OpenChiefAddVehicleMenu() function OpenChiefAddVehicleMenu()
local coords = GetEntityCoords(PlayerPedId()) local Player = QBCore.Functions.GetPlayerData()
local Player = QBCore.Functions.GetPlayerData() local opt = {}
local vehicles = GetGamePool('CVehicle')
local opt = {} QBCore.Functions.TriggerCallback('mh_jobgarage:CallOwnerVehicles', function(vehicles)
if vehicles ~= false then
for i = 1, #vehicles, 1 do local opt = {}
local vehicleCoords = GetEntityCoords(vehicles[i])
local distance = #(vehicleCoords - coords) for i = 1, #vehicles, 1 do
local isSpawned, mods = IsVehicleSpawned(plate)
if distance < 20.0 then
local mods = QBCore.Functions.GetVehicleProperties(vehicles[i]) table.insert(opt, {
print(json.encode(mods)) title = "Kennzeichen: "..mods.plate,
table.insert(opt, { description = "Deine Ersatzschlüssel: "..vehicles[i].keys,
title = "Kennzeichen: "..mods.plate, icon = 'car',
description = "Dieses Fahrzeug Hinzufügen?", onSelect = function()
icon = "car", local value = lib.inputDialog("Schlüsselkasten", {
onSelect = function() {type = "input", label = "Anzeigename", description = "Anzeigename wie die anderen den sehen!"},
local value = lib.inputDialog("Schlüsselkasten", { {type = "number", label = "Schlüsselanzahl", description = "Anzahl der Ersatzschlüssel.", min = 1, max = vehicles[i].keys},
{type = "input", label = "Anzeigename", description = "Anzeigename wie die anderen den sehen!"}, {type = "number", label = "Rang", description = "Ab welchen Rang darf man das Fahrzeug Fahren?"}
{type = "number", label = "Schlüsselanzahl", description = "Anzahl der Ersatzschlüssel."}, })
{type = "number", label = "Rang", description = "Ab welchen Rang darf man das Fahrzeug Fahren?"}
}) QBCore.Functions.TriggerCallback('mh_jobgarage:AddVehicleToJob', function(cb)
if cb.status then
QBCore.Functions.TriggerCallback('mh_jobgarage:AddVehicleToJob', function(cb) Notification("Schlüsselkasten", cb.text, cb.type)
if cb.status then lib.hideContext('ChiefAddVehicleMenu')
Notification("Schlüsselkasten", cb.text, cb.type) QBCore.Functions.TriggerCallback('mh_jobgarage:CallVehiclesInfo', function(cb)
lib.hideContext('ChiefAddVehicleMenu') OpenMenu(cb)
QBCore.Functions.TriggerCallback('mh_jobgarage:CallVehiclesInfo', function(cb) end, Player.job.name)
OpenMenu(cb) else
end, Player.job.name) Notification("Schlüsselkasten", cb.text, cb.type)
else if cb.key then
Notification("Schlüsselkasten", cb.text, cb.type) SetNewWaypoint(Config.KeyMaker.x, Config.KeyMaker.y)
if cb.key then end
SetNewWaypoint(Config.KeyMaker.x, Config.KeyMaker.y) end
end end, mods.plate, value)
end end
end, mods.plate, value) })
end
}) lib.registerContext({
id = "ChiefAddVehicleMenu",
lib.registerContext({ title = "Schlüsselkasten",
id = "ChiefAddVehicleMenu", description = "Füge ein Fahrzeug hinzu.",
title = "Schlüsselkasten", options = opt
description = "Füge ein Fahrzeug hinzu.", })
options = opt
}) lib.showContext("ChiefAddVehicleMenu")
end
lib.showContext("ChiefAddVehicleMenu") else
end Notification("Schlüsselkasten", "Keine Fahrzeuge von dir Gefunden!", "error")
end end
end end)
end
function OpenChiefEditVehicleMenu(veh)
local veh = veh function OpenChiefEditVehicleMenu(veh)
local opt = { local veh = veh
{ local opt = {
title = "Anzeigename", {
description = "Zum Bearbeiten Drücken", title = "Anzeigename",
icon = "hand", description = "Zum Bearbeiten Drücken",
onSelect = function() icon = "hand",
local input = lib.inputDialog("Schlüsselkasten - Anzeigename Bearbeiten",{ onSelect = function()
{type = "input", label = "Neuer Anzeigename:", description = "Setz einen neuen Namen für das Fahrzeug."} local input = lib.inputDialog("Schlüsselkasten - Anzeigename Bearbeiten",{
}) {type = "input", label = "Neuer Anzeigename:", description = "Setz einen neuen Namen für das Fahrzeug."}
})
if input[1] == veh.name then
Notification("Schlüsselkasten", "Anzeigename nicht geändert, Name gleich geblieben", "error") if input[1] == veh.name then
else Notification("Schlüsselkasten", "Anzeigename nicht geändert, Name gleich geblieben", "error")
TriggerServerEvent('mh_jobgarage:ChangeName', veh.plate, input[1]) else
end TriggerServerEvent('mh_jobgarage:ChangeName', veh.plate, input[1])
end, end
metadata = { end,
{label = "Aktueller Name", value = veh.name} metadata = {
} {label = "Aktueller Name", value = veh.name}
}, }
{ },
title = "--------------- Schlüssel Menu ---------------" {
}, title = "--------------- Schlüssel Menu ---------------"
{ },
title = "Schlüssel Hinzufügen", {
description = "Fügt ein weiteren Ersatzschlüssel hinzu.", title = "Schlüssel Hinzufügen",
icon = "plus", description = "Fügt ein weiteren Ersatzschlüssel hinzu.",
onSelect = function() icon = "plus",
local input = lib.inputDialog("Schlüsselkasten - Schlüssel Hinzufügen", { onSelect = function()
{type = "number", label = "Anzahl der Fahrzeugschlüssel", description = "Wie viele Schlüssel willst du Hinzufügen?"} local input = lib.inputDialog("Schlüsselkasten - Schlüssel Hinzufügen", {
}) {type = "number", label = "Anzahl der Fahrzeugschlüssel", description = "Wie viele Schlüssel willst du Hinzufügen?"}
TriggerServerEvent('mh_jobgarage:AddKeys', veh.plate, input[1]) })
end, TriggerServerEvent('mh_jobgarage:AddKeys', veh.plate, input[1])
metadata = { end,
{label = "Aktuelle Schlüssel im Kasten", value = veh.key_value} metadata = {
} {label = "Aktuelle Schlüssel im Kasten", value = veh.key_value}
}, }
{ },
title = "Schlüssel Entfernen", {
description = "Entfernt die zu angegebenen Schlüssel!", title = "Schlüssel Entfernen",
icon = "minus", description = "Entfernt die zu angegebenen Schlüssel!",
onSelect = function() icon = "minus",
local input = lib.inputDialog("Schlüsselkasten - Schlüssel entfernen", { onSelect = function()
{type = "number", label = "Anzahl der Fahrzeugschlüssel", description = "Wie viele Schlüssel willst du Entfernen?", min = 1, max = veh.key_value} local input = lib.inputDialog("Schlüsselkasten - Schlüssel entfernen", {
}) {type = "number", label = "Anzahl der Fahrzeugschlüssel", description = "Wie viele Schlüssel willst du Entfernen?", min = 1, max = veh.key_value}
})
if input[1] > veh.key_value then
Notification("Schlüsselkasten", "So viele Schlüssel sind da nicht drin! Max: "..veh.key_value, "inform") if input[1] > veh.key_value then
else Notification("Schlüsselkasten", "So viele Schlüssel sind da nicht drin! Max: "..veh.key_value, "inform")
TriggerServerEvent('mh_jobgarage:RemoveKeys', veh.plate, input[1]) else
end TriggerServerEvent('mh_jobgarage:RemoveKeys', veh.plate, input[1])
end, end
metadata = { end,
{label = "Aktuelle Schlüssel im Kasten", value = veh.key_value} metadata = {
} {label = "Aktuelle Schlüssel im Kasten", value = veh.key_value}
}, }
{ },
title = "--------------- Fahrzeug Menu ---------------" {
}, title = "--------------- Fahrzeug Menu ---------------"
{ },
title = "Fahrzeug Sperren", {
description = "Das Fahrzeug wird angezeigt, aber es werden keine Schlüssel raus gegeben.", title = "Fahrzeug Sperren",
icon = "lock", description = "Das Fahrzeug wird angezeigt, aber es werden keine Schlüssel raus gegeben.",
onSelect = function() icon = "lock",
QBCore.Functions.TriggerCallback('mh_jobgarage:lockVehicle', function(cb) onSelect = function()
if cb then QBCore.Functions.TriggerCallback('mh_jobgarage:lockVehicle', function(cb)
if veh.closed == "true" then if cb then
Notification("Schlüsselkasten", "Fahrzeug wurde entsperrt!", "success") if veh.closed == "true" then
veh.closed = "false" Notification("Schlüsselkasten", "Fahrzeug wurde entsperrt!", "success")
elseif veh.closed == "false" then veh.closed = "false"
Notification("Schlüsselkasten", "Fahrzeug wurde gesperrt!", "success") elseif veh.closed == "false" then
veh.closed = "true" Notification("Schlüsselkasten", "Fahrzeug wurde gesperrt!", "success")
end veh.closed = "true"
lib.hideContext("ChiefEditVehicleMenu") end
Wait(300) lib.hideContext("ChiefEditVehicleMenu")
OpenChiefEditVehicleMenu(veh) Wait(300)
else OpenChiefEditVehicleMenu(veh)
Notification("Schlüsselkasten", "Fehler beim Bearbeiten!", "warning") else
end Notification("Schlüsselkasten", "Fehler beim Bearbeiten!", "warning")
end, veh.plate) end
end end, veh.plate)
}, end
{ },
title = "Fahrzeug löschen...", {
description = "Gibt dir das Fahrzeug als Inhaber...", title = "Fahrzeug löschen...",
icon = "remove", description = "Gibt dir das Fahrzeug als Inhaber...",
onSelect = function() icon = "remove",
TriggerServerEvent('mh_jobgarage:DeleteFromList', veh.plate) onSelect = function()
end TriggerServerEvent('mh_jobgarage:DeleteFromList', veh.plate)
}, end
--[[ { },
title = "--------------- Log Menu ---------------" --[[ {
}, title = "--------------- Log Menu ---------------"
{ },
title = "Logs einsehen!", {
description = "Zeigt dir alle Änderungen an", title = "Logs einsehen!",
icon = "book", description = "Zeigt dir alle Änderungen an",
disabled = true icon = "book",
} ]] disabled = true
} } ]]
}
lib.registerContext({
id = "ChiefEditVehicleMenu", lib.registerContext({
title = "Schlüsselkasten", id = "ChiefEditVehicleMenu",
options = opt title = "Schlüsselkasten",
}) options = opt
})
lib.showContext("ChiefEditVehicleMenu")
lib.showContext("ChiefEditVehicleMenu")
end end

View file

@ -231,4 +231,23 @@ AddEventHandler('mh_jobgarage:GiveAllKeysBack', function(veh)
end) end)
end end
TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten", "Du hast sämtliche Schlüssel zurückgegeben", "inform") TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten", "Du hast sämtliche Schlüssel zurückgegeben", "inform")
end)
QBCore.Functions.CreateCallback('mh_jobgarage:CallOwnerVehicles', function(source, cb)
local _source = source
local Player = QBCore.Functions.GetPlayer(_source)
local pedid = Player.PlayerData.citizenid
local veh = {}
MySQL.query("SELECT * FROM player_vehicles", {}, function(rs)
if rs ~= nil and rs[1] ~= nil then
for k, v in pairs(rs) do
local keycount = MySQL.query("SELECT * FROM vehicle_keys WHERE owner = ? AND plate = ?", {pedid, v.plate})
print("Key Count: "..json.encode(keycount))
table.insert(veh, {plate = v.plate, keys = keycount[1].count})
end
cb(veh)
else
cb(false)
end
end)
end) end)

View file

@ -1 +1 @@
{"police":100,"Zum Durstigen Dackel":200,"ambulance":0,"kayas":0,"dackel":0,"ammu":1000,"odin":0,"cinema":0} {"Zum Durstigen Dackel":200,"kayas":0,"odin":0,"ammu":1000,"dackel":0,"ambulance":0,"police":100,"cinema":0}

File diff suppressed because it is too large Load diff

View file

@ -5946,3 +5946,15 @@
[info][UnlSpectre][2025/06/23 04:00:56]: Successfully started PlayerController [info][UnlSpectre][2025/06/23 04:00:56]: Successfully started PlayerController
[info][UnlSpectre][2025/06/23 04:00:56]: Successfully started VehicleController [info][UnlSpectre][2025/06/23 04:00:56]: Successfully started VehicleController
[info][UnlSpectre][2025/06/23 04:01:05]: HTTP Server started on port 3000. [info][UnlSpectre][2025/06/23 04:01:05]: HTTP Server started on port 3000.
[info][UnlSpectre][2025/06/23 16:00:18]: Successfully registered Exports
[info][UnlSpectre][2025/06/23 18:02:20]: Successfully registered Exports
[info][UnlSpectre][2025/06/23 18:20:27]: Successfully registered Exports
[info][UnlSpectre][2025/06/23 18:22:36]: Successfully registered Exports
[info][UnlSpectre][2025/06/23 18:22:36]: Successfully loaded Items
[info][UnlSpectre][2025/06/23 18:22:36]: Successfully loaded Jobs
[info][UnlSpectre][2025/06/23 18:22:36]: Successfully loaded Gangs
[info][UnlSpectre][2025/06/23 18:22:36]: Successfully loaded Vehicles
[info][UnlSpectre][2025/06/23 18:22:36]: Successfully started GameController
[info][UnlSpectre][2025/06/23 18:22:36]: Successfully started PlayerController
[info][UnlSpectre][2025/06/23 18:22:36]: Successfully started VehicleController
[info][UnlSpectre][2025/06/23 18:22:43]: HTTP Server started on port 3000.

View file

@ -4155,6 +4155,6 @@
} }
], ],
"waypoints": [], "waypoints": [],
"tokenSecret": "AA32TMVDbDf6PE8ENNze", "tokenSecret": "9K7UMZpVCEyP3HKTEi3b",
"supporterStash": [] "supporterStash": []
} }

View file

@ -8144,3 +8144,8 @@
[info][2025/06/22 22:50:09]: nordi requested item spazi. [info][2025/06/22 22:50:09]: nordi requested item spazi.
[info][2025/06/22 22:50:11]: nordi requested save item spazi. [info][2025/06/22 22:50:11]: nordi requested save item spazi.
[info][2025/06/22 22:50:11]: nordi successfully saved item spazi. [info][2025/06/22 22:50:11]: nordi successfully saved item spazi.
[info][2025/06/23 19:03:44]: nordi requested all items.
[info][2025/06/23 19:03:53]: nordi requested item pistol_ammo.
[info][2025/06/23 19:04:04]: nordi requested save item pistol_ammo.
[info][2025/06/23 19:04:04]: nordi successfully saved item pistol_ammo.
[info][2025/06/23 19:04:08]: nordi requested all items.

View file

@ -4102,3 +4102,5 @@
[info][2025/06/22 23:26:27]: Lucifer Morningstar got killed by Victoria Ann with Special Carbine causing 239 damage. [info][2025/06/22 23:26:27]: Lucifer Morningstar got killed by Victoria Ann with Special Carbine causing 239 damage.
[info][2025/06/22 23:41:20]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 16 damage. [info][2025/06/22 23:41:20]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 16 damage.
[info][2025/06/22 23:41:21]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 16 damage. [info][2025/06/22 23:41:21]: Lucifer Morningstar got hit by Lucifer Morningstar with Fist causing 16 damage.
[info][2025/06/23 19:06:02]: David Munkli aimed at Eylül Kaya with Special Carbine.
[info][2025/06/23 19:11:36]: Sophia Marino got hit by Wilke Mayer with Fist causing 27 damage.

View file

@ -7529,3 +7529,5 @@
[info][2025/06/22 23:26:27]: [BCK05564] Got killed by Victoria Ann (GNR11868) with Special Carbine causing 239 damage. [info][2025/06/22 23:26:27]: [BCK05564] Got killed by Victoria Ann (GNR11868) with Special Carbine causing 239 damage.
[info][2025/06/22 23:41:20]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 16 damage. [info][2025/06/22 23:41:20]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 16 damage.
[info][2025/06/22 23:41:21]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 16 damage. [info][2025/06/22 23:41:21]: [BCK05564] Got hit by Lucifer Morningstar (BCK05564) with Fist causing 16 damage.
[info][2025/06/23 19:06:02]: [DWK58991] Aimed at Eylül Kaya (KOK33025) with Special Carbine.
[info][2025/06/23 19:11:36]: [ABD68100] Got hit by Wilke Mayer (ITG79090) with Fist causing 27 damage.

View file

@ -6288,3 +6288,9 @@
[info][2025/06/22 21:58:41]: Login attempt on Nordi from 95.33.60.84 [info][2025/06/22 21:58:41]: Login attempt on Nordi from 95.33.60.84
[info][2025/06/22 21:58:43]: Login attempt on Nordi from 95.33.60.84 [info][2025/06/22 21:58:43]: Login attempt on Nordi from 95.33.60.84
[info][2025/06/22 22:23:10]: nordi requested all players. [info][2025/06/22 22:23:10]: nordi requested all players.
[info][2025/06/23 18:29:24]: Login attempt on Nordi from 80.228.185.74
[info][2025/06/23 18:31:06]: nordi requested all vehicles.
[info][2025/06/23 18:31:10]: nordi requested all vehicles.
[info][2025/06/23 18:31:11]: nordi requested all vehicles.
[info][2025/06/23 18:31:15]: nordi requested vehicle with id 237.
[info][2025/06/23 18:31:18]: nordi requested despawn vehicle with plate 6PQ692PZ id 237.