This thing was disturbing me since 2020, hope someone can help me.
game.Players.PlayerAdded:Connect(function()
local Remote = game.ReplicatedStorage.RemoteEvent
local Player = game.Players.LocalPlayer
Remote:FireClient(Player)
end)
This thing was disturbing me since 2020, hope someone can help me.
game.Players.PlayerAdded:Connect(function()
local Remote = game.ReplicatedStorage.RemoteEvent
local Player = game.Players.LocalPlayer
Remote:FireClient(Player)
end)
This is because you assigned Player as the local player in a server-sided script.
game.Players.PlayerAdded:Connect(function(Player)
game.ReplicatedStorage.RemoteEvent:FireClient(Player)
end)
You forgot the player parameter from the callback function connected to the PlayerAdded event.
--server
local rs = game:GetService("ReplicatedStorage")
local re = rs:WaitForChild("RemoteEvent")
local players = game:GetService("Players")
players.PlayerAdded:Connect(function(Player)
re:FireClient(Player)
end)
--client
local rs = game:GetService("ReplicatedStorage")
local re = rs:WaitForChild("RemoteEvent")
re.OnClientEvent:Connect(function()
--do code
end)
It’s also best to declare constants (variable with values which don’t change) outside of loops/callbacks connected to events which fire multiple times.