(Remember to place the local script in StarterPlayerScripts!)
Side note: If any of you think this is a backdoor, it is not and I guarantee you it is 100% safe.
View the clip below to see what you can do with it! The default cooldown was shortened to show all the messages, so don’t worry about the delivery speed.
Your example can be said about anything. “Tubers93” could make hints or text labels say bad things too. Also if it did have censorship, “Tubers93” could just erase it if they were that determined to create bad messages.
While this messaging system is really good it is unnecessarily long and can be shortened considerably by removing all the repeated code. This is the shortened code:
--- Customizable System Messages
--- Created by ZurichBT Edited By TSevik
--- Enter your text messages in this table here for it to be displayed.
local Text = { -- Optional You Can Store These In A Module Script
"Enjoying your time here? Like the game to support it!",
"The game creator worked very hard on this game. Likes are greatly appreciated!",
"Follow the game to be updated on what's new!",
"Do you play this game regularly? Make sure to favorite it to show your support!",
}
--- Enter your wait cooldown between or before messages.
local startcooldown = 6 --- cooldown before any messages are sent
local cooldown = 60 --- cooldown between messages being sent
--- Message colors, fonts, and font sizes.
local MessageFontSize = Enum.FontSize.Size24 -- Text Size
local MessageColor = Color3.fromRGB(255,0,0) --- enter RGB values here
local randomfont = Enum.Font.Antique -- Text Font
--- Main script, please do not mess with it unless you know what you are doing.
if script.Disabled then return end -- Guard Clauses Optional But Recommended
local RunService = game:GetService("RunService")
-- Accurate Wait Function Made By Cinema_Sin
local function accuratewait(n)
local dt = 0
while dt < n do
dt = dt + RunService.Heartbeat:Wait()
end
return false, dt, accuratewait
end
accuratewait(startcooldown)
-- Main Loop Made By TSevik
while true do
for i,text in ipairs(Text) do -- Iterate Through The Text Table
accuratewait(cooldown)
game.StarterGui:SetCore("ChatMakeSystemMessage",{ -- Create Message
Text = text; -- Setting The Message Text To the chosen value in the table
Color = MessageColor;
Font = randomfont;
FontSize = MessageFontSize;
})
print(text) -- Printing The Chosen Text
end
end
Wowzers that was a very interesting article. What do you suggest I use instead of wait()? I dont think I can use Heartbeat:Wait() / Stepped:Wait() or :Wait() in this code. Also the article also doesn’t suggest any alternatives to wait(n) which I use to wait the cooldown time.
local RunService = game:GetService("RunService")
local function wait(n)
local dt = 0
while dt < n do
dt = dt + RunService.Heartbeat:Wait()
end
return false, dt
end
return wait