function ulx.asay( calling_ply, message )
local format
local nothing = ""
local owner = Color(255,74,2)
local super = Color(122,0,0)
local admin = Color(116,173,0)
local mod = Color(68,90,251)
local dev = Color(0,255,255)
message = message:sub( nothing:len() + 1 )
if calling_ply:IsUserGroup("Special") or calling_ply:IsUserGroup("disguiseowner") or calling_ply:IsUserGroup("vipdisguise") then
ULib.tsayColor(v, false, Color(255, 255, 255), "[", Color(255, 0, 0), "STAFF", Color(255,255,255), "] ", owner , "(Owner) ", team.GetColor(calling_ply:Team()), calling_ply:GetName(), Color(255,255,255) , ": " , Color(128, 128, 128), message)
elseif calling_ply:IsUserGroup("superadmin") or calling_ply:IsUserGroup("disguisesuper") then
ULib.tsayColor(v, false, Color(255, 255, 255), "[", Color(255, 0, 0), "STAFF", Color(255,255,255), "] ", super , "(Super) " ,team.GetColor(calling_ply:Team()), calling_ply:GetName(), Color(255,255,255) , ":" , Color(128, 128, 128), message)
elseif calling_ply:IsUserGroup("admin") or calling_ply:IsUserGroup("disguiseadmin") then
ULib.tsayColor(v, false, Color(255, 255, 255), "[", Color(255, 0, 0), "STAFF", Color(255,255,255), "] ", admin , "(Admin) " ,team.GetColor(calling_ply:Team()), calling_ply:GetName(), Color(255,255,255) , ":" , Color(128, 128, 128), message)
elseif calling_ply:IsUserGroup("mod") or calling_ply:IsUserGroup("disguisemod") then
ULib.tsayColor(v, false, Color(255, 255, 255), "[", Color(255, 0, 0), "STAFF", Color(255,255,255), "] ", mod , "(Mod) " ,team.GetColor(calling_ply:Team()), calling_ply:GetName(), Color(255,255,255) , ":" , Color(128, 128, 128), message)
elseif calling_ply:IsUserGroup("dev") then
ULib.tsayColor(v, false, Color(255, 255, 255), "[", Color(255, 0, 0), "STAFF", Color(255,255,255), "] ", dev , "(Dev) " ,team.GetColor(calling_ply:Team()), calling_ply:GetName(), Color(255,255,255) , ":" , Color(128, 128, 128), message)
end
local players = player.GetAll()
for i=#players, 1, -1 do
local v = players[ i ]
if not ULib.ucl.query( v, seeasayAccess ) and v ~= calling_ply then -- Calling player always gets to see the echo
table.remove( players, i )
end
end
ulx.fancyLog( players, format, calling_ply, message )
end
local asay = ulx.command( CATEGORY_NAME, "ulx asay", ulx.asay, "#", true, true )
asay:addParam{ type=ULib.cmds.StringArg, hint="message", ULib.cmds.takeRestOfLine }
asay:defaultAccess( ULib.ACCESS_ADMIN )
asay:help( "Staff chat." )