-
What do you want to achieve? Keep it simple and clear!
So, recently I was making a sort of information bar (sort of like the one in KH). A player with permissions would open a GUI and send a message to everyone else onto that information bar. -
What is the issue? Include screenshots / videos if possible!
The problem is that the bar’s message and it’s wait times do not match up with the player who set it to something. So what happens is the bar appears for half a second without the message as well.
Here’s some screenshots on what it’s meant to be like and extra info.
Information Changer GUI (Only shows on the person who says command's screen.

(Basically: Information Bar should take in the message from the player’s screen and put it on everyone else’s screen in the text spot)
-
What solutions have you tried so far? Did you look for solutions on the Developer Hub?
I’ve tried to use bindable events and experiment with remote events a little more but I couldn’t get it to work, in fact anything I changed would just cause it to break even more. I’ve looked around here but I haven’t found any topics similar.
Below is everything you need to know on my code:
Scripts + Extra
CustomCommand (Server Script)
local players = {"ChallengeDev", "DantesWorId"}
function onChatted(msg,speaker)
local source = string.lower (speaker.Name)
msg = string.lower (msg)
if msg == ":information" or msg == "/e :information" then
game.ReplicatedStorage.SENDINFO:FireClient(speaker)
end
end
game.Players.PlayerAdded:Connect(function(player)
for i = 1, #players do
if players[i] == player.Name then
player.Chatted:Connect(function(msg)
onChatted(msg, player)
end)
end
end
end)
Submit (Local Script)
script.Parent.MouseButton1Click:Connect(function(player)
script.Parent.Parent.Visible = false
game.ReplicatedStorage.INFORMATION:FireServer(player)
end)
game.ReplicatedStorage.SENDINFO.OnClientEvent:Connect(function(speaker)
script.Parent.Parent.Visible = true
end)
Script (ServerScript)
game.ReplicatedStorage.INFORMATION.OnServerEvent:Connect(function()
game.ReplicatedStorage.INFORMATION:FireAllClients()
end)
InfoScript (Local Script)
local GUI = script.Parent.Parent
local frame = script.Parent
local Player = game:GetService('Players').LocalPlayer:WaitForChild('PlayerGui')
wait()
local InfoChange = Player.INFORMATIONCHANGER.Frame
local waitTime = Player.INFORMATIONCHANGER.Frame.Wait
local deleteTime = Player.INFORMATIONCHANGER.Frame.WaitDelete
local Sound = frame.Sound
local tweener = frame.ImageLabel
local ts = game:GetService("TweenService")
local goal = {}
goal.ImageTransparency = 0.3
local tinfo = TweenInfo.new(1, Enum.EasingStyle.Elastic)
local t = ts:Create(tweener, tinfo, goal)
local goal2 = {}
goal2.ImageTransparency = 1
local tinfo2 = TweenInfo.new(1, Enum.EasingStyle.Elastic)
local t2 = ts:Create(tweener, tinfo2, goal2)
game.ReplicatedStorage.INFORMATION.onClientEvent:Connect(function()
wait(waitTime.Text)
Sound:Play()
frame.Visible = true
if InfoChange.DangerLevel.Text == "1" then
frame.TextLabel.TextColor3 = Color3.fromRGB(252, 255, 216)
frame.TextLabel.Text = "INFORMATION"
elseif InfoChange.DangerLevel.Text == "2" then
frame.TextLabel.TextColor3 = Color3.fromRGB(255, 89, 92)
frame.TextLabel.Text = "DANGER"
elseif InfoChange.DangerLevel.Text == "3" then
frame.TextLabel.TextColor3 = Color3.fromRGB(96, 255, 189)
frame.TextLabel.Text = "INFORMATION"
else
frame.TextLabel.TextColor3 = Color3.fromRGB(252, 255, 216)
frame.TextLabel.Text = "INFORMATION"
end
t:Play()
frame.Edit.Text = InfoChange.Message.Text
wait(deleteTime.Text)
t2:Play()
wait(0.1)
frame.Visible = false
end)
Script Locations and Events



