Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Why does this simple BoolValue checker not working outside of studio?

Asked by
PastDays 108
5 years ago
Edited 5 years ago

This is a checker

while true do wait()
    if script.Parent.W.Value == true then   
        script.Parent.Force = Vector3.new(2000,0,0)
    elseif script.Parent.W.Value == false then
        script.Parent.Force = Vector3.new(0,0,0)
    end
end

This is the User inputs, Basically you control a Part so when pressing 'W' it makes the 'BoolValue' true which in turn fires the script above to set the 'Vector 3', and on release turns that value to false.

-- FORWARD
local Fetch = game:GetService("UserInputService")
Fetch.InputBegan:connect(function(inst)
    if inst.KeyCode == Enum.KeyCode.W then
        print("W key pressed")
        game.Workspace.Player.BodyForceW.W.Value = true
    end
end)

Fetch.InputEnded:connect(function(inst)
    if inst.KeyCode == Enum.KeyCode.W then
        print("W key released")
        game.Workspace.Player.BodyForceW.W.Value = false
    end
end)
-- BACKWARD
Fetch.InputBegan:connect(function(inst)
    if inst.KeyCode == Enum.KeyCode.S then
        print("S key pressed")
        game.Workspace.Player.BodyForceS.S.Value = true
    end
end)

Fetch.InputEnded:connect(function(inst)
    if inst.KeyCode == Enum.KeyCode.S then
        print("S key released")
        game.Workspace.Player.BodyForceS.S.Value = false
    end
end)
-- LEFT
Fetch.InputBegan:connect(function(inst)
    if inst.KeyCode == Enum.KeyCode.A then
        print("A key pressed")
        game.Workspace.Player.BodyForceA.A.Value = true
    end
end)

Fetch.InputEnded:connect(function(inst)
    if inst.KeyCode == Enum.KeyCode.A then
        print("A key released")
        game.Workspace.Player.BodyForceA.A.Value = false
    end
end)
-- RIGHT
Fetch.InputBegan:connect(function(inst)
    if inst.KeyCode == Enum.KeyCode.D then
        print("D key pressed")
        game.Workspace.Player.BodyForceD.D.Value = true
    end
end)

Fetch.InputEnded:connect(function(inst)
    if inst.KeyCode == Enum.KeyCode.D then
        print("D key released")
        game.Workspace.Player.BodyForceD.D.Value = false
    end
end)

In game all of the 'prints' fire making me assume there is no fault here.

(Yes this is probably inefficient)

i then added a simple script which changes the bool value which works, Only difference here is the script below was a 'Script' where as the other was a 'Local Script'.

wait(5)
script.Parent.BodyForceW.W.Value = true
0
You need to give us more. For instance the script that sets the BoolValue Wutras 294 — 5y
0
Ok should be enough info now? PastDays 108 — 5y

Answer this question