1
0
Fork 0
forked from Simnation/Main
This commit is contained in:
Nordi98 2025-06-23 20:02:15 +02:00
commit 715c18bb46
3 changed files with 399 additions and 399 deletions

View file

@ -1,148 +1,148 @@
QBCore = exports['qb-core']:GetCoreObject() QBCore = exports['qb-core']:GetCoreObject()
isInZone = false isInZone = false
Zone = nil Zone = nil
-- SetPosition -- SetPosition
Citizen.CreateThread(function() Citizen.CreateThread(function()
while true do while true do
local sleep = 1000 local sleep = 1000
local ped = PlayerPedId() local ped = PlayerPedId()
local coords = GetEntityCoords(ped) local coords = GetEntityCoords(ped)
local isInMarker = false local isInMarker = false
local Player = QBCore.Functions.GetPlayerData() local Player = QBCore.Functions.GetPlayerData()
if Player and Player.job then if Player and Player.job then
for k, v in pairs(Config.Zonen) do for k, v in pairs(Config.Zonen) do
local dist = #(coords - v.Schluesselkasten) local dist = #(coords - v.Schluesselkasten)
if dist < Config.DrawDistance and Player.job.name == v.Job then if dist < Config.DrawDistance and Player.job.name == v.Job then
sleep = 0 sleep = 0
DrawMarker(v.Marker.type, v.Schluesselkasten.x, v.Schluesselkasten.y, v.Schluesselkasten.z + 0.7, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, v.Marker.x, v.Marker.y, v.Marker.z, v.Marker.r, v.Marker.g, v.Marker.b, v.Marker.a, false, false, 2, v.Marker.rotate, nil, nil, false) DrawMarker(v.Marker.type, v.Schluesselkasten.x, v.Schluesselkasten.y, v.Schluesselkasten.z + 0.7, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, v.Marker.x, v.Marker.y, v.Marker.z, v.Marker.r, v.Marker.g, v.Marker.b, v.Marker.a, false, false, 2, v.Marker.rotate, nil, nil, false)
if dist < 2.0 then if dist < 2.0 then
if not isInZone then if not isInZone then
Zone = v Zone = v
isInZone = true isInZone = true
TextUI(true, "[E] - Schlüsselkasten öffnen.") TextUI(true, "[E] - Schlüsselkasten öffnen.")
end end
if IsControlJustReleased(0, 38) then if IsControlJustReleased(0, 38) then
QBCore.Functions.TriggerCallback('mh_jobgarage:CallVehiclesInfo', function(cb) QBCore.Functions.TriggerCallback('mh_jobgarage:CallVehiclesInfo', function(cb)
OpenMenu(cb) OpenMenu(cb)
end, Player.job.name) end, Player.job.name)
end end
else else
if isInZone then if isInZone then
Zone = nil Zone = nil
isInZone = false isInZone = false
TextUI(false) TextUI(false)
end end
end end
end end
end end
end end
Citizen.Wait(sleep) Citizen.Wait(sleep)
end end
end) end)
function OpenMenu(vehicles) function OpenMenu(vehicles)
local opt = {} local opt = {}
local Player = QBCore.Functions.GetPlayerData() local Player = QBCore.Functions.GetPlayerData()
if Player.job.grade.level == Zone.Chiefrang then if Player.job.grade.level >= Zone.Chiefrang then
table.insert(opt, { table.insert(opt, {
title = "Fahrzeug Einstellungen", title = "Fahrzeug Einstellungen",
description = "Fahrzeuge verwalten", description = "Fahrzeuge verwalten",
icon = "gears", icon = "gears",
onSelect = function() onSelect = function()
lib.hideContext("OpenMenu") lib.hideContext("OpenMenu")
OpenChiefMenu(vehicles) OpenChiefMenu(vehicles)
end end
}) })
table.insert(opt, { table.insert(opt, {
title = "", title = "",
disabled = true disabled = true
}) })
end end
table.insert(opt, { table.insert(opt, {
title = "Alle Schlüssel zurück geben!", title = "Alle Schlüssel zurück geben!",
description = "Gibt alle vorhandenen Schlüssel zurück!", description = "Gibt alle vorhandenen Schlüssel zurück!",
icon = "keys", icon = "keys",
onSelect = function() onSelect = function()
TriggerServerEvent('mh_jobgarage:GiveAllKeysBack', vehicles) TriggerServerEvent('mh_jobgarage:GiveAllKeysBack', vehicles)
end end
}) })
table.insert(opt, { table.insert(opt, {
title = "", title = "",
disabled = true disabled = true
}) })
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 = v.key_value.."x Schlüssel vorhanden.", description = v.key_value.."x Schlüssel vorhanden.",
icon = "car", icon = "car",
onSelect = function() onSelect = function()
OpenKeyMenu(v) OpenKeyMenu(v)
end end
}) })
end end
end end
lib.registerContext({ lib.registerContext({
id = 'OpenMenu', id = 'OpenMenu',
title = "Schlüsselkasten", title = "Schlüsselkasten",
options = opt options = opt
}) })
lib.showContext('OpenMenu') lib.showContext('OpenMenu')
end end
function OpenKeyMenu(veh) function OpenKeyMenu(veh)
local dis = false local dis = false
local closedVeh = "Nein" local closedVeh = "Nein"
local meta = {{label = "Noch "..veh.key_value.." Schlüssel vorhanden!"}} local meta = {{label = "Noch "..veh.key_value.." Schlüssel vorhanden!"}}
if veh.closed == "true" then if veh.closed == "true" then
dis = true dis = true
closedVeh = "Dieses Fahrzeug ist gesperrt!!!" closedVeh = "Dieses Fahrzeug ist gesperrt!!!"
meta = {{label = "Keine Schlüssel mehr im Kasten!"}} meta = {{label = "Keine Schlüssel mehr im Kasten!"}}
end end
lib.registerContext({ lib.registerContext({
id = 'OpenKeyMenu', id = 'OpenKeyMenu',
title = "Schlüsselkasten", title = "Schlüsselkasten",
description = "Fahrzeug:"..veh.name.."\nKennzeichen:"..veh.plate.."\nSchlüsselanzahl:"..veh.key_value.."\nGesperrt:"..closedVeh, description = "Fahrzeug:"..veh.name.."\nKennzeichen:"..veh.plate.."\nSchlüsselanzahl:"..veh.key_value.."\nGesperrt:"..closedVeh,
icon = "plus", icon = "plus",
options = { options = {
{ {
title = "Schlüssel nehmen", title = "Schlüssel nehmen",
description = "Gibt dir ein Schlüssel für den "..veh.name, description = "Gibt dir ein Schlüssel für den "..veh.name,
disabled = dis, disabled = dis,
icon = "plus", icon = "plus",
onSelect = function() onSelect = function()
print("Trigger ADDVEHICLE KEY") print("Trigger ADDVEHICLE KEY")
TriggerServerEvent('mh_jobgarage:AddVehicleKey', veh) TriggerServerEvent('mh_jobgarage:AddVehicleKey', veh)
end, end,
metadata = meta metadata = meta
}, },
{ {
title = "", title = "",
disabled = true disabled = true
}, },
{ {
title = "Schlüssel geben", title = "Schlüssel geben",
description = "Nimmt dir ein Schlüssel für den "..veh.name.." ab.", description = "Nimmt dir ein Schlüssel für den "..veh.name.." ab.",
icon = "minus", icon = "minus",
onSelect = function() onSelect = function()
print("Trigger DELVEHICLE KEY") print("Trigger DELVEHICLE KEY")
TriggerServerEvent('mh_jobgarage:DelVehicleKey', veh) TriggerServerEvent('mh_jobgarage:DelVehicleKey', veh)
end end
} }
} }
}) })
lib.showContext('OpenKeyMenu') lib.showContext('OpenKeyMenu')
end end

