Hey there, im making a game where u hit an obstacle. when u hit the obstacle it looses health, right.
my problem is that when the health is at 0/maxHealth, it just wont detect it and wont let the player rank up.
now it did work but i had it in a:
while wait() do
pcall(function()
--code in here
end)
end
when i hit 0/maxHealth i ranked up to 200 times in 1 kill and when i printed it printed up to 700 times a kill
i looked at a bunch of forums but none helped.
check if killed:
while wait() do
if Library.Modules.Omega.leeq(data.Stats.Health.Value, 0) then
game.ReplicatedStorage.Remotes.RankUp:FireServer(data)
end
end
leeq = less or equal
game.ReplicatedStorage.Remotes.TakeDamage.OnServerEvent:Connect(function(plr)
local data = Library.DataFolder[plr.Name]
local Damage = data.Stats.Damage
local Stage = data.Stats.Stage
local StarHealth = data.Stats.Health
StarHealth.Value = Library.Modules.Omega.toString(Library.Modules.Omega.sub(StarHealth.Value, Damage.Value))
end)
game.ReplicatedStorage.Remotes.RankUp.OnServerEvent:Connect(function(plr, data)
data.Stats.Stage.Value = Library.Modules.Omega.toString(Library.Modules.Omega.add(data.Stats.Stage.Value, 1))
require(game.ReplicatedStorage.Health).setHealth(plr, data, Library)
end)
setHealth:
function module.setHealth(plr, data, Library)
local Stage = data.Stats.Stage.Value
local health = Library.Modules.Omega.toString(Library.Modules.Omega.mul(10, Library.Modules.Omega.pow(3, Stage)))
data.Stats.Health.Value = health
end
please help