Automatic Dialog above NPC heads

Hi. I’ve seen this before I’m sure on Roblox. I’ve got absolutely no clue on how to do it though.
I want my NPC’s to have a chat bubble (just the normal Roblox one or the ones with the stripes on the left hand side) pop up above their head with different text in it every few seconds. I have no clue on how to make this happen! Could anybody help me? Thanks!

1 Like

Note that it doesnt function correctly in places with filtering.

1 Like

I don’t see an answer on there or anything at all that can help me.

Oh that’s why all my NPC text doesn’t show anymore. :frowning:

I guess I’ll make a custom one

How do I do it??

Idk if you understand. I don’t want the player to be able to interact with their dialog. I just want the player to be able to see what they’re saying. I want the NPC to have multiple different bubbles pop up above their head and so on. I don’t have the skills needed to create my own chat bubbles and so on… Which is why I want to use the roblox dialogue/chat bubble service like I have seen other people do.

How did you make your NPC do it?

This?

1 Like

Most likely.

Uh, well here’s the gist of it.

local Chats = {“I always love the look of the city from a distance.”,“The skies look clear ahead.”, “This’ll be an easy trip, I’d say!”}
local R = math.random(1, 3)
local Say = game.Chat:Chat(script.Parent, Chats[R], “Blue”)

wait(math.random()*45)


I’m like 95% sure I ripped it from wiki. Keep in mind, it doesn’t work with filtering as Paul mentioned.

This is misleading. It does work and it does exactly what you’d expect it to do: not replicate from client to server.

I really need help lol… :confused:

I didn’t solve your problem? I thought you wanted to make a dialog chat appear over someone’s head?

blob.jpg

I’m not a scripter. In hindsight I really shouldn’t have said anything. Sorry :frowning:

Over a NPC’s head. Non playing character. So basically just over a part.

That’s the wiki page that Sharksie linked you to. It’s all there.

Yes but that just inserts some random part that does it, I want it static to one part not a random one lol.

Well don’t copy it entirely. Take out the part that creates and anchors the part then define the parent a little better.

“script.Parent” would be the easiest if you’re putting the chat script in the part you want.

I honestly don’t even know how to script anymore… I was quite good a few years ago hense why i’m on this forum. I’m picking up some of the old basic stuff. Could anybody just be a brother and help me out on this one?

1 Like

I can’t simplify this more…

Create an NPC called “NPC” and make sure it has a “Head”

local Part = workspace.NPC.Head
local ChatService = game:GetService(“Chat”)
ChatService:Chat(Part, “Blame John!”, “Red”)

7 Likes