All content on our site is free and will always be free.

Please consider supporting us with disabling your AdBlock software and to gain access to thousands of free content!

Not sure how to disable AdBLock? Follow this tutorial: How to disable AdBlock

Get the Fe Emoji Chat

The Fe Emoji Chat code is below. Copy & inject it into the game. Enjoy!

-- // Notes:
-- The emojis list is based from discord the list is here: https://raw.githubusercontent.com/Aidez/emojiscopy/master/main or https://pastebin.com/raw/719UsVji \\ --
-- My code is ugly k dont read c:

-- // Configuration, super simple: \\ --

local config = {
-- // Values should be "true" or "false" and make sure there's a "," or ";" after them. \\ --
['EmojiAutofill'] = true; -- Autofills potential emojis like :sungla with :sunglasses:, you can hit tab to fill
['EmojiReplace'] = true; -- Autofills emojis instantly after adding both ":"'s example: ":sunglasses:" will turn into "?"
}

-- // Main (no need to modify( \\ --

if not game:IsLoaded() then
game.Loaded:Wait()
end

local jsondecode = function(arg)
return game:GetService("HttpService"):JSONDecode(arg)
end

local jsonencode = function(arg)
return game:GetService("HttpService"):JSONEncode(arg)
end

local getchat = function()
return {
main = game:GetService("Players").LocalPlayer.PlayerGui.Chat;
chatbar = game:GetService("Players").LocalPlayer.PlayerGui.Chat.Frame.ChatBarParentFrame.Frame.BoxFrame.Frame.ChatBar;
messages = game:GetService("Players").LocalPlayer.PlayerGui.Chat.Frame.ChatChannelParentFrame.Frame_MessageLogDisplay.Scroller
}
end

local scroller = function(obj)
obj.ClipsDescendants = true;
local Scroller = Instance.new("Frame")
local CopyMessage = Instance.new("TextButton")
local UIListLayout = Instance.new("UIListLayout")
local CopyUser = Instance.new("TextButton")
local DeleteMessage = Instance.new("TextButton")
local Mute = Instance.new("TextButton")
local Unmute = Instance.new("TextButton")
local Tp = Instance.new("TextButton")

Scroller.Name = "Scroller"
Scroller.Parent = obj;
Scroller.AnchorPoint = Vector2.new(0.5, 1)
Scroller.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Scroller.BackgroundTransparency = 1.000
Scroller.Position = UDim2.new(0, #obj.TextButton.Text * 14, 6.5, 0)
Scroller.Size = UDim2.new(0, 206, 0, 99)

CopyMessage.Name = "CopyMessage"
CopyMessage.Parent = Scroller
CopyMessage.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
CopyMessage.BackgroundTransparency = 0.500
CopyMessage.BorderColor3 = Color3.fromRGB(27, 42, 53)
CopyMessage.BorderSizePixel = 0
CopyMessage.Position = UDim2.new(0, 49, 0, 50)
CopyMessage.Size = UDim2.new(0, 200, 0, 15)
CopyMessage.Font = Enum.Font.SourceSansBold
CopyMessage.Text = "Copy message"
CopyMessage.TextColor3 = Color3.fromRGB(255, 255, 255)
CopyMessage.TextSize = 14.000
CopyMessage.TextStrokeTransparency = 0.750
CopyMessage.TextWrapped = true

UIListLayout.Parent = Scroller
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0, 2)

CopyUser.Name = "CopyUser"
CopyUser.Parent = Scroller
CopyUser.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
CopyUser.BackgroundTransparency = 0.500
CopyUser.BorderColor3 = Color3.fromRGB(27, 42, 53)
CopyUser.BorderSizePixel = 0
CopyUser.Position = UDim2.new(0, 49, 0, 50)
CopyUser.Size = UDim2.new(0, 200, 0, 15)
CopyUser.Font = Enum.Font.SourceSansBold
CopyUser.Text = "Copy username"
CopyUser.TextColor3 = Color3.fromRGB(255, 255, 255)
CopyUser.TextSize = 14.000
CopyUser.TextStrokeTransparency = 0.750
CopyUser.TextWrapped = true

