Change Part Properties Locally When A Player Has Badge / Change Part Properties Locally When A Player Chats A Certain Message

Hello! I’ve been working on an ARG style game, and I need these two things for some puzzles. I’ve tried using old scripts that used to work, but don’t work anymore due to roblox changes. Any help is appreciated!

1 Like

I assume you should be able to just do this for the badge part:

local BadgeID = ... -- Set this
local BadgeService = game:GetService("BadgeService")
local UserHasBadge = BadgeService:UserHasBadgeAsync(game.Players.LocalPlayer, BadgeId)

if UserHasBadge then
	-- Change the part properties here
end

Are you using the legacy chat or the new chat? I believe they have slightly different implementations for detecting the chat messages…

1 Like

im using the legacy chat, sorry for late response

1 Like

idk if you saw my previous msg so im just replying

1 Like

For legacy, I believe that you have to have a server script which listens to Player.Chatted. You then need to use a remote event to have a local script change the part properties.

e.g.

local Remote = ...
game.Players.PlayerAdded:Connect(function(plr)
	plr.Chatted:Connect(function(message)
		Remote:FireClient(plr, message)
	end)
end)
1 Like