local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local Mouse = Players.LocalPlayer:GetMouse() local player = Players.LocalPlayer -- آی‌دی انیمیشن‌های نولی و بلاک local ANIM_Q = 100926346851492 local ANIM_R = 81905101227053 local ANIM_E = 74955323199805 local ANIM_CLICK = 92567970681901 local ANIM_IDLE = 110933164243478 local ANIM_WALK = 132550421221296 local ANIM_RUN = 105441420067903 -- آی‌دی انیمیشن‌های Fire Jason local FJ_IDLE = 111915677103210 local FJ_WALK = 92337314320765 local FJ_RUN = 86125526846131 local FJ_CLICK = 130958529065375 local FJ_Q = 126727756047566 local FJ_E = 70483423693126 local FJ_R_START = 91775045514793 local FJ_R_IDLE = 114548717236087 local FJ_R_WALK = 113354445309383 local FJ_HIT_R = 119062842291223 -- ساخت GUI local screenGui = Instance.new("ScreenGui") screenGui.Name = "CustomAnimGui" screenGui.ResetOnSpawn = false screenGui.Parent = player:WaitForChild("PlayerGui") local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 220, 0, 220) frame.Position = UDim2.new(0, 50, 0, 200) frame.BackgroundColor3 = Color3.fromRGB(35, 35, 35) frame.BorderSizePixel = 0 frame.Parent = screenGui local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = frame -- دکمه‌ها local btnBlock = Instance.new("TextButton") btnBlock.Size = UDim2.new(0, 200, 0, 45) btnBlock.Position = UDim2.new(0, 10, 0, 10) btnBlock.BackgroundColor3 = Color3.fromRGB(60, 60, 60) btnBlock.TextColor3 = Color3.fromRGB(255, 255, 255) btnBlock.TextSize = 14 btnBlock.Font = Enum.Font.SourceSansBold btnBlock.Text = "Block (Off)" btnBlock.Parent = frame Instance.new("UICorner", btnBlock) local btnNolly = Instance.new("TextButton") btnNolly.Size = UDim2.new(0, 200, 0, 45) btnNolly.Position = UDim2.new(0, 10, 0, 65) btnNolly.BackgroundColor3 = Color3.fromRGB(60, 60, 60) btnNolly.TextColor3 = Color3.fromRGB(255, 255, 255) btnNolly.TextSize = 14 btnNolly.Font = Enum.Font.SourceSansBold btnNolly.Text = "Nolly Animate (Off)" btnNolly.Parent = frame Instance.new("UICorner", btnNolly) local btnFireJason = Instance.new("TextButton") btnFireJason.Size = UDim2.new(0, 200, 0, 45) btnFireJason.Position = UDim2.new(0, 10, 0, 120) btnFireJason.BackgroundColor3 = Color3.fromRGB(60, 60, 60) btnFireJason.TextColor3 = Color3.fromRGB(255, 255, 255) btnFireJason.TextSize = 14 btnFireJason.Font = Enum.Font.SourceSansBold btnFireJason.Text = "Fire Jason (Off)" btnFireJason.Parent = frame Instance.new("UICorner", btnFireJason) -- متغیرها local character, humanoid, animator local trackQ, trackR, trackE, trackClick local trackIdle, trackWalk, trackRun local fjTrackIdle, fjTrackWalk, fjTrackRun, fjTrackClick, fjTrackQ, fjTrackE, fjTrackRStart, fjTrackRIdle, fjTrackRWalk, fjTrackHitR local isBlockEnabled = false local isNollyEnabled = false local isFireJasonEnabled = false local isQOnCooldown = false local isFCOnCooldown = false local isEOnCooldown = false local isROnCooldown = false local isRActive = false local function setupCharacter(char) character = char humanoid = char:WaitForChild("Humanoid", 5) animator = humanoid:WaitForChild("Animator", 5) if humanoid then humanoid.JumpPower = 0 end if animator then local oldAnimate = char:FindFirstChild("Animate") if oldAnimate then oldAnimate:Destroy() end local function loadAnim(id, priority) local anim = Instance.new("Animation") anim.AnimationId = "rbxassetid://" .. tostring(id) local success, track = pcall(function() return animator:LoadAnimation(anim) end) if success and track then track.Priority = priority return track end return nil end trackQ = loadAnim(ANIM_Q, Enum.AnimationPriority.Action4) trackR = loadAnim(ANIM_R, Enum.AnimationPriority.Action4) trackE = loadAnim(ANIM_E, Enum.AnimationPriority.Action4) trackClick = loadAnim(ANIM_CLICK, Enum.AnimationPriority.Action3) trackIdle = loadAnim(ANIM_IDLE, Enum.AnimationPriority.Movement) trackWalk = loadAnim(ANIM_WALK, Enum.AnimationPriority.Movement) trackRun = loadAnim(ANIM_RUN, Enum.AnimationPriority.Movement) fjTrackIdle = loadAnim(FJ_IDLE, Enum.AnimationPriority.Movement) fjTrackWalk = loadAnim(FJ_WALK, Enum.AnimationPriority.Movement) fjTrackRun = loadAnim(FJ_RUN, Enum.AnimationPriority.Movement) fjTrackClick = loadAnim(FJ_CLICK, Enum.AnimationPriority.Action3) fjTrackQ = loadAnim(FJ_Q, Enum.AnimationPriority.Action4) fjTrackE = loadAnim(FJ_E, Enum.AnimationPriority.Action4) fjTrackRStart = loadAnim(FJ_R_START, Enum.AnimationPriority.Action4) fjTrackRIdle = loadAnim(FJ_R_IDLE, Enum.AnimationPriority.Movement) fjTrackRWalk = loadAnim(FJ_R_WALK, Enum.AnimationPriority.Movement) fjTrackHitR = loadAnim(FJ_HIT_R, Enum.AnimationPriority.Action4) end end if player.Character then setupCharacter(player.Character) end player.CharacterAdded:Connect(setupCharacter) -- مدیریت انیمیشن‌های حرکتی RunService.RenderStepped:Connect(function() if not humanoid or not character then return end if isFireJasonEnabled then if trackIdle and trackIdle.IsPlaying then trackIdle:Stop() end if trackWalk and trackWalk.IsPlaying then trackWalk:Stop() end if trackRun and trackRun.IsPlaying then trackRun:Stop() end local moveSpeed = humanoid.MoveDirection.Magnitude local isShiftHeld = UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) or UserInputService:IsKeyDown(Enum.KeyCode.RightShift) local curIdle = (isRActive and fjTrackRIdle) or fjTrackIdle local curWalk = (isRActive and fjTrackRWalk) or fjTrackWalk local curRun = fjTrackRun if moveSpeed < 0.1 then if curIdle and not curIdle.IsPlaying then curIdle:Play() end if curWalk and curWalk.IsPlaying then curWalk:Stop() end if curRun and curRun.IsPlaying then curRun:Stop() end else if isShiftHeld then if curRun and not curRun.IsPlaying then curRun:Play() end if curWalk and curWalk.IsPlaying then curWalk:Stop() end if curIdle and curIdle.IsPlaying then curIdle:Stop() end else if curWalk and not curWalk.IsPlaying then curWalk:Play() end if curRun and curRun.IsPlaying then curRun:Stop() end if curIdle and curIdle.IsPlaying then curIdle:Stop() end end end elseif isNollyEnabled then if fjTrackIdle and fjTrackIdle.IsPlaying then fjTrackIdle:Stop() end if fjTrackWalk and fjTrackWalk.IsPlaying then fjTrackWalk:Stop() end if fjTrackRun and fjTrackRun.IsPlaying then fjTrackRun:Stop() end local moveSpeed = humanoid.MoveDirection.Magnitude local isShiftHeld = UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) or UserInputService:IsKeyDown(Enum.KeyCode.RightShift) if moveSpeed < 0.1 then if trackIdle and not trackIdle.IsPlaying then trackIdle:Play() end if trackWalk and trackWalk.IsPlaying then trackWalk:Stop() end if trackRun and trackRun.IsPlaying then trackRun:Stop() end else if isShiftHeld then if trackRun and not trackRun.IsPlaying then trackRun:Play() end if trackWalk and trackWalk.IsPlaying then trackWalk:Stop() end if trackIdle and trackIdle.IsPlaying then trackIdle:Stop() end else if trackWalk and not trackWalk.IsPlaying then trackWalk:Play() end if trackRun and trackRun.IsPlaying then trackRun:Stop() end if trackIdle and trackIdle.IsPlaying then trackIdle:Stop() end end end else if trackIdle and trackIdle.IsPlaying then trackIdle:Stop() end if trackWalk and trackWalk.IsPlaying then trackWalk:Stop() end if trackRun and trackRun.IsPlaying then trackRun:Stop() end if fjTrackIdle and fjTrackIdle.IsPlaying then fjTrackIdle:Stop() end if fjTrackWalk and fjTrackWalk.IsPlaying then fjTrackWalk:Stop() end if fjTrackRun and fjTrackRun.IsPlaying then fjTrackRun:Stop() end end end) -- دکمه‌ها btnBlock.MouseButton1Click:Connect(function() isBlockEnabled = not isBlockEnabled btnBlock.BackgroundColor3 = isBlockEnabled and Color3.fromRGB(40, 140, 60) or Color3.fromRGB(60, 60, 60) btnBlock.Text = isBlockEnabled and "Block (On)" or "Block (Off)" end) btnNolly.MouseButton1Click:Connect(function() isNollyEnabled = not isNollyEnabled btnNolly.BackgroundColor3 = isNollyEnabled and Color3.fromRGB(40, 140, 60) or Color3.fromRGB(60, 60, 60) btnNolly.Text = isNollyEnabled and "Nolly Animate (On)" or "Nolly Animate (Off)" end) btnFireJason.MouseButton1Click:Connect(function() isFireJasonEnabled = not isFireJasonEnabled isRActive = false btnFireJason.BackgroundColor3 = isFireJasonEnabled and Color3.fromRGB(40, 140, 60) or Color3.fromRGB(60, 60, 60) btnFireJason.Text = isFireJasonEnabled and "Fire Jason (On)" or "Fire Jason (Off)" end) -- کلید Q (کول‌دان: ۱۸ ثانیه) local function useQ() if isFireJasonEnabled then if isQOnCooldown then return end if fjTrackQ and humanoid and humanoid.Health > 0 then fjTrackQ:Play() isQOnCooldown = true task.spawn(function() for i = 18, 1, -1 do if not isFireJasonEnabled then break end btnFireJason.Text = "Fire Jason (Q CD: " .. i .. "s)" task.wait(1) end isQOnCooldown = false if isFireJasonEnabled then btnFireJason.Text = "Fire Jason (On)" end end) end else if not isBlockEnabled or isQOnCooldown then return end if trackQ and humanoid and humanoid.Health > 0 then trackQ:Play() isQOnCooldown = true task.spawn(function() for i = 25, 1, -1 do if not isBlockEnabled then break end btnBlock.Text = "Block (CD: " .. i .. "s)" task.wait(1) end isQOnCooldown = false if isBlockEnabled then btnBlock.Text = "Block (On)" end end) end end end -- کلید R (کول‌دان: ۳۰ ثانیه) local function useR() if isFireJasonEnabled then if isROnCooldown or isRActive then return end if fjTrackRStart and humanoid and humanoid.Health > 0 then fjTrackRStart:Play() isRActive = true isROnCooldown = true task.spawn(function() for i = 30, 1, -1 do if not isFireJasonEnabled then break end btnFireJason.Text = "Fire Jason (R CD: " .. i .. "s)" task.wait(1) end isROnCooldown = false if isFireJasonEnabled then btnFireJason.Text = "Fire Jason (On)" end end) end else if not isBlockEnabled then return end if trackR and humanoid and humanoid.Health > 0 then trackR:Play() end end end -- کلید E (کول‌دان: ۳۲ ثانیه) local function useE() if isFireJasonEnabled then if isEOnCooldown then return end if fjTrackE and humanoid and humanoid.Health > 0 then fjTrackE:Play() isEOnCooldown = true task.spawn(function() for i = 32, 1, -1 do if not isFireJasonEnabled then break end btnFireJason.Text = "Fire Jason (E CD: " .. i .. "s)" task.wait(1) end isEOnCooldown = false if isFireJasonEnabled then btnFireJason.Text = "Fire Jason (On)" end end) end else if not isNollyEnabled then return end if trackE and humanoid and humanoid.Health > 0 then trackE:Play() end end end -- کلیک موس / M1 (کول‌دان: ۲ ثانیه) Mouse.Button1Down:Connect(function() if isFireJasonEnabled then if isRActive then if fjTrackHitR and humanoid and humanoid.Health > 0 then fjTrackHitR:Play() isRActive = false end else if isFCOnCooldown then return end if fjTrackClick and humanoid and humanoid.Health > 0 then fjTrackClick:Play() isFCOnCooldown = true task.spawn(function() task.wait(2) isFCOnCooldown = false end) end end else if not isNollyEnabled then return end if trackClick and humanoid and humanoid.Health > 0 then trackClick:Play() end end end) -- کیبورد UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.Q then useQ() elseif input.KeyCode == Enum.KeyCode.R then useR() elseif input.KeyCode == Enum.KeyCode.E then useE() end end)