DeleteMessage.Name = "DeleteMessage"
DeleteMessage.Parent = Scroller
DeleteMessage.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
DeleteMessage.BackgroundTransparency = 0.500
DeleteMessage.BorderColor3 = Color3.fromRGB(27, 42, 53)
DeleteMessage.BorderSizePixel = 0
DeleteMessage.Position = UDim2.new(0, 49, 0, 50)
DeleteMessage.Size = UDim2.new(0, 200, 0, 15)
DeleteMessage.Font = Enum.Font.SourceSansBold
DeleteMessage.Text = "Delete (client)"
DeleteMessage.TextColor3 = Color3.fromRGB(255, 255, 255)
DeleteMessage.TextSize = 14.000
DeleteMessage.TextStrokeTransparency = 0.750
DeleteMessage.TextWrapped = true

Mute.Name = "Mute"
Mute.Parent = Scroller
Mute.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
Mute.BackgroundTransparency = 0.500
Mute.BorderColor3 = Color3.fromRGB(27, 42, 53)
Mute.BorderSizePixel = 0
Mute.Position = UDim2.new(0, 49, 0, 50)
Mute.Size = UDim2.new(0, 200, 0, 15)
Mute.Font = Enum.Font.SourceSansBold
Mute.Text = "Mute (client)"
Mute.TextColor3 = Color3.fromRGB(255, 255, 255)
Mute.TextSize = 14.000
Mute.TextStrokeTransparency = 0.750
Mute.TextWrapped = true

Unmute.Name = "Unmute"
Unmute.Parent = Scroller
Unmute.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
Unmute.BackgroundTransparency = 0.500
Unmute.BorderColor3 = Color3.fromRGB(27, 42, 53)
Unmute.BorderSizePixel = 0
Unmute.Position = UDim2.new(0, 49, 0, 50)
Unmute.Size = UDim2.new(0, 200, 0, 15)
Unmute.Font = Enum.Font.SourceSansBold
Unmute.Text = "Unmute (client)"
Unmute.TextColor3 = Color3.fromRGB(255, 255, 255)
Unmute.TextSize = 14.000
Unmute.TextStrokeTransparency = 0.750
Unmute.TextWrapped = true

Tp.Name = "Tp"
Tp.Parent = Scroller
Tp.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
Tp.BackgroundTransparency = 0.500
Tp.BorderColor3 = Color3.fromRGB(27, 42, 53)
Tp.BorderSizePixel = 0
Tp.Position = UDim2.new(0, 49, 0, 50)
Tp.Size = UDim2.new(0, 200, 0, 15)
Tp.Font = Enum.Font.SourceSansBold
Tp.Text = "Teleport To Player"
Tp.TextColor3 = Color3.fromRGB(255, 255, 255)
Tp.TextSize = 14.000
Tp.TextStrokeTransparency = 0.750
Tp.TextWrapped = true
return Scroller;
end

local bindable = Instance.new("BindableEvent");
local cache = {};
local dependencies = {
['Emojis'] = jsondecode(game:HttpGet('https://pastebin.com/raw/719UsVji'));
['Chat'] = getchat();
}

local sendmsg = function(m)
if dependencies['Chat'] then
game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer(m, "All")
end
end

local get = function(s)
if dependencies['Emojis'][s] then
return dependencies['Emojis'][s];
else
return nil;
end
end

local fillmatches = function(emojis, object)
local t = object.Text;
for i, v in pairs(emojis) do
local emoji = get(v);
if emoji then
object.Text = string.gsub(object.Text, ":"..v..":", emoji)
end
end
end

local last;

local autofill = function(tbl, object)
local find = tbl[1];
if #find >= 2 then
else
return;
end

local start = tbl[2]
last = tbl;

local match;

