Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local repstorage = game:GetService("ReplicatedStorage")
- local plrs = game:GetService("Players")
- local plr = plrs.LocalPlayer
- local tool = script.Parent
- local camera = workspace.CurrentCamera
- local events = repstorage:WaitForChild("Events")
- local cameraShaker = require(repstorage:WaitForChild("Modules"):WaitForChild("Utilities"):WaitForChild("CameraShaker"))
- local punchHoldAnim = nil
- local punchAnim = nil
- local debounce = false
- local equipped = false
- local camShake = cameraShaker.new(Enum.RenderPriority.Camera.Value, function(shakeCf)
- camera.CFrame = camera.CFrame * shakeCf
- end)
- tool.Equipped:Connect(function()
- local character = plr.Character
- if character == nil then
- return
- end
- equipped = true
- local humanoid = character:FindFirstChild("Humanoid")
- if humanoid == nil then
- return
- end
- local animator = humanoid:FindFirstChild("Animator")
- if animator == nil then
- return
- end
- punchHoldAnim = animator:LoadAnimation(tool.Animations.PunchHold)
- punchHoldAnim:Play()
- end)
- tool.Unequipped:Connect(function()
- equipped = false
- if punchHoldAnim == nil then
- return
- end
- punchHoldAnim:Stop()
- end)
- tool.Activated:Connect(function()
- if debounce then
- return
- end
- local character = plr.Character
- if character == nil then
- return
- end
- if punchHoldAnim ~= nil then
- punchHoldAnim:Stop()
- end
- debounce = true
- local humanoid = character:FindFirstChild("Humanoid")
- if humanoid == nil then
- return
- end
- local animator = humanoid:FindFirstChild("Animator")
- if animator == nil then
- return
- end
- local punchClickAnim = animator:LoadAnimation(tool.Animations.PunchClick)
- punchClickAnim:Play()
- punchClickAnim.KeyframeReached:Connect(function(keyframeName)
- camShake:Shake(cameraShaker.Presets.Bump)
- events.Punch:FireServer(25)
- end)
- punchClickAnim.Stopped:Connect(function()
- if punchHoldAnim ~= nil and equipped then
- punchHoldAnim:Play()
- end
- debounce = false
- end)
- end)
Advertisement
Add Comment
Please, Sign In to add comment