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

How do I make dodgecount.Value not be set to 0?

Asked by 3 years ago

I'm making a dodge mechanic for my game but for whatever reason when I press H dodgecount.Value gets set to 0 and dodgex doesn't change. I've gone through every other script and they can't be the problem since they add to dodgecount and don't subtract.

dodgex is a NumValue, dodgecount is an IntValue, and dodgeaddedvalue is an IntValue that is in another script to add to dodgecount.


local player = game.Players.LocalPlayer or game.Players.PlayerAdded:Wait() local gui = game.Players.LocalPlayer:WaitForChild("PlayerGui"):WaitForChild("ScreenGui") local dodgecount = game.StarterPlayer.StarterPlayerScripts.dodgecount local debounce = false local dodgeaddedvalue = game.StarterPlayer.StarterPlayerScripts.dodgeaddedvalue local RunService = game:GetService("RunService") inputservice = game:GetService("UserInputService") dodgebar = script.Parent dodgecount.Value = 5 inputservice.InputBegan:Connect(function(input, gameProccessedEvent) local dodgex = game.StarterPlayer.StarterPlayerScripts.dodgex dodgex.Value = 1 if dodgecount.Value > 0 then if input.UserInputType == Enum.UserInputType.Keyboard or input.UserInputType == Enum.UserInputType.Gamepad1 then if gameProccessedEvent then return end if input.KeyCode == Enum.KeyCode.H or input.KeyCode == Enum.KeyCode.ButtonB then dodgeaddedvalue.Value = dodgeaddedvalue.Value + 1 dodgecount.Value = dodgecount.Value - 1 end if debounce == false then debounce = true end if dodgecount.Value == 5 then dodgex.Value = 1 RunService.Heartbeat:Wait() debounce = false else end if dodgecount.Value == 4 then dodgex.Value = 0.8 RunService.Heartbeat:Wait() debounce = false else end if dodgecount.Value == 3 then dodgex.Value = 0.6 RunService.Heartbeat:Wait() debounce = false else end if dodgecount.Value == 2 then dodgex.Value = 0.4 RunService.Heartbeat:Wait() debounce = false else end if dodgecount.Value == 1 then dodgex.Value = 0.2 RunService.Heartbeat:Wait() debounce = false else end if dodgecount.Value == 0 then dodgex.Value = 0 RunService.Heartbeat:Wait() debounce = false else end if dodgecount.Changed == true then dodgebar:TweenSize(UDim2.new(dodgex, 0,1,0,"Out","Linear",1)) end end end end) dodgecount.Changed:Connect(function(countchanged) local dodgex = dodgecount if dodgecount.Value == 5 then dodgex.Value = 1 else end if dodgecount.Value == 4 then dodgex.Value = 0.8 else end if dodgecount.Value == 3 then dodgex.Value = 0.6 else end if dodgecount.Value == 2 then dodgex.Value = 0.4 else end if dodgecount.Value == 1 then dodgex.Value = 0.2 else end if dodgecount.Value == 0 then dodgex.Value = 0 else end dodgebar:TweenSize(UDim2.new(dodgex, 0,1,0,"In","Linear",1)) end)

Sorry if this is formatted badly since I'm relatively new to scripting.

Answer this question