for i, v in pairs(dependencies['Emojis']) do
if i:lower():sub(1, #find) == find:lower() then
match = i;
end
end

object.Parent.AutofillBox.PlaceholderText = '';

if match then
local s = object.Text:sub(1, start - 1);
object.Parent.AutofillBox.PlaceholderText = s..':'..match..':'
end
end

local trueautofill = function(tbl, object)
local find = tbl[1];
local start = tbl[2]

local match;
last = nil;

if #find >= 2 then
else
return;
end

for i, v in pairs(dependencies['Emojis']) do
if i:lower():sub(1, #find) == find:lower() then
match = i;
end
end

if match then
local s = object.Text:sub(1, start - 1);
object.Text = s..':'..match..':'
end
end


local match = function(t, obj)
if t:find(":") then
local start = 0;
local scan = {};
local autofills = {};

for i = 1, #t do
local s = t:sub(i, i)
if s == ':' then
if start >= 1 then
table.insert(scan, t:sub(start + 1, i - 1))
start = 0;
else
start = i;
end
end
end

start = 0;

for i = 1, #t do
local s = t:sub(i, i)
if s == ':' then
if start >= 1 then
start = 0;
else
start = i;
end
end
end

obj.Parent.AutofillBox.PlaceholderText = '';

if start >= 1 then
table.insert(autofills, t:sub(start + 1, #t))
if config['EmojiAutofill'] == true then
autofill({
autofills[1],
start
}, obj)
end
else
obj.Parent.AutofillBox.PlaceholderText = '';
end

if config['EmojiReplace'] == true then
fillmatches(scan, obj)
end
else
return {}
end
end


spawn(function()
game:GetService("RunService").Heartbeat:Connect(function()
if cache[dependencies['Chat'].chatbar] == nil then
cache[dependencies['Chat'].chatbar] = true;
dependencies['Chat'] = getchat()
bindable:Fire(dependencies['Chat'])
end
end)
end)

game:GetService("UserInputService").InputBegan:Connect(function(k)
if k.KeyCode then
if k.KeyCode == Enum.KeyCode.Tab then
if focused then
if last then
local object = dependencies['Chat'].chatbar;
trueautofill(last, object)
wait()
object.Text = object.Text:sub(1, #object.Text - 1)
end
end
end
end
end)

local getplayer = function(t)
for i = 1, #t do
if t:sub(i, i) == ']' then
return game:GetService("Players"):FindFirstChild(t:sub(2, i - 1));
end
end
return nil;
end

local getvalue = function(t)
for i = 1,#t do
if t:sub(i,i) == ' ' then
else
return t:sub(i,#t)
end
end
return 'void'
end

local scrollers = {};

game:GetService("UserInputService").InputBegan:Connect(function(input)
if dependencies['Chat'] then
if input.UserInputType == Enum.UserInputType.MouseButton2 then
local m = game:GetService("Players").LocalPlayer:GetMouse()
local objs = game:GetService("Players").LocalPlayer.PlayerGui:GetGuiObjectsAtPosition(m.X, m.Y)
for i, v in pairs(objs) do
if v:FindFirstChild("TextButton") then
if v:FindFirstChild("Scroller") then
return
end
local s = scroller(v);

for i, v in pairs(s:GetChildren()) do
if v:IsA("TextButton") then
v.ZIndex = 20;
end
end

table.insert(scrollers, s);
if #scrollers >= 2 then
scrollers[1]:Destroy()
scrollers = {
s
}
end
s.Parent.ClipsDescendants = false;
s.MouseLeave:Connect(function()
s:Destroy();
end)

s.CopyMessage.MouseButton1Click:Connect(function()
setclipboard(getvalue(v.Text))
s:Destroy();
end)

s.DeleteMessage.MouseButton1Click:Connect(function()
v:Destroy()
end)

s.CopyUser.MouseButton1Click:Connect(function()
local t = v.TextButton.Text;
for i = 1, #t do
if t:sub(i, i) == ']' then
setclipboard(t:sub(2, i - 1));
end
end
s:Destroy()
end)

s.Unmute.MouseButton1Click:Connect(function()
sendmsg("/unmute "..tostring(getplayer(v.TextButton.Text)))
s:Destroy()
end)

s.Mute.MouseButton1Click:Connect(function()
sendmsg("/mute "..tostring(getplayer(v.TextButton.Text)))
s:Destroy()
end)

s.Tp.MouseButton1Click:Connect(function()
local plr = getplayer(v.TextButton.Text)
local hrp = game:GetService("Players").LocalPlayer.Character.HumanoidRootPart;
local them = plr.Character:WaitForChild("HumanoidRootPart");
hrp.CFrame = CFrame.new(them.Position)
end)
end
end
end
end
end)

bindable.Event:Connect(function(tbl)
local bar = tbl.chatbar;
bar.ZIndex = 2;
bar.Parent.TextLabel.ZIndex = 3;
local clone = bar:Clone();
clone.Name = 'AutofillBox'
clone.Parent = bar.Parent;
clone.TextEditable = false;
clone.ZIndex = 1;
clone.TextTransparency = .5
clone.PlaceholderColor3 = Color3.fromRGB(0, 0, 0)

bar:GetPropertyChangedSignal("Text"):Connect(function()
focused = true;
local txt = bar.Text;
if txt == '' then
clone.PlaceholderText = '';
return;
end
match(txt, bar)
end)

bar.FocusLost:Connect(function()
clone.PlaceholderText = '';
focused = false;
end)
end)