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

View file

@ -231,4 +231,23 @@ AddEventHandler('mh_jobgarage:GiveAllKeysBack', function(veh)
end)
end
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)

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 VehicleController
[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": [],
"tokenSecret": "AA32TMVDbDf6PE8ENNze",
"tokenSecret": "9K7UMZpVCEyP3HKTEi3b",
"supporterStash": []
}

View file

@ -8144,3 +8144,8 @@
[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 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: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/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: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/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:43]: Login attempt on Nordi from 95.33.60.84
[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.