so i have a punching tool and it using the humanoid:TakeDamage, so sometimes if the players strength is too strong, it can make the opponents health lesser than 0, so then they dont respawn how do i fix this
1 Like
--Set up your damage value
--Set up humanoid
If damage.Value > Humanoid.Health then
Humanoid.Health = 0
else
Humanoid.Health -= Damage.Value
Also you could use LoadCharacter()
would i use a while true also where do i put it
Let me see your script, to see what I can do.
i want it to be a new script not in the punch script bcuz thats in a tool
You can use Humanoid.HealthChanged or Humanoid.Died
-- server script
local Players = game:GetService("Players")
local function newPlayer(player)
local function newCharacter(character)
character:WaitForChild("Humanoid").Died:Connect(function()
task.wait(3)
player:LoadCharacter()
end)
end
if player.Character then newCharacter(player.Character) end
player.CharacterAdded:Connect(newCharacter)
end
for _,v in Players:GetPlayers() do newPlayer(v) end
Players.PlayerAdded:Connect(newPlayer)
1 Like
To ensure players respawn when their health drops below 0, you can monitor the player’s health using the Humanoid.Died event and trigger a respawn after 3 seconds. Here’s a simple script you can add to handle that:
This way, when the player’s health hits 0 or below, they’ll respawn after 3 seconds. You can adjust the time if needed.
2 Likes
Local tool = script.Parent
Local IsUsing = false
Local Damage = 50 -- Your damage value
tool.Used:Connect(Function()
if IsUsing == false then
tool.Handle.Touched:Connect(Function(hit)
if hit.Parent:FindFirstChild("Humanoid") then
local hum = hit.Parent:FindFirstChild("Humanoid")
if Damage > hum.Health then
hum.Health = 0
else
hum.Health -= Damage
end
end
end)
end
end)
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.