Hi, I'm currently testing a prototype for a custom chat using a text box, scripts and a text label. It doesn't display a error, but when I press enter, the script doesn't work and the text doesn't appear. I am currently on my MacBook, so I can't show any gifs but here's the scripts.
LocalScript:
local userInput = game:GetService("UserInputService") userInput.InputBegan:Connect(function(input) if input.KeyCode == Enum.KeyCode.Return then if script.Parent.TextBox.Text == "" then else local text = script.Parent.TextBox.Text game.ReplicatedStorage.chatFunction:FireServer(text) script.Parent.TextBox.Text = "" end end end)
Script:
local function Chat(text) local CloneText = script.Parent.TextLabel:Clone() CloneText.Visible = true CloneText.Text = text if CloneText ~= nil then if CloneText.Position == UDim2.new(0.1, 0, 0.65, 0) then CloneText.Position = CloneText.Position - UDim2.new(0, 0, 1, 0) else CloneText.Position = UDim2.new(0.1, 0, 0.65, 0) end end end game.ReplicatedStorage.chatFunction.OnServerEvent(Chat)
sry for bad english
Try this out : (Maybe you need to edit it)
--Server Script:
game.ReplicatedStorage.chatFunction.OnServerEvent:Connect(function(plr,text) local CloneText = script.Parent.TextLabel:Clone() CloneText.Visible = true CloneText.Text = text if CloneText ~= nil then if CloneText.Position == UDim2.new(0.1, 0, 0.65, 0) then CloneText.Position = CloneText.Position - UDim2.new(0, 0, 1, 0) else CloneText.Position = UDim2.new(0.1, 0, 0.65, 0) end end end)
the functions connected to OnServerEvent
will be passed the player
who fired the event as the first parameter.
https://developer.roblox.com/en-us/articles/Remote-Functions-and-Events