I’m trying to create a warp pad system and it works correctly. I’m trying to get the warp pad that the player is standing on but instead it get’s ALL the warp pads instead of the warp pad where the player is standing. Can anyone tell me why? If you need more information just ask!
The problem is the line that says “Player:DistanceFromCharacter” is getting every warp pad which is what the problem is but I can’t seem to figure how I can make it get the warp pad that the player is standing on
Recording:
https://www.xbox.com/play/media/DYAS7X5JD5
(Wait a little it may need to load)
local Player = game.Players.LocalPlayer local PlayerGui = Player.PlayerGui local WarpGui = PlayerGui.WarpGui local TweenService = game:GetService("TweenService") local WarpPads = game.Workspace.WarpPads local Buttons = WarpGui.Frame local GameFolder = game.ReplicatedStorage.GameFolder local Events = GameFolder.Events local WarpActive = WarpPads.WarpsActive for i,WarpButtons in pairs(Buttons:GetChildren()) do for i,Warps in pairs(WarpPads:GetChildren()) do for i,Warps2 in pairs(WarpPads:GetChildren()) do if WarpButtons:IsA("TextButton") and Warps:IsA("UnionOperation") and Warps2:IsA("UnionOperation") and Player:DistanceFromCharacter(Warps2.Position)<1 then WarpButtons.MouseButton1Down:Connect(function() if WarpButtons.Name == Warps.Name and WarpButtons.Name then WarpGui.Enabled = false Events.Warp:FireServer(Warps,Warps2) print(Warps2,Warps) end end) end end end end function Open(P) if P == Player.Character.LeftFoot then WarpGui.Enabled = true end end function Close(P) if P == Player.Character.LeftFoot then WarpGui.Enabled = false end end for i, Pads in pairs(WarpPads:GetChildren()) do if Pads.Name == "GuiPart" then Pads.Touched:Connect(Open) end end for i, Pads in pairs(WarpPads:GetChildren()) do if Pads.Name == "GuiPart" then Pads.TouchEnded:Connect(Close) end end script.Parent.Close.MouseButton1Down:Connect(function() PlayerGui.WarpGui.Enabled = false end)