I am looking for any resources that can help with removing display names from my experience.
This blighted feature is making it impossible for my admin team to ban or moderate based off screenshot evidence, or take logs of activity from screenshots because the names are completley untraceable to actual Roblox characters.
I am unable to disable display names through editing any properties of the Player as Roblox has forbidden this.
Does anyone know of any solutions that don’t involve making an entirely custom leader board & chat menu?
I have found some resources that tell me to just edit the Player’s Humanoid’s Display name, however I would like to be able to change this + the name on the leader board + the name on the chat menu as well.
Put In ServerScriptsStorage this head tags Only username
game.Players.PlayerAdded:Connect(function(player)
-- Wait for the player's character to load
player.CharacterAdded:Connect(function(character)
-- Find the player's head
local head = character:WaitForChild("Head")
-- Create the BillboardGui (floating name tag)
local billboardGui = Instance.new("BillboardGui")
billboardGui.Adornee = head -- Attach it to the head
billboardGui.Size = UDim2.new(0, 200, 0, 50) -- Fixed size of the name tag
billboardGui.StudsOffset = Vector3.new(0, 2, 0) -- Position above the head
billboardGui.AlwaysOnTop = false -- Disable "AlwaysOnTop" to let it be occluded by other objects
-- Create a TextLabel to display the username
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0) -- Fill the entire BillboardGui
textLabel.BackgroundTransparency = 1 -- Make background invisible
textLabel.Text = player.Name -- Set the text to the player's username
textLabel.TextColor3 = Color3.fromRGB(255, 255, 255) -- White text
textLabel.TextSize = 18 -- Fixed text size (does not scale with zoom)
textLabel.TextStrokeTransparency = 0.8 -- Add a stroke for better visibility
textLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) -- Black stroke
-- Parent the TextLabel to the BillboardGui
textLabel.Parent = billboardGui
-- Parent the BillboardGui to the head
billboardGui.Parent = head
end)
end)
You aren’t able to directly edit CoreGUIs like that. You’ll have to use a custom leaderboard that displays the Player’s username if you want to get rid of display names on the leaderboard.
Assuming that you’re using TextChatService, you can use .MessageReceived() to intercept messages sent by the client. Since .MessageReceived() returns a TextChatMessage object, you can get the PrefixText of the message (Basically the part of the chat before the actual message. For e.g. (Luke: Message), and the TextSource associated, which points to the Player who sent the message. Use string.gsub to replace the Display name of the Player in the Prefix text with the username.