
Key Required VerifiedUniversal
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Mouse = Players.LocalPlayer:GetMouse()
local player = Players.LocalPlayer
-- آیدیهای انیمیشنهای SoyGOAT
local SOY_BLOCK = 88557287105521
local SOY_CHARGE = 73502073176819
local SOY_PUNCH = 119850211147676
-- آیدیهای انیمیشنهای Nolly
local NOLLY_IDLE = 110933164243478
local NOLLY_WALK = 132550421221296
local NOLLY_RUN = 105441420067903
local NOLLY_CLICK = 92567970681901
local NOLLY_E = 74955323199805
-- آیدیهای انیمیشنهای 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 btnSoyGoat = Instance.new("TextButton")
btnSoyGoat.Size = UDim2.new(0, 200, 0, 45)
btnSoyGoat.Position = UDim2.new(0, 10, 0, 10)
btnSoyGoat.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
btnSoyGoat.TextColor3 = Color3.fromRGB(255, 255, 255)
btnSoyGoat.TextSize = 14
btnSoyGoat.Font = Enum.Font.SourceSansBold
btnSoyGoat.Text = "SoyGOAT (Off)"
btnSoyGoat.Parent = frame
Instance.new("UICorner", btnSoyGoat)
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 (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 soyTrackQ, soyTrackE, soyTrackR
local nollyTrackIdle, nollyTrackWalk, nollyTrackRun, nollyTrackClick, nollyTrackE
local fjTrackIdle, fjTrackWalk, fjTrackRun, fjTrackClick, fjTrackQ, fjTrackE, fjTrackRStart, fjTrackRIdle, fjTrackRWalk, fjTrackHitR
local isSoyGoatEnabled = 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 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
-- لود انیمیشنهای SoyGOAT (بدون ترک کلیک)
soyTrackQ = loadAnim(SOY_BLOCK, Enum.AnimationPriority.Action4)
soyTrackE = loadAnim(SOY_CHARGE, Enum.AnimationPriority.Action4)
soyTrackR = loadAnim(SOY_PUNCH, Enum.AnimationPriority.Action4)
-- لود انیمیشنهای کامل Nolly
nollyTrackIdle = loadAnim(NOLLY_IDLE, Enum.AnimationPriority.Movement)
nollyTrackWalk = loadAnim(NOLLY_WALK, Enum.AnimationPriority.Movement)
nollyTrackRun = loadAnim(NOLLY_RUN, Enum.AnimationPriority.Movement)
nollyTrackClick = loadAnim(NOLLY_CLICK, Enum.AnimationPriority.Action3)
nollyTrackE = loadAnim(NOLLY_E, Enum.AnimationPriority.Action4)
-- لود انیمیشنهای Fire Jason
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 nollyTrackIdle and nollyTrackIdle.IsPlaying then nollyTrackIdle:Stop() end
if nollyTrackWalk and nollyTrackWalk.IsPlaying then nollyTrackWalk:Stop() end
if nollyTrackRun and nollyTrackRun.IsPlaying then nollyTrackRun: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 nollyTrackIdle and not nollyTrackIdle.IsPlaying then nollyTrackIdle:Play() end
if nollyTrackWalk and nollyTrackWalk.IsPlaying then nollyTrackWalk:Stop() end
if nollyTrackRun and nollyTrackRun.IsPlaying then nollyTrackRun:Stop() end
else
if isShiftHeld then
if nollyTrackRun and not nollyTrackRun.IsPlaying then nollyTrackRun:Play() end
if nollyTrackWalk and nollyTrackWalk.IsPlaying then nollyTrackWalk:Stop() end
if nollyTrackIdle and nollyTrackIdle.IsPlaying then nollyTrackIdle:Stop() end
else
if nollyTrackWalk and not nollyTrackWalk.IsPlaying then nollyTrackWalk:Play() end
if nollyTrackRun and nollyTrackRun.IsPlaying then nollyTrackRun:Stop() end
if nollyTrackIdle and nollyTrackIdle.IsPlaying then nollyTrackIdle:Stop() end
end
end
else
if nollyTrackIdle and nollyTrackIdle.IsPlaying then nollyTrackIdle:Stop() end
if nollyTrackWalk and nollyTrackWalk.IsPlaying then nollyTrackWalk:Stop() end
if nollyTrackRun and nollyTrackRun.IsPlaying then nollyTrackRun: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)
-- دکمهها
btnSoyGoat.MouseButton1Click:Connect(function()
isSoyGoatEnabled = not isSoyGoatEnabled
btnSoyGoat.BackgroundColor3 = isSoyGoatEnabled and Color3.fromRGB(40, 140, 60) or Color3.fromRGB(60, 60, 60)
btnSoyGoat.Text = isSoyGoatEnabled and "SoyGOAT (On)" or "SoyGOAT (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 (On)" or "Nolly (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 (Block)
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
elseif isNollyEnabled then
-- نولی کلید Q ندارد
else
if not isSoyGoatEnabled or isQOnCooldown then return end
if soyTrackQ and humanoid and humanoid.Health > 0 then
soyTrackQ:Play()
isQOnCooldown = true
task.spawn(function()
for i = 25, 1, -1 do
if not isSoyGoatEnabled then break end
btnSoyGoat.Text = "SoyGOAT (CD: " .. i .. "s)"
task.wait(1)
end
isQOnCooldown = false
if isSoyGoatEnabled then btnSoyGoat.Text = "SoyGOAT (On)" end
end)
end
end
end
-- کلید R (Punch)
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
elseif isNollyEnabled then
-- نولی کلید R ندارد
else
if not isSoyGoatEnabled then return end
if soyTrackR and humanoid and humanoid.Health > 0 then soyTrackR:Play() end
end
end
-- کلید E (Charge)
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
elseif isNollyEnabled then
if isEOnCooldown then return end
if nollyTrackE and humanoid and humanoid.Health > 0 then
nollyTrackE:Play()
isEOnCooldown = true
task.delay(3, function()
if nollyTrackE and nollyTrackE.IsPlaying then
nollyTrackE:Stop()
end
end)
task.spawn(function()
for i = 5, 1, -1 do
if not isNollyEnabled then break end
task.wait(1)
end
isEOnCooldown = false
end)
end
else
if not isSoyGoatEnabled or isEOnCooldown then return end
if soyTrackE and humanoid and humanoid.Health > 0 then
soyTrackE:Play()
isEOnCooldown = true
task.delay(3, function()
if soyTrackE and soyTrackE.IsPlaying then
soyTrackE:Stop()
end
end)
task.spawn(function()
for i = 5, 1, -1 do
if not isSoyGoatEnabled then break end
task.wait(1)
end
isEOnCooldown = false
end)
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
elseif isNollyEnabled then
if isFCOnCooldown then return end
if nollyTrackClick and humanoid and humanoid.Health > 0 then
nollyTrackClick:Play()
isFCOnCooldown = true
task.spawn(function()
task.wait(2)
isFCOnCooldown = false
end)
end
else
-- حالت سوییگوت روشن باشد هم با کلیک هیچ اتفاقی نمیافتد
return
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)



*_Thumbs_up_* Good
guys its not work in delta or mobile