I have this inside a localscript in startergui
local p = game.Players.LocalPlayer
local m = p:GetMouse()
local s = game.Workspace:WaitForChild("select")
for _, v in pairs(s:GetChildren()) do
m.Move:connect(function(gui)
if m.Target == v and p:DistanceFromCharacter(v.Position)< 50 then
v.BillboardGui.Enabled = true
m.Button1Down:connect(function(a)
game.Workspace.Mouse:FireServer()
end)
else
v.BillboardGui.Enabled = false
end
end)
end
and this inside a serverside script for the remote event
local event = Instance.new("RemoteEvent") -- creates the event object
event.Parent = game.Workspace -- puts the event into the Workspace
event.Name = "Mouse" -- giving a name to the event so we can fire it specifically elsewhere
event.OnServerEvent:connect(function(player, part) -- define the function that will be called when the event is fired
print(part.Name)
end)
How can I make it so it prints the name of the part located inside the "select" model which was clicked by the player?

3 comments
What can I do to fix the design problems you listed?
it also seems that my script had a line missing, how can I include it inside the script? (line 08)
Ah, I thought I was missing somthing. My code fixed the majority of the issues, but it'll take another segment to activate the billboard again.