Groups = {"Console", "Admin1", "SuperModerator1", "Moderator1", "Moderator2", "Master", "Moafek", "Sozr", "SuperModerator2", "msol.beot", "Super.Admin", "FDR", "Mangres", "m5fe", "Super.Police", "Big.Admin", "msol", "Head.Admin", "LVL1", "LVL2", "LVL3", "LVL4", "LVL5", "LVL6", "Help Console", "ACL-Manager", "General-Admin", "Help Console", "LVL1", "LVL2", "LVL3", "LVL4", "LVL5", "LVL6", "Everyone"}
chat_range = 70
addEventHandler("onPlayerJoin", root,
function()
bindKey(source, "i", "down", "chatbox", "Local")
end)
addEventHandler("onResourceStart", resourceRoot,
function()
for i, player in pairs(getElementsByType("player")) do
bindKey(player, "i", "down", "chatbox", "Local")
end
end)
function isPlayerInRangeOfPoint(player, x, y, z, range)
local px, py, pz = getElementPosition(player)
return ((x-px)^2+(y-py)^2+(z-pz)^2)^0.5<=range
end
addCommandHandler("Local",
function(player, _, ...)
local px, py, pz = getElementPosition(player)
local msg = table.concat({...}, " ")
local nick = getPlayerName(player)
local team = getPlayerTeam(player)
local teamName
local r, g, b
if team then
teamName = getTeamName(team)
r, g, b = getTeamColor(team)
else
teamName = ""
r, g, b = 255, 255, 255
end
for _, v in ipairs(getElementsByType("player")) do
if isPlayerInRangeOfPoint(v, px, py, pz, chat_range) or isPlayerOnGroup(v) then
if not isPlayerMuted(player) then
outputChatBox("#FFD500(Local) "..nick.."#E0FFFF:"..msg, v, r, g, b, true)
else
outputChatBox("#FF0000Sorry You Are Muted",source,255,0,0,true)
end
end
end
end)
function isPlayerOnGroup(player)
local account = getPlayerAccount(player)
if account and not isGuestAccount(account) then
local accName = getAccountName(account)
for _, groupName in ipairs (Groups) do
local group = aclGetGroup(groupName)
if (group and isObjectInACLGroup("user."..accName, group)) or hasObjectPermissionTo(player, "function.Slap", false) then
return true
end
end
end
end
addEvent("noLocal",true)
addEventHandler("noLocal", root,
function()
for i, player in pairs(getElementsByType("player")) do
unbindKey(player, "i", "down", "chatbox", "Local")
end
end )
addEvent("yesLocal",true)
addEventHandler("yesLocal", root,
function()
for i, player in pairs(getElementsByType("player")) do
bindKey(player, "i", "down", "chatbox", "Local")
end
end )
ddEventHandler("onClientGUIClick",resourceRoot,
function()
if source == GUIEditor.button[3] then
triggerServerEvent("yesLocal",localPlayer)
elseif source == GUIEditor.button[4] then
triggerServerEvent("noLocal",localPlayer)
end
end)