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

Not moving when it's clicked again, why?

Was testing something I learned from youtube and the script looked like.

local p = Instance.new("Part",workspace)
p.Anchored = true
p.Position = Vector3.new(0,0,0)
p.Size = Vector3.new(4,1,2)

local cd = Instance.new("ClickDetector", p)

function move()
      p.Position = Vector3.new(5,0,0)     
end

p.ClickDetector.MouseClick:connect(move)

It's supposed to move when I click it, it moves, but it only moves once and when clicked again nothing happens.

So I was wondering if any of you could help.

1 answer

✓ Accepted answer

The reason it "doesn't move" is because the coordinate that the part should move to is unchanged, meaning that the script is running your code, but since you're repeatedly moving the part to the same coordinate, Vector3.new(5, 0, 0), it looks like nothing is changing, and you can test this by using print statements. If you'd like to see a change on every click, try something along these lines:

local p = Instance.new("Part",workspace)
p.Anchored = true
p.Position = Vector3.new(0,0,0)
p.Size = Vector3.new(4,1,2)

local cd = Instance.new("ClickDetector", p)

function move()
      p.Position = p.Position + Vector3.new(5,0,0)     
end

p.ClickDetector.MouseClick:connect(move)

The script doesn't undergo any major changes, but in this script, it'll move the part 5 studs on the x axis every time you click it, because it is adding 5 studs to the x axis on every click, rather than setting the position of the part to a predetermined coordinate.

If this helped you, please remember to accept the answer :)

2 comments

1

thanks a bunch ;)

0

No problem :D

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