I have a local script that needs to adjust a value based on key input and that values current state. However, when the key is pressed, I get this :
17:31:25.736 - CBV is not a valid member of LocalScript
17:31:25.738 - Stack Begin
17:31:25.741 - Script 'Players.Player1.PlayerGui.ClientManager', Line 47
17:31:25.743 - Stack End
A bit further in the script, the exact same folder is referenced and used just fine. Can anyone explain this?
local player = game:GetService("Players").LocalPlayer
local MovementStyle
local IdleStyle
local MovementAsset = {"rbxassetid://643347794","rbxassetid://643348089"}
local Mouse = player:GetMouse()
local Target = Mouse.Target
local CBV = player.PlayerGui.ClientManager:FindFirstChild("CombatValues")
if CBV ~= nil then print("Data Located")
end
local MotionEvent = game.ReplicatedStorage:WaitForChild("MotionEvent")
local InteractEvent = game.ReplicatedStorage:WaitForChild("Interact")
function onKeyPress(inputObject, gameProcessedEvent)
if inputObject.KeyCode == Enum.KeyCode.W or inputObject.KeyCode == Enum.KeyCode.S or inputObject.KeyCode == Enum.KeyCode.A or inputObject.KeyCode == Enum.KeyCode.D
and script.CharacterState.Value == "Exploration" and script.Sprinting.Value == false then
MovementStyle = ("rbxassetid://661645004")
IdleStyle = ("rbxassetid://661054611")
MotionEvent:FireServer(MovementStyle,IdleStyle)
print(MovementStyle)
elseif inputObject.KeyCode == Enum.KeyCode.F and script.CharacterState.Value == "Exploration" then
script.CharacterState.Value = "Combative"
elseif inputObject.KeyCode == Enum.KeyCode.F and script.CharacterState.Value == "Combative" then
script.CharacterState.Value = "Exploration"
--InteractEvent:FireServer(Target.Parent,Target.Parent.Name)
elseif inputObject.KeyCode == Enum.KeyCode.LeftShift and script.Sprinting.Value == true then
script.Sprinting.Value = false
elseif inputObject.KeyCode == Enum.KeyCode.LeftShift and script.Sprinting.Value == false then
script.Sprinting.Value = true
--print("Sprintinging Toggled!")
----------------------The Problem Area------------------------------------
elseif inputObject.KeyCode == Enum.KeyCode.H and script.CBV.AttackDirection.Value ~= "Central" then
script.AttackDirection.Value = "Central"
elseif inputObject.KeyCode == Enum.KeyCode.G and script.CBV.AttackDirection.Value == "Left" then
script.AttackDirection.Value = "Right"
elseif inputObject.KeyCode == Enum.KeyCode.G and script.CBV.AttackDirection.Value == "Right" then
script.AttackDirection.Value = "Left"
end
end
--IMPORTANT-- Switching attack directions resets attack cooldown resulting in faster combat
game:GetService("UserInputService").InputBegan:connect(onKeyPress)
Mouse.Button1Down:connect(function()
if CBV.AttackCoolDown.Value == 0 and CBV.Swinging.Value == false then
CBV.AttackCoolDown.Value = 1
print("Attacking")
end
end)
