Punch tool showing damage when hit

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve?
    When the player hits another player or when they hit a dummy, the damage value shows in a billboard

  2. What is the issue?
    When I punch a player or a dummy, their is no damage shown, or the dummy doesn’t take any damage but the player will but won’t show

  3. What solutions have you tried so far? I’ve looked on YouTube, and tried to make one, I’ve searched on Google and the libary

Send the scripts so we can see what is wrong in the script!

local TakeDamage = game:GetService("ReplicatedStorage").FireTakeDamage

script.Parent.Parent.Activated:Connect(function()
	local char = script.Parent.Parent.Parent

	if char.Parent == workspace then
    	local player = game.Players:GetPlayerFromCharacter(char)
    	local dmg = player.Strength.Value
		
    	script.Parent.Touched:Connect(function(hit)
	    	if hit.Parent ~= char then
				if game.Players:GetPlayerFromCharacter(hit.Parent) then
	    			TakeDamage:FireClient(game.Players:GetPlayerFromCharacter(hit.Parent), player)
	    		end
	    	end
    	end)
	end
end)

this is the script i use in the tool when they damage a player, but i don’t think it effects dummies

local event = game:GetService("ReplicatedStorage").TakeDamage

event.OnServerEvent:Connect(function(player, hitBy)
	local char = player.Character
	local hitByStrength = hitBy.Strength.Value
	local endurance = player.Endurance.Value
	local hitByChar = hitBy.Character
	
	if not player.Safe.Value and not hitBy.Safe.Value then
		if endurance > hitByStrength * 10 then
			hitByChar.Humanoid.Health = 0
		elseif endurance > hitByStrength then
			hitByChar.Humanoid:TakeDamage(hitByStrength * 0.1)
			char.Humanoid:TakeDamage(hitByStrength * 0.9)
		else
			char.Humanoid:TakeDamage(hitByStrength)
		end
	end
	end)

takedamage script