I have a working Microphone, that of course works when spoken into from a certain distance. What I would like is before the message is say "Message from (Speakers Name Here)" But i cant seem to get it working? Anyone able to diagnose this problem?
function onChatted(msg, recipient, speaker)
local source = string.lower(speaker.Name)
msg =(msg)
local pos1 = script.Parent.Position
local pos2 = speaker.Character.Head.Position
dist=(pos1-pos2).magnitude
dist=dist-math.max(math.max(speaker.Character.Head.Size.x, speaker.Character.Head.Size.z), speaker.Character.Head.Size.y)
if (dist <= 5 and script.Parent.On.Value == true) then
local m = Instance.new("Message")
m.Parent = game.Workspace
m.Text = "Message from (speaker.Name): (msg)"
wait(5)
m:remove()
end
end
function onPlayerEntered(newPlayer)
newPlayer.Chatted:connect(function(msg, recipient) onChatted(msg, recipient, newPlayer) end)
end
game.Players.ChildAdded:connect(onPlayerEntered)
From this all I get is, "Message from (speaker.Name): (msg)", which isn't what I want. How do I have the variables actually be replaced by what is stated?

1 comment
ALSO: Use the PlayerAdded event, not ChildAdded.