Currently seems to work when running this on a dummy on Studio, gonna try to do this studio thing that lets you playtest as 2 players and see if it works
plr.CharacterAdded:Connect(function(character)
local humanoid = character:WaitForChild("Humanoid")
humanoid.DisplayName = ("%s\n(@%s)"):format(plr.DisplayName, plr.Name)
end
game.Players.CharacterAdded() isn’t a valid function of game.Players.
To use CharacterAdded you’d do this:
game.Players.PlayerAdded:Connect(function(player) --Get the player who just joined
player.CharacterAdded:Connect(function(character) --Now run CharacterAdded after getting the player
local humanoid = character:WaitForChild("Humanoid") --Get the humanoid
humanoid.DisplayName = ("%s\n(@%s)"):format(player.DisplayName, player.Name)
end)
end)
I suggest you look at the Studio “Output” tab (or do /console in chat while playtesting) to see the errors in your scripts.
Here your main issue was you treated game.Players as the actual player, which isn’t correct as game.Players is where the players are stored inside the game; so for example if there’s a player called “BigFarts420” in the game, you would do game.Players.BigFarts420 to actually get that player, not game.Players.
I always check the Studio Output and the Game console but I was too dumb to figure it out (during that time). This January, I have learned my lesson and made a working one but anyway thanks for explaining the issues and stuff!