So this script should only activate once per life, at the touch of a button.
local pressed=false
local b = Instance.new("BodyForce")
script.Parent.Head.Touched:connect(function(hit)
local player = game.Players:GetPlayerFromCharacter(hit.Parent)
if not hit.Parent.Torso:findFirstChild(b) and pressed==false and script.Parent.Parent.Parent.Owner.Value==player then
pressed=true
b.Force = Vector3.new(0,3500,0)
b.Parent = hit.Parent.Torso
script.Parent.Head.BrickColor = BrickColor.new("Really black")
wait(1)
script.Parent.Head.BrickColor = BrickColor.new("Bright blue")
wait(1)
pressed=false
end
end)
Now I know it works because there's only one BodyForce within the torso and it doesn't duplicate when I press on the button more than once, but for some reason the button still changes colors from blue to black and back to blue again.
I have another button with the same concept but it works as it should and the button doesn't change color again
local pressed=false
script.Parent.Head.Touched:connect(function(hit)
local player = game.Players:GetPlayerFromCharacter(hit.Parent)
local h = hit.Parent:findFirstChild("Humanoid")
if pressed==false and script.Parent.Parent.Parent.Owner.Value==player and h.WalkSpeed==16 then
h.WalkSpeed=25
script.Parent.Head.BrickColor = BrickColor.new("Really black")
wait(1)
script.Parent.Head.BrickColor = BrickColor.new("Bright blue")
wait(1)
pressed=false
end
end)
I can't seem to find the problem with the first script. Thanks for the help.
