Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local ManaEvent = game.ReplicatedStorage.ManaEvent
- local RunService = game:GetService("RunService")
- local Debounce = {}
- local Debounce2 = {}
- game.Players.PlayerAdded:Connect(function(Player)
- repeat wait() until Player.Character
- local DataFolder = Instance.new("Folder", Player)
- DataFolder.Name = "DataFolder"
- local MaxMana = Instance.new("NumberValue",DataFolder)
- MaxMana.Name = "MaxMana"
- MaxMana.Value = 100
- local Mana = Instance.new("NumberValue", DataFolder)
- Mana.Name = "Mana"
- Mana.Value = 0
- local FullCharge = Instance.new("NumberValue",DataFolder)
- FullCharge.Name = "FullCharge"
- FullCharge.Value = 100
- Mana.Changed:Connect(function()
- if Mana.Value < 0 then
- Mana.Value = 0
- end
- if Mana.Value > 100 then
- Mana.Value = 100
- Debounce[Player] = nil
- end
- end)
- FullCharge.Changed:Connect(function()
- Debounce[Player] = nil
- if FullCharge.Value > 100 then
- FullCharge.Value = 100
- end
- end)
- end)
- ManaEvent.OnServerEvent:Connect(function(Player, IsKeyDown)
- Debounce[Player] = IsKeyDown
- end)
- RunService.Heartbeat:Connect(function(dt)
- for _,Player in pairs(game.Players:GetPlayers()) do
- local Mana = Player.DataFolder.Mana
- local MaxMana = Player.DataFolder.MaxMana
- local FullCharge = Player.DataFolder.FullCharge
- if Debounce[Player] then
- Mana.Value += math.clamp(.6 + (FullCharge.Value * (1.85/1000)),.25,100)
- else
- Mana.Value -= 0.25 + (FullCharge.Value * (1.85/1000))
- end
- if Mana.Value == MaxMana.Value then
- if not Debounce2[Player] then
- Debounce2[Player] = true
- FullCharge.Value = FullCharge.Value + .1
- end
- else
- Debounce2[Player] = nil
- end
- local ManaGUI = Player.PlayerGui:WaitForChild("ScreenGui").BackFrame.Overlay
- ManaGUI:TweenSize(UDim2.new(1, 0,-(Mana.Value/MaxMana.Value),0), "In", "Sine", .1)
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement