Fix local ooc

- Double message removed
- Admins only see 'Proximity OOC' and users 'OOC'
- You always see your own messages as 'OOC'
- Server-sided now for OneSync Infinity support
This commit is contained in:
BerkieBb
2021-08-14 01:48:41 +02:00
committed by GitHub
2 changed files with 6 additions and 13 deletions
-10
View File
@@ -116,16 +116,6 @@ AddEventHandler('QBCore:Player:UpdatePlayerPosition', function()
TriggerServerEvent('QBCore:UpdatePlayerPosition', position)
end)
RegisterNetEvent('QBCore:Client:LocalOutOfCharacter')
AddEventHandler('QBCore:Client:LocalOutOfCharacter', function(playerId, playerName, message)
local sourcePos = GetEntityCoords(GetPlayerPed(GetPlayerFromServerId(playerId)), false)
local pos = GetEntityCoords(PlayerPedId(), false)
local dist = #(pos - sourcePos)
if dist < 20.0 then
TriggerEvent("chatMessage", "OOC " .. playerName, "normal", message)
end
end)
RegisterNetEvent('QBCore:Notify')
AddEventHandler('QBCore:Notify', function(text, type, length)
QBCore.Functions.Notify(text, type, length)
+6 -3
View File
@@ -145,16 +145,19 @@ end, "admin")
QBCore.Commands.Add("ooc", "OOC Chat Message", {}, false, function(source, args)
local message = table.concat(args, " ")
TriggerClientEvent("QBCore:Client:LocalOutOfCharacter", -1, source, GetPlayerName(source), message)
local Players = QBCore.Functions.GetPlayers()
local Player = QBCore.Functions.GetPlayer(source)
for k, v in pairs(QBCore.Functions.GetPlayers()) do
if QBCore.Functions.HasPermission(v, "admin") then
if v == source then
TriggerClientEvent('chatMessage', v, "OOC " .. GetPlayerName(source), "normal", message)
elseif QBCore.Functions.HasPermission(v, "admin") then
if QBCore.Functions.IsOptin(v) then
TriggerClientEvent('chatMessage', v, "OOC " .. GetPlayerName(source), "normal", message)
TriggerClientEvent('chatMessage', v, "Proximity OOC " .. GetPlayerName(source), "normal", message)
TriggerEvent("qb-log:server:CreateLog", "ooc", "OOC", "white", "**"..GetPlayerName(source).."** (CitizenID: "..Player.PlayerData.citizenid.." | ID: "..source..") **Message:** " ..message, false)
end
elseif #(GetEntityCoords(GetPlayerPed(source)) - GetEntityCoords(GetPlayerPed(v))) < 20.0 then
TriggerClientEvent('chatMessage', v, "OOC " .. GetPlayerName(source), "normal", message)
end
end
end)