Create three functions above that remote event, outside that function. You have a nesting problem. just do local function for each one. Infact you can take it a step further and create local functions and call those functions to each remote event. It doesn’t all need to be in one function.
Example:
local function TeleportHandler()
local TeleportService = game:GetService("TeleportService")
TeleportService:Teleport(PlaceID, player)
end)
TeleportButton.Activated:Connect(function()
TeleportHandler()
end)
Once a remote event returns something to the server it stops, the way client and server talk once it finds a correct value for that function it returns it. This is why you seperate them all then call all functions, it will go through each function.
This won’t work, as the events are nested in the RemoteEvent as the new notification is cloned each time, therefore needing correct parameters. They need to all be seperate, but run in the same RemoteEvent.
Also, I don’t think the RemoteEvent ends when an event runs. I have other segments of code that use Tween.Completed:Wait() that I haven’t included in the post that run after, as they are not important.
Fyi if PlaceID is ever nil, you will have an error because TeleportButton.Activated will error because TeleportButton is destroyed.
As for what your issue is… What exactly do you mean when you say “only the first event fires when clicked”? What is “the first event” and what are you clicking out of these three buttons?