86 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
local QBCore = exports['qb-core']:GetCoreObject()
 | 
						|
 | 
						|
local function GetIdentifier(src)
 | 
						|
    local Player = QBCore.Functions.GetPlayer(src)
 | 
						|
    if not Player then return nil end
 | 
						|
    return Player.PlayerData[Config.UseIdentifier]
 | 
						|
end
 | 
						|
 | 
						|
local function HasPermission(src)
 | 
						|
    local player = QBCore.Functions.GetPlayer(src)
 | 
						|
    if not player then return false end
 | 
						|
    local perms = Config.AllowedAdmins
 | 
						|
    return perms[player.PlayerData.group] ~= nil or IsPlayerAceAllowed(src, "command")
 | 
						|
end
 | 
						|
 | 
						|
-- /ped
 | 
						|
RegisterCommand("ped", function(source, args)
 | 
						|
    --if not HasPermission(source) then return end
 | 
						|
    local target = QBCore.Functions.GetPlayer(args[1]) --args[1]
 | 
						|
    local pedName = args[2]
 | 
						|
    if not target or not pedName then return end
 | 
						|
 | 
						|
    if target == nil then return end
 | 
						|
    
 | 
						|
    TriggerClientEvent("pyrion:client:SetPed", targetId, pedName)
 | 
						|
end)
 | 
						|
 | 
						|
-- /pedBack
 | 
						|
RegisterCommand("pedBack", function(source, args)
 | 
						|
    if not HasPermission(source) then return end
 | 
						|
    local target = args[1]
 | 
						|
    local targetId = target == "me" and source or tonumber(target)
 | 
						|
    TriggerClientEvent("pyrion:client:ResetPed", targetId)
 | 
						|
end)
 | 
						|
 | 
						|
-- /pedGive
 | 
						|
RegisterCommand("pedGive", function(source, args)
 | 
						|
    if not HasPermission(source) then return end
 | 
						|
    local target = args[1]
 | 
						|
    local pedName = args[2]
 | 
						|
    if not pedName then return end
 | 
						|
 | 
						|
    local targetId = target == "me" and source or tonumber(target)
 | 
						|
    local identifier = GetIdentifier(targetId)
 | 
						|
 | 
						|
    MySQL.query.await("REPLACE INTO player_peds (identifier, ped) VALUES (?, ?)", {identifier, pedName})
 | 
						|
    Config.Notification(source, "Ped gespeichert in der Datenbank!", "success")
 | 
						|
    TriggerClientEvent("pyrion:client:SetPed", targetId, pedName)
 | 
						|
end)
 | 
						|
 | 
						|
-- /pedUpdate
 | 
						|
RegisterCommand("pedUpdate", function(source, args)
 | 
						|
    if not HasPermission(source) then return end
 | 
						|
    local target = args[1]
 | 
						|
    local pedName = args[2]
 | 
						|
    if not pedName then return end
 | 
						|
 | 
						|
    local targetId = target == "me" and source or tonumber(target)
 | 
						|
    local identifier = GetIdentifier(targetId)
 | 
						|
 | 
						|
    MySQL.query.await("UPDATE player_peds SET ped = ? WHERE identifier = ?", {pedName, identifier})
 | 
						|
    Config.Notification(source, "Ped aktualisiert!", "primary")
 | 
						|
end)
 | 
						|
 | 
						|
-- /pedDelete
 | 
						|
RegisterCommand("pedDelete", function(source, args)
 | 
						|
    if not HasPermission(source) then return end
 | 
						|
    local target = args[1]
 | 
						|
    local targetId = target == "me" and source or tonumber(target)
 | 
						|
    local identifier = GetIdentifier(targetId)
 | 
						|
 | 
						|
    MySQL.query.await("DELETE FROM player_peds WHERE identifier = ?", {identifier})
 | 
						|
    Config.Notification(source, "Ped gelöscht!", "error")
 | 
						|
    TriggerClientEvent("pyrion:client:ResetPed", targetId)
 | 
						|
end)
 | 
						|
 | 
						|
-- Laden beim Spawn
 | 
						|
AddEventHandler('QBCore:Server:PlayerLoaded', function(player)
 | 
						|
    local src = player.source
 | 
						|
    local identifier = player.PlayerData[Config.UseIdentifier]
 | 
						|
 | 
						|
    local result = MySQL.query.await("SELECT ped FROM player_peds WHERE identifier = ?", {identifier})
 | 
						|
    if result and result[1] then
 | 
						|
        TriggerClientEvent("pyrion:client:SetPed", src, result[1].ped)
 | 
						|
    end
 | 
						|
end)
 |