Sorry for my bad english, I’m Spanish.
I need to change the name to the ID in game when i use /me or /do.
I use esx_rpchat
CLIENT/MAIN.LUA
RegisterNetEvent('esx_rpchat:sendProximityMessage')
AddEventHandler('esx_rpchat:sendProximityMessage', function(playerId, title, message, color)
local player = PlayerId()
local target = GetPlayerFromServerId(playerId)
local playerPed, targetPed = PlayerPedId(), GetPlayerPed(target)
local playerCoords, targetCoords = GetEntityCoords(playerPed), GetEntityCoords(targetPed)
if target == player or #(playerCoords - targetCoords) < 20 then
TriggerEvent('chat:addMessage', {args = {title, message}, color = color})
end
end)
Citizen.CreateThread(function()
TriggerEvent('chat:addSuggestion', '/twt', _U('twt_help'), {{name = _U('generic_argument_name'), help = _U('generic_argument_help')}})
TriggerEvent('chat:addSuggestion', '/me', _U('me_help'), {{name = _U('generic_argument_name'), help = _U('generic_argument_help')}})
TriggerEvent('chat:addSuggestion', '/do', _U('do_help'), {{name = _U('generic_argument_name'), help = _U('generic_argument_help')}})
end)
AddEventHandler('onResourceStop', function(resource)
if resource == GetCurrentResourceName() then
TriggerEvent('chat:removeSuggestion', '/twt')
TriggerEvent('chat:removeSuggestion', '/me')
TriggerEvent('chat:removeSuggestion', '/do')
end
end)
SERVER/MAIN.LUA
ESX = nil
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
AddEventHandler('chatMessage', function(playerId, playerName, message)
if string.sub(message, 1, string.len('/')) ~= '/' then
CancelEvent()
playerName = GetRealPlayerName(playerId)
TriggerClientEvent('chat:addMessage', -1, {args = {_U('ooc_prefix', playerName), message}, color = {128, 128, 128}})
end
end)
RegisterCommand('twt', function(playerId, args, rawCommand)
if playerId == 0 then
print('esx_rpchat: you can\'t use this command from console!')
else
args = table.concat(args, ' ')
local playerName = GetRealPlayerName(playerId)
TriggerClientEvent('chat:addMessage', -1, {args = {_U('twt_prefix', playerName), args}, color = {0, 153, 204}})
end
end, false)
RegisterCommand('me', function(playerId, args, rawCommand)
if playerId == 0 then
print('esx_rpchat: you can\'t use this command from console!')
else
args = table.concat(args, ' ')
local playerName = GetRealPlayerName(playerId)
TriggerClientEvent('esx_rpchat:sendProximityMessage', -1, source, _U('me_prefix', playerName), args, {255, 0, 0})
end
end, false)
RegisterCommand('do', function(playerId, args, rawCommand)
if playerId == 0 then
print('esx_rpchat: you can\'t use this command from console!')
else
args = table.concat(args, ' ')
local playerName = GetRealPlayerName(playerId)
TriggerClientEvent('esx_rpchat:sendProximityMessage', -1, source, _U('do_prefix', playerName), args, {0, 0, 255})
end
end, false)
function GetRealPlayerName(playerId)
local xPlayer = ESX.GetPlayerFromId(playerId)
if xPlayer then
if Config.EnableESXIdentity then
if Config.OnlyFirstname then
return xPlayer.get('firstName')
else
return xPlayer.getName()
end
else
return xPlayer.getName()
end
else
return GetPlayerName(playerId)
end
end