I am making a Client to Server system and I want it to pass the name of the Script (the script has the same name as the player who created the "lobby", i.e. "Warriorfoox") and when I try to run the script it prints
ServerScriptService.Scrpt:21: attempt to concatenate local 'GameName' (a userdata value)
Here's the client's local script:
local ReplicatedStorage = game:GetService("ReplicatedStorage") local AttemptJoin = ReplicatedStorage.Folder:WaitForChild("AttemptJoin") local Player = game:GetService("Players").LocalPlayer script.Parent.MouseButton1Click:Connect(function() local NewName = script.Name if script.Parent.Parent.Parent:FindFirstChild(NewName).players:FindFirstChild(Player.Name) then return end AttemptJoin:FireServer(Player,NewName) end)
and here are all of the things that lead to the issue in the server's script (broken down):
local ReplicatedStorage = game:GetService("ReplicatedStorage") local Events = Instance.new("Folder", ReplicatedStorage) local AttemptJoin = Instance.new("RemoteEvent", Events) local JoinSuccess = Instance.new("RemoteEvent", Events) AttemptJoin.Name = "AttemptJoin" JoinSuccess.Name = "JoinSuccess" function onAttemptJoin(Player,NewName) print(Player.Name.." is trying to join "..NewName.."'s Game!") if Player.PlayerGui.ScreenGui:FindFirstChild(NewName).players:FindFirstChild(Player.Name) then return end JoinSuccess:FireAllClients(Player,NewName) end AttemptJoin.OnServerEvent:Connect(onAttemptJoin)
(there is no issue with JoinSuccess so that code is not needed) If someone can tell me what is wrong and/or how to solve it, that would be massively appreciated.