I've recently noticed while making games that need things to change for a single player; it affects every player ingame. I'm not sure why this is happening since CurrentCamera and PlayerGui used to change for a single player. I'm not sure if I'm just scripting it differently, or if Roblox happened to send out an update that changed this.
A script I have here is meant to change only for a single player, and it changes text in the player's GUI. Instead of changing for a single player, it changes for every player.
p = game.Players.LocalPlayer camera = workspace.CurrentCamera playergui = game:GetService('Players').LocalPlayer:WaitForChild('PlayerGui') local debounce = false local text = "Test" gui = playergui.Texter workspace.Stop.Touched:Connect(function() if debounce == false then debounce = true for i = 1,#text do gui.TextLabel.Text = string.sub(text, 1, i) gui.TextLabel.TextLabel.Text = string.sub(text, 1, i) wait() end wait(2) debounce = false gui.TextLabel.Text = "" gui.TextLabel.TextLabel.Text = "" end end)
The script itself works fine, but whenever a player touches the Stop (a part in the workspace) the text "test" will appear on everyone's screen.
Another situation like this with CurrentCamera occurs. I have used CurrentCamera to change blur, color correction, and more.
This script snippet, which will supposedly change the player's screen to have a more green feel and darker tint works (with bugs), but displays these effects to every player's screen like stated with the PlayerGui problem.
camera = workspace.CurrentCamera camera.correct.TintColor = Color3.fromRGB(125,143,123) for i = 0, -.15, -.05 do camera.correct.Brightness = i wait() end end
With that being said, I hope that somebody can help me with this problem as it is a regular occurrence and annoyance. I appreciate any help that I can receive, have a good night/day. :)
With your first script, the .Touched event will fire when any players touches the part. This means that whenever any player touched it, the event will fire on all clients.
You should check whether the part touching it is part of the local player's character, then continue with whatever it's doing.