I am currently remaking a axe, which has a 1/20 (5%) of doing a critical hit which does 50 damage, currently I only made the critical hit, I decided to test It out however, It appears to not do anything
Script:
----Scripted by imnotaguest1121----- local Tool = script.Parent ---Tool local Debounce = false ---Debounce Is basically cooldown local CanDamage = false ---Tells the tool If It can damage local Animations = { ----Used a table to store all animations Idle = Tool.Idle Cut = Tool.Cut CriticalCut = Tool["Critical Cut"] } local Sounds = { ----Table for sounds Woosh = Tool.Woosh HitSound = Tool.HitSound HeadCut = Tool.HEADEXPLOSION } Tool.Activated:Connect(function() ---When the tool Is activated if not Debounce then ---Or for better understanding, if Debounce == false then Debounce = true ----Debounce ready local CriticalHitOrNot = math.random(20,20) ---This creates a function that determains If the player does a critical hit or not if CriticalHitOrNot == 20 then ---If the math.random() number Is 20 then CanDamage = true ---Allows tool to damage local Hum = Tool.Parent.Humanoid ---The humanoid of the player who Is currently equipped with the axe local AnimationTrack = Hum:FindFirstChild("Animator"):LoadAnimation(Animations[3]) ---Makes a AnimationTrack, which Is used to play the animation using Animator:LoadAnimation --[[It was originally easier to simply do local AnimationTrack = Hum:LoadAnimation(Animations[2]) but since Hum(anoid):LoadAnimation won't work anymore (If your using It on new work ofc) ]] AnimationTrack:Play() ---Plays animation Tool.Handle.Touched:Connect(function(hit) ----When a victim gets hit by axe --This Is optional but I decided to use It just Incase Its a Team vs Team (TvT) game, like brickbattle local player1 = game.Players:GetPlayerFromCharacter(hit.Parent) local player2 = game.Players:GetPlayerFromCharacter(Tool.Parent) if (player1 ~= nil) and (player2 ~= nil) then local humanoid = (player2.Character or player2.CharacterAdded:Wait()):FindFirstChildWhichIsA("Humanoid") if (player1.TeamColor ~= player2.TeamColor) then if (humanoid ~= nil) and CanDamage == true then humanoid:TakeDamage(50) CanDamage = false end end end end) Tool.Handle.Touched:Connect(function(hit) ---When a victim gets hit by axe, this Is for NPCS local humanoid = hit.Parent:WaitForChild("Humanoid") ---Gets humanoid --[[ You would also use FindFirstChild(WhichIsA) (Note: Don't add the () when uisng FindFirstChildWhichIsA) ]] if humanoid and CanDamage == true then ---If Its a humanoid and Candamage Is true HeadCut:Play() ---Plays the critical hitsound humanoid:TakeDamage(50) ----Does 50 damage, change the number to change how much damage It does CanDamage = false ---Stops the tool from damaging end end) end end end)