Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

How to detect if a npc touched a part?

I can't seem to figure out how to detect if a certain npc touched a part and then send a message (Not a player) Please Help! (Can't Use Discord)

1 answer

✓ Accepted answer

you can try this Add a remote event called "NPCPrint" or whatever you would like to the replicatedstorage.

game.Workspace.Part.Touched:Connect(function(Hit) --Event touch
if Hit.Parent.Name = "MyNPC" then --Check if the one who touched is the npc
print("MyNPC touched my párt") --Send a message that the npc has touched the part
game.ReplicatedStorage.NPCPrint:FireAllClients() --The server fires the remote event to all players on the server
script.Disabled = true
--Type the following two lines if you want the event to happen again
wait(10)
script.Disabled = false
end
end)

Then, go to StarterPlayer > StarterPlayerScripts. In there, add a LocalScript, type the following:

game.ReplicatedStorage.NPCPrint.OnClientEvent:Connect(function()
      game.StarterGui:SetCore("ChatMakeSystemMessage", { --It will add a server message to all players with the following proterties:
      Text = "The NPC has touched the part!" --Or change to whatever text the message will display
      Color = Color3.fromRGB(0,0,0) --Or change to another color you would like
      Font = Enum.Font.GothamBold --Or other font
      TextSize = 18 --Or other size
      })
end)

I think we are done! Hope it helps.

5 comments

0

Do i correct the = "MyNPC" to == "MyNPC"?

0

Nevermind Got it working

0

How do I make it so that it will only run once because when it touches it now it will log it mutiple times

0

And how would i make it send a message in chat

0

Let me try to do it

This discussion is preserved as it was. New answers, comments, and votes are closed.