Ok so I wanted to make a gui button teleport to a specific position in my map, and I put the position in the script I made in, (Still a beginner), and.. It's not teleporting me there.
Heres the script: (ps its local script)
local debounce = true local player = script.Parent.Parent.Parent.Parent local target = game.Workspace:WaitForChild("MyPlayerName")
script.Parent.MouseButton1Click:connect(function() if debounce == true then debounce = false player.Character.HumaniodRootPart.CFrame = target.CFrame * CFrame.new(170.26, 402.762, 190.15)
Confused
In the future please use code blocks, its the blue circle at the top which you can click
there is alot of things wrongs with your code, ill go through them 1 by 1
local debounce = true local target = game.Workspace:WaitForChild("MyPlayerName") script.Parent.MouseButton1Click:connect(function() if debounce == true then enddebounce = false player.Character.HumaniodRootPart.CFrame = target.CFrame * CFrame.new(170.26, 402.762, 190.15)
First, your WaitForChild is actually waiting for a player named "MyPlayerName", but that player definitely isnt you, so its stuck at that line forever and cant go on, if you open the output view you will see the game tells you that infiniteyield possible on WaitForChild, and thats because it is going to be waiting for that imaginary "MyplayerName" forever, so put your Player Name instead like this
local player = script.Parent.Parent.Parent.Parent local target = game.Workspace:WaitForChild(player.Name)
Ok so thats fixed, your second problem is where you didnt set the debounce to false correctly
if debounce == true then debounce = false --you named the debounce differently than the debounce variable you declared at the beginning of the code.
Third problem, your HumanoidRootPart is named incorrectly, check the spelling
Fourth problem, target is your player object in the workspace, if you use target.CFrame it will throw an error saying CFrame not a member of target, thats because target is talking about the whole player's model in the workspace, use target.HumanoidRootPart.CFrame instead as you want the CFrame of his body parts.
target.HumanoidRootPart.CFrame * CFrame.new(170.26, 402.762, 190.15)
Alright last problem(finally), you didnt end your functions and if statement
script.Parent.MouseButton1Click:Connect(function() if debounce == true then end--ends the if statement end)--ends the function
This may be abit long but more problems = longer answer, when you get the code to work, please accept this answer :) it took me awhile to write, and other people can learn from it too
Move the torso instead.