View file

@ -1,19 +1,19 @@
function CheckVehicleOwner(id, plate) function CheckVehicleOwner(id, plate)
MySQL.query.await("SELECT * FROM player_vehicles WHERE citizenid = ? and plate = ?", {id, plate}, function(rs) MySQL.query("SELECT * FROM player_vehicles WHERE citizenid = ? and plate = ?", {id, plate}, function(rs)
if rs ~= nil then if rs ~= nil then
return true return true
else else
return false return false
end end
end) end)
end end
function CheckEintrag_v_key(id, plate) function CheckEintrag_v_key(id, plate)
MySQL.query("SELECT * FROM vehicle_keys WHERE owner = ? and plate = ?", {id, plate}, function(rs) MySQL.query("SELECT * FROM vehicle_keys WHERE owner = ? and plate = ?", {id, plate}, function(rs)
if rs ~= nil then if rs ~= nil then
return true return true
else else
return false return false
end end
end) end)
end end

View file

@ -1,234 +1,234 @@
QBCore = exports['qb-core']:GetCoreObject() QBCore = exports['qb-core']:GetCoreObject()
QBCore.Functions.CreateCallback('mh_jobgarage:CallVehiclesInfo', function(source, cb, job) QBCore.Functions.CreateCallback('mh_jobgarage:CallVehiclesInfo', function(source, cb, job)
local result = {} local result = {}
MySQL.query("SELECT * FROM mh_jobgarage WHERE job = ?", {job}, function(rs) MySQL.query("SELECT * FROM mh_jobgarage WHERE job = ?", {job}, function(rs)
if rs[1] ~= nil then if rs[1] ~= nil then
for k, v in pairs(rs) do for k, v in pairs(rs) do
table.insert(result, {plate = v.plate, key_value = v.value, name = v.name, closed = v.closed}) table.insert(result, {plate = v.plate, key_value = v.value, name = v.name, closed = v.closed})
end end
else else
result = false result = false
end end
cb(result) cb(result)
end) end)
end) end)
-- mh_jobgarage:AddVehicleToJob VARIABLEN: -- mh_jobgarage:AddVehicleToJob VARIABLEN:
QBCore.Functions.CreateCallback('mh_jobgarage:AddVehicleToJob', function(source, cb, plate, stats) QBCore.Functions.CreateCallback('mh_jobgarage:AddVehicleToJob', function(source, cb, plate, stats)
local Player = QBCore.Functions.GetPlayer(source) local Player = QBCore.Functions.GetPlayer(source)
local pedid = Player.PlayerData.citizenid local pedid = Player.PlayerData.citizenid
local pedjob = Player.PlayerData.job.name local pedjob = Player.PlayerData.job.name
local isOwner = MySQL.query("SELECT * FROM player_vehicles WHERE citizenid = ? and plate = ?", {pedid, plate}) local isOwner = CheckVehicleOwner(pedid, plate)--MySQL.query("SELECT * FROM player_vehicles WHERE citizenid = ? and plate = ?", {pedid, plate})
local haveKeys = MySQL.query("SELECT * FROM vehicle_keys WHERE owner = ? and plate = ?", {pedid, plate}) local haveKeys = MySQL.query("SELECT * FROM vehicle_keys WHERE owner = ? and plate = ?", {pedid, plate})
if isOwner and haveKeys then if isOwner and haveKeys then
if haveKeys[1].count == stats[2] then if haveKeys[1].count == stats[2] then
MySQL.query("DELETE FROM vehicle_keys SET owner = ? AND plate = ?", {pedid, plate}) MySQL.query("DELETE FROM vehicle_keys SET owner = ? AND plate = ?", {pedid, plate})
elseif haveKeys[1].count > stats[2] then elseif haveKeys[1].count > stats[2] then
MySQL.query("UPDATE vehicle_keys SET count = count - ? WHERE owner = ? and plate = ?", {stats[2], pedid, plate}) MySQL.query("UPDATE vehicle_keys SET count = count - ? WHERE owner = ? and plate = ?", {stats[2], pedid, plate})
end end
MySQL.query("INSERT INTO mh_jobgarage(job, rang, value, plate, name, closed) VALUES (?, ?, ?, ?, ?, ?)", {pedjob, stats[3], stats[2], plate, stats[1], "false"}, function(rs) MySQL.query("INSERT INTO mh_jobgarage(job, rang, value, plate, name, closed) VALUES (?, ?, ?, ?, ?, ?)", {pedjob, stats[3], stats[2], plate, stats[1], "false"}, function(rs)
if rs then if rs then
MySQL.query("UPDATE player_vehicles SET citizenid = ? WHERE owner = ? and plate = ?", {"11111111111", pedid, plate}) MySQL.query("UPDATE player_vehicles SET citizenid = ? WHERE owner = ? and plate = ?", {"11111111111", pedid, plate})
cb({ cb({
status = true, status = true,
text = "Fahrzeug wurde Hinzugefügt!", text = "Fahrzeug wurde Hinzugefügt!",
type ="success" type ="success"
}) })
end end
end) end)
else else
if not isOwner then if not isOwner then
cb({ cb({
status = false, status = false,
text = "Du bist nicht der Besitzer vom Fahrzeug!", text = "Du bist nicht der Besitzer vom Fahrzeug!",
type ="warning" type ="warning"
}) })
elseif not haveKeys then elseif not haveKeys then
cb({ cb({
status = false, status = false,
key = true, key = true,
text = "Du hast keinen Ersatzschlüssel, Stelle erst welche her. \nMakierung wurde dir gesetzt!", text = "Du hast keinen Ersatzschlüssel, Stelle erst welche her. \nMakierung wurde dir gesetzt!",
type = "inform" type = "inform"
}) })
end end
end end
end) end)
RegisterServerEvent('mh_jobgarage:DeleteFromList') RegisterServerEvent('mh_jobgarage:DeleteFromList')
AddEventHandler('mh_jobgarage:DeleteFromList', function(plate) AddEventHandler('mh_jobgarage:DeleteFromList', function(plate)
local _source = source local _source = source
local Player = QBCore.Functions.GetPlayer(_source) local Player = QBCore.Functions.GetPlayer(_source)
local pedid = Player.PlayerData.citizenid local pedid = Player.PlayerData.citizenid
local veh_opt = MySQL.query("SELECT * FROM mh_jobgarage WHERE plate = ?", {plate}) local veh_opt = MySQL.query("SELECT * FROM mh_jobgarage WHERE plate = ?", {plate})
MySQL.query("SELECT * FROM vehicle_keys WHERE plate = ? and owner = ?", {plate, pedid}, function(rs) MySQL.query("SELECT * FROM vehicle_keys WHERE plate = ? and owner = ?", {plate, pedid}, function(rs)
if rs[1] ~= nil then if rs[1] ~= nil then
MySQL.query("UPDATE vehicle_keys SET count = count + ? WHERE plate = ? and owner = ?", {rs[1].count, plate, pedid},function(rowsChange) MySQL.query("UPDATE vehicle_keys SET count = count + ? WHERE plate = ? and owner = ?", {rs[1].count, plate, pedid},function(rowsChange)
if rowsChange then if rowsChange then
TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten", "Du hast "..rs[1].count.."x Schlüssel bekommen.", "success") TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten", "Du hast "..rs[1].count.."x Schlüssel bekommen.", "success")
end end
end) end)
else else
MySQL.query("INSERT INTO vehicle_keys(owner, plate, count) VALUES (?, ?, ?)", {pedid, plate, rs[1].count}, function(rowsChange) MySQL.query("INSERT INTO vehicle_keys(owner, plate, count) VALUES (?, ?, ?)", {pedid, plate, rs[1].count}, function(rowsChange)
if rowsChange then if rowsChange then
TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten", "Du hast "..rs[1].count.."x Schlüssel bekommen.", "success") TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten", "Du hast "..rs[1].count.."x Schlüssel bekommen.", "success")
end end
end) end)
end end
end) end)
MySQL.query("UPDATE player_vehicles SET citizenid = ? WHERE plate = ?", {pedid, plate}) MySQL.query("UPDATE player_vehicles SET citizenid = ? WHERE plate = ?", {pedid, plate})
MySQL.query("DELETE FROM mh_jobgarage WHERE plate = ?", {plate}) MySQL.query("DELETE FROM mh_jobgarage WHERE plate = ?", {plate})
end) end)
QBCore.Functions.CreateCallback('mh_jobgarage:lockVehicle', function(source, cb, plate) QBCore.Functions.CreateCallback('mh_jobgarage:lockVehicle', function(source, cb, plate)
MySQL.query("SELECT * FROM mh_jobgarage WHERE plate = ?", {plate}, function(rs) MySQL.query("SELECT * FROM mh_jobgarage WHERE plate = ?", {plate}, function(rs)
if rs[1] ~= nil then if rs[1] ~= nil then
if rs[1].closed == "true" then if rs[1].closed == "true" then
MySQL.query("UPDATE mh_jobgarage SET closed = ? WHERE plate = ?", {'false', plate}) MySQL.query("UPDATE mh_jobgarage SET closed = ? WHERE plate = ?", {'false', plate})
cb(true) cb(true)
elseif rs[1].closed == "false" then elseif rs[1].closed == "false" then
MySQL.query("UPDATE mh_jobgarage SET closed = ? WHERE plate = ?", {'true', plate}) MySQL.query("UPDATE mh_jobgarage SET closed = ? WHERE plate = ?", {'true', plate})
cb(true) cb(true)
end end
end end
end) end)
Wait(300) Wait(300)
cb(false) cb(false)
end) end)
RegisterServerEvent('mh_jobgarage:RemoveKeys') RegisterServerEvent('mh_jobgarage:RemoveKeys')
AddEventHandler('mh_jobgarage:RemoveKeys', function(plate, value) AddEventHandler('mh_jobgarage:RemoveKeys', function(plate, value)
local _source = source local _source = source
local Player = QBCore.Functions.GetPlayer(source) local Player = QBCore.Functions.GetPlayer(source)
local pedid = Player.PlayerData.citizenid local pedid = Player.PlayerData.citizenid
MySQL.query("SELECT * FROM mh_jobgarage WHERE plate = ?", {plate}, function(rs) MySQL.query("SELECT * FROM mh_jobgarage WHERE plate = ?", {plate}, function(rs)
if rs ~= nil then if rs ~= nil then
MySQL.query("UPDATE mh_jobgarage SET value = value - ? WHERE plate = ?", {value, plate}, function(rs) MySQL.query("UPDATE mh_jobgarage SET value = value - ? WHERE plate = ?", {value, plate}, function(rs)
if rs ~= nil then if rs ~= nil then
TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten", value.."x Schlüssel für das Fahrzeug mit dem Kennzeichen: "..plate.." Entfernt.", "success") TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten", value.."x Schlüssel für das Fahrzeug mit dem Kennzeichen: "..plate.." Entfernt.", "success")
local havekey = CheckEintrag_v_key(pedid, plate) local havekey = CheckEintrag_v_key(pedid, plate)
if havekey then if havekey then
MySQL.query("UPDATE vehicle_keys SET count = count + ? WHERE owner = ? and plate = ?", {value, pedid, plate}) MySQL.query("UPDATE vehicle_keys SET count = count + ? WHERE owner = ? and plate = ?", {value, pedid, plate})
else else
MySQL.query("INSERT INTO vehicle_keys(owner, plate, count) VALUES (?, ?, ?)", {pedid, plate, value}) MySQL.query("INSERT INTO vehicle_keys(owner, plate, count) VALUES (?, ?, ?)", {pedid, plate, value})
end end
else else
TriggerClientEvent('mh_jobgarage:notify', _source, "Fehler! Fahrzeug nicht mehr da!", "error") TriggerClientEvent('mh_jobgarage:notify', _source, "Fehler! Fahrzeug nicht mehr da!", "error")
end end
end) end)
end end
end) end)
end) end)
RegisterServerEvent('mh_jobgarage:AddKeys') RegisterServerEvent('mh_jobgarage:AddKeys')
AddEventHandler('mh_jobgarage:AddKeys', function(plate, value) AddEventHandler('mh_jobgarage:AddKeys', function(plate, value)
local _source = source local _source = source
local Player = QBCore.Functions.GetPlayer(source) local Player = QBCore.Functions.GetPlayer(source)
local pedid = Player.PlayerData.citizenid local pedid = Player.PlayerData.citizenid
MySQL.query("SELECT * FROM vehicle_keys WHERE owner = ? and plate = ?", {pedid, plate}, function(rs) MySQL.query("SELECT * FROM vehicle_keys WHERE owner = ? and plate = ?", {pedid, plate}, function(rs)
if rs then if rs then
if rs[1].count > value then if rs[1].count > value then
MySQL.query("UPDATE vehicle_keys SET count = count - ? WHERE owner = ? and plate = ?", {value, pedid, plate}) MySQL.query("UPDATE vehicle_keys SET count = count - ? WHERE owner = ? and plate = ?", {value, pedid, plate})
MySQL.query("UPDATE mh_jobgarage SET value = value + ? WHERE plate = ?", {value, plate}) MySQL.query("UPDATE mh_jobgarage SET value = value + ? WHERE plate = ?", {value, plate})
TriggerClientEvent('mh_jobgarage:notify', _source, "Du hast "..value.."x Schlüssel Hinzugefügt!", "success") TriggerClientEvent('mh_jobgarage:notify', _source, "Du hast "..value.."x Schlüssel Hinzugefügt!", "success")
elseif rs[1].count == value then elseif rs[1].count == value then
MySQL.query("DELETE FROM vehicle_keys WHERE owner = ? and plate = ?", {pedid, plate}) MySQL.query("DELETE FROM vehicle_keys WHERE owner = ? and plate = ?", {pedid, plate})
MySQL.query("UPDATE mh_jobgarage SET value = value + ? WHERE plate = ?", {value, plate}) MySQL.query("UPDATE mh_jobgarage SET value = value + ? WHERE plate = ?", {value, plate})
TriggerClientEvent('mh_jobgarage:notify', _source, "Du hast "..value.."x Schlüssel Hinzugefügt!", "success") TriggerClientEvent('mh_jobgarage:notify', _source, "Du hast "..value.."x Schlüssel Hinzugefügt!", "success")
else else
TriggerClientEvent('mh_jobgarage:notify', _source, "Du hast versucht mehr Schlüssel reinzupacken als du hast!", "error") TriggerClientEvent('mh_jobgarage:notify', _source, "Du hast versucht mehr Schlüssel reinzupacken als du hast!", "error")
end end
else else
TriggerClientEvent('mh_jobgarage:notify', _source, "Du Besitzt kein Ersatzschlüssel, fertige erst welche an!", "inform") TriggerClientEvent('mh_jobgarage:notify', _source, "Du Besitzt kein Ersatzschlüssel, fertige erst welche an!", "inform")
end end
end) end)
end) end)
RegisterServerEvent('mh_jobgarage:ChangeName') RegisterServerEvent('mh_jobgarage:ChangeName')
AddEventHandler('mh_jobgarage:ChangeName', function(plate, name) AddEventHandler('mh_jobgarage:ChangeName', function(plate, name)
local _source = source local _source = source
MySQL.query("UPDATE mh_jobgarage SET name = ? WHERE plate = ?", {name, plate}, function(rs) MySQL.query("UPDATE mh_jobgarage SET name = ? WHERE plate = ?", {name, plate}, function(rs)
if rs then if rs then
TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten", "Anzeigename geändert auf '"..name.."'.", "success") TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten", "Anzeigename geändert auf '"..name.."'.", "success")
else else
TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten", "Wurde das Fahrzeug grade Entfernt? bitte Prüfen und erneut versuchen...", "success") TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten", "Wurde das Fahrzeug grade Entfernt? bitte Prüfen und erneut versuchen...", "success")
end end
end) end)
end) end)
RegisterServerEvent('mh_jobgarage:AddVehicleKey') RegisterServerEvent('mh_jobgarage:AddVehicleKey')
AddEventHandler('mh_jobgarage:AddVehicleKey', function(veh) AddEventHandler('mh_jobgarage:AddVehicleKey', function(veh)
local _source = source local _source = source
local Player = QBCore.Functions.GetPlayer(_source) local Player = QBCore.Functions.GetPlayer(_source)
local pedid = Player.PlayerData.citizenid local pedid = Player.PlayerData.citizenid
MySQL.query("SELECT * FROM mh_jobgarage WHERE plate = ?", {veh.plate}, function(rs) MySQL.query("SELECT * FROM mh_jobgarage WHERE plate = ?", {veh.plate}, function(rs)
if rs then if rs then
if rs[1].value < 1 then if rs[1].value < 1 then
TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten - "..veh.name, "Keine Schlüssel mehr vorhanden!", "inform") TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten - "..veh.name, "Keine Schlüssel mehr vorhanden!", "inform")
else else
MySQL.query("SELECT * FROM vehicle_keys WHERE owner = ? and plate = ?", {pedid, veh.plate}, function(rs) MySQL.query("SELECT * FROM vehicle_keys WHERE owner = ? and plate = ?", {pedid, veh.plate}, function(rs)
print(json.encode(rs)) print(json.encode(rs))
if rs[1] ~= nil then if rs[1] ~= nil then
MySQL.query("UPDATE vehicle_keys SET count = count + 1 WHERE owner = ? and plate = ?", {pedid, veh.plate}) MySQL.query("UPDATE vehicle_keys SET count = count + 1 WHERE owner = ? and plate = ?", {pedid, veh.plate})
else else
MySQL.query("INSERT INTO vehicle_keys(owner, plate, count) VALUES (?, ?, ?)", {pedid, veh.plate, 1}) MySQL.query("INSERT INTO vehicle_keys(owner, plate, count) VALUES (?, ?, ?)", {pedid, veh.plate, 1})
end end
MySQL.query("UPDATE mh_jobgarage SET value = value - 1 WHERE plate = ?", {veh.plate}) MySQL.query("UPDATE mh_jobgarage SET value = value - 1 WHERE plate = ?", {veh.plate})
TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten - "..veh.name, "Du hast dir ein Schlüssel für den "..veh.name.." genommen!", "success") TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten - "..veh.name, "Du hast dir ein Schlüssel für den "..veh.name.." genommen!", "success")
end) end)
end end
end end
end) end)
end) end)
RegisterServerEvent('mh_jobgarage:DelVehicleKey') RegisterServerEvent('mh_jobgarage:DelVehicleKey')
AddEventHandler('mh_jobgarage:DelVehicleKey', function(veh) AddEventHandler('mh_jobgarage:DelVehicleKey', function(veh)
local _source = source local _source = source
local Player = QBCore.Functions.GetPlayer(source) local Player = QBCore.Functions.GetPlayer(source)
local pedid = Player.PlayerData.citizenid local pedid = Player.PlayerData.citizenid
print("DEL 1") print("DEL 1")
MySQL.query("SELECT * FROM vehicle_keys WHERE owner = ? and plate = ?", {pedid, veh.plate}, function(rs) MySQL.query("SELECT * FROM vehicle_keys WHERE owner = ? and plate = ?", {pedid, veh.plate}, function(rs)
if rs then if rs then
print("DEL 2") print("DEL 2")
if rs[1].count > 1 then if rs[1].count > 1 then
print("DEL 3") print("DEL 3")
MySQL.query("UPDATE vehicle_keys SET count = count - 1 WHERE owner = ? AND plate = ?", {pedid, veh.plate}) MySQL.query("UPDATE vehicle_keys SET count = count - 1 WHERE owner = ? AND plate = ?", {pedid, veh.plate})
else else
print("DEL 4") print("DEL 4")
MySQL.query("DELETE FROM vehicle_keys WHERE owner = ? AND plate = ?", {pedid, veh.plate}) MySQL.query("DELETE FROM vehicle_keys WHERE owner = ? AND plate = ?", {pedid, veh.plate})
end end
print("DEL 5") print("DEL 5")
MySQL.query("UPDATE mh_jobgarage SET value = value + 1 WHERE plate = ?", {veh.plate}) MySQL.query("UPDATE mh_jobgarage SET value = value + 1 WHERE plate = ?", {veh.plate})
TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten - "..veh.name, "Du hast ein Schlüssel zurückgegeben.", "success") TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten - "..veh.name, "Du hast ein Schlüssel zurückgegeben.", "success")
else else
print("DEL 6") print("DEL 6")
TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten - "..veh.name, "Du hast kein Schlüssel für deses Fahrzeug!", "inform") TriggerClientEvent('mh_jobgarage:notify', _source, "Schlüsselkasten - "..veh.name, "Du hast kein Schlüssel für deses Fahrzeug!", "inform")
end end
end) end)
end) end)
RegisterServerEvent('mh_jobgarage:GiveAllKeysBack') RegisterServerEvent('mh_jobgarage:GiveAllKeysBack')
AddEventHandler('mh_jobgarage:GiveAllKeysBack', function(veh) AddEventHandler('mh_jobgarage:GiveAllKeysBack', function(veh)
local _source = source local _source = source
local Player = QBCore.Functions.GetPlayer(_source) local Player = QBCore.Functions.GetPlayer(_source)
local pedid = Player.PlayerData.citizenid local pedid = Player.PlayerData.citizenid
for k, v in pairs(veh) do for k, v in pairs(veh) do
MySQL.query("SELECT * FROM vehicle_keys WHERE owner = ? and plate = ?", {pedid, v.plate}, function(rs) MySQL.query("SELECT * FROM vehicle_keys WHERE owner = ? and plate = ?", {pedid, v.plate}, function(rs)
if rs then if rs then
MySQL.query("UPDATE mh_jobgarage SET value = value + ? WHERE plate = ?", {rs[1].count, v.plate}) MySQL.query("UPDATE mh_jobgarage SET value = value + ? WHERE plate = ?", {rs[1].count, v.plate})
MySQL.query("DELETE FROM vehicle_keys WHERE owner = ? AND plate = ?", {pedid, v.plate}) MySQL.query("DELETE FROM vehicle_keys WHERE owner = ? AND plate = ?", {pedid, v.plate})
end end
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) end)