I have no idea how to pull this off properly. This right here is a dynamic jump that works when you hold down the left mouse button. I want the script to work with the space bar, not the left mouse button! Help!!!
local DRAIN_RATE = 15; local RESTORE_RATE = 10; local POWER = 14.5; local Gui = require(script:WaitForChild("JetpackGui")).new(); local Energy = 100; local Selected = false; local Down = false; local Player = game.Players.LocalPlayer; local Character = Player.Character; while Character==nil or Character:FindFirstChild("Humanoid")==nil or Character.Humanoid.Health==0 do wait(); Character = Player.Character; end function onButton1Down() Down = true; end function onButton1Up() Down = false; end script.Parent.Selected:connect(function(mouse) Gui:Enable(); mouse.Button1Down:connect(function() onButton1Down(mouse) end); mouse.Button1Up:connect(function() onButton1Up(mouse) end); Selected = true; while Selected do if Down then Energy = math.max(0, Energy - DRAIN_RATE); Gui:SetPercentage(Energy); local upVector = Character.HumanoidRootPart.CFrame:vectorToWorldSpace(Vector3.new(0, 1, 0)); Character.HumanoidRootPart.Velocity = Character.HumanoidRootPart.Velocity + upVector * POWER; if Energy<=0 then Down = false; end else Energy = math.min(100, Energy + RESTORE_RATE); Gui:SetPercentage(Energy); if Energy >= 100 then Down = false; end end wait(); end end) script.Parent.Deselected:connect(function(mouse) Gui:Disable(); Selected = false; end)