Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local player = game.Players.LocalPlayer
- local character = player.Character or player.CharacterAdded:Wait()
- local humanoid = character:WaitForChild("Humanoid")
- local function stopAllAnimations()
- local animator = humanoid:FindFirstChildOfClass("Animator")
- if animator then
- for _, track in pairs(animator:GetPlayingAnimationTracks()) do
- track:Stop()
- end
- end
- end
- stopAllAnimations()
- local idleAnimId = "rbxassetid://134912704311964"
- local walkAnimId = "rbxassetid://72876915959076"
- local runAnimId = "rbxassetid://75409814098993"
- local m1AnimId = "rbxassetid://123569615350667"
- local blockedAnimId = "rbxassetid://80277760801310"
- local idleAnim = Instance.new("Animation")
- idleAnim.AnimationId = idleAnimId
- local walkAnim = Instance.new("Animation")
- walkAnim.AnimationId = walkAnimId
- local runAnim = Instance.new("Animation")
- runAnim.AnimationId = runAnimId
- local m1Anim = Instance.new("Animation")
- m1Anim.AnimationId = m1AnimId
- local idleTrack = humanoid:LoadAnimation(idleAnim)
- local walkTrack = humanoid:LoadAnimation(walkAnim)
- local runTrack = humanoid:LoadAnimation(runAnim)
- local m1Track = humanoid:LoadAnimation(m1Anim)
- local isMoving = false
- local isRunning = false
- local canAttack = true
- local cooldown = 2
- local function blockUnwantedAnimations(animator)
- animator.AnimationPlayed:Connect(function(animationTrack)
- if animationTrack.Animation.AnimationId == blockedAnimId then
- animationTrack:Stop()
- end
- end)
- end
- local animator = humanoid:FindFirstChildOfClass("Animator")
- if animator then
- blockUnwantedAnimations(animator)
- else
- humanoid.ChildAdded:Connect(function(child)
- if child:IsA("Animator") then
- blockUnwantedAnimations(child)
- end
- end)
- end
- local function updateAnimations()
- if isMoving then
- if isRunning then
- if not runTrack.IsPlaying then
- idleTrack:Stop()
- walkTrack:Stop()
- runTrack:Play()
- end
- else
- if not walkTrack.IsPlaying then
- idleTrack:Stop()
- runTrack:Stop()
- walkTrack:Play()
- end
- end
- else
- if not idleTrack.IsPlaying then
- walkTrack:Stop()
- runTrack:Stop()
- idleTrack:Play()
- end
- end
- end
- local function onM1Click()
- if canAttack then
- canAttack = false
- m1Track:Play()
- idleTrack:Stop()
- walkTrack:Stop()
- runTrack:Stop()
- task.wait(cooldown)
- canAttack = true
- end
- end
- game:GetService("RunService").Heartbeat:Connect(function()
- isMoving = humanoid.MoveDirection.Magnitude > 0
- isRunning = humanoid.WalkSpeed > 16
- updateAnimations()
- end)
- local overrideAnimId = "rbxassetid://87259391926321"
- if animator then
- animator.AnimationPlayed:Connect(function(track)
- if track.Animation.AnimationId == overrideAnimId then
- onM1Click()
- end
- end)
- end
- humanoid.WalkSpeed = 16
- updateAnimations()
- local Sprinting = game:GetService("ReplicatedStorage").Systems.Character.Game.Sprinting
- local m = require(Sprinting)
- m.MaxStamina = 400
- m.StaminaGain = 30
- m.StaminaLoss = 10
- m.SprintSpeed = 36
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement