--========================================================-- --UNIVERSAL DODGE SYSTEM HERE BRO========================================================-- local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer local EMOTE_ID = "90488938832099" local DODGE_SOUND_ID = "7251381246" local DODGE_DURATION = 1.75 local MOVE_DISTANCE = 5 local MOVE_TIME = 0.5 local currentTrack = nil local dodgeSound = nil local dodging = false local savedCollision = {} local collisionConnection = nil local savedWalkSpeed = 16 local savedJumpPower = 50 local savedJumpHeight = 7.2 local savedAutoRotate = true --========================================================-- -- GUI --========================================================-- local gui = Instance.new("ScreenGui") gui.Name = "UltraInstinctGui" gui.ResetOnSpawn = false gui.IgnoreGuiInset = true gui.DisplayOrder = 999999 gui.Parent = player:WaitForChild("PlayerGui") local button = Instance.new("TextButton") button.Name = "UltraInstinctButton" button.Size = UDim2.new(0, 155, 0, 65) button.Position = UDim2.new(1, -175, 1, -160) button.BackgroundColor3 = Color3.fromRGB(95, 95, 125) button.BackgroundTransparency = 0.05 button.Text = "ULTRA\nINSTINCT" button.TextColor3 = Color3.fromRGB(255, 255, 255) button.TextScaled = true button.Font = Enum.Font.GothamBold button.AutoButtonColor = true button.Parent = gui local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 18) corner.Parent = button local stroke = Instance.new("UIStroke") stroke.Thickness = 3 stroke.Color = Color3.fromRGB(220, 220, 255) stroke.Parent = button --========================================================-- -- ANTI-FLING --========================================================-- local function disableCollision(character) table.clear(savedCollision) for _, object in ipairs(character:GetDescendants()) do if object:IsA("BasePart") then savedCollision[object] = object.CanCollide object.CanCollide = false object.AssemblyLinearVelocity = Vector3.zero object.AssemblyAngularVelocity = Vector3.zero end end end local function restoreCollision(character) for part, oldCollision in pairs(savedCollision) do if part and part.Parent then part.CanCollide = oldCollision end end table.clear(savedCollision) end local function startCollisionProtection(character) disableCollision(character) if collisionConnection then collisionConnection:Disconnect() end collisionConnection = character.DescendantAdded:Connect(function(object) if dodging and object:IsA("BasePart") then savedCollision[object] = object.CanCollide object.CanCollide = false end end) end local function stopCollisionProtection(character) if collisionConnection then collisionConnection:Disconnect() collisionConnection = nil end restoreCollision(character) end --========================================================-- -- MOVEMENT LOCK --========================================================-- local function lockMovement(humanoid) savedWalkSpeed = humanoid.WalkSpeed savedJumpPower = humanoid.JumpPower savedJumpHeight = humanoid.JumpHeight savedAutoRotate = humanoid.AutoRotate humanoid.WalkSpeed = 0 humanoid.JumpPower = 0 humanoid.JumpHeight = 0 humanoid.AutoRotate = false humanoid:SetStateEnabled( Enum.HumanoidStateType.Jumping, false ) end local function unlockMovement(humanoid) if not humanoid or not humanoid.Parent then return end humanoid.WalkSpeed = savedWalkSpeed humanoid.JumpPower = savedJumpPower humanoid.JumpHeight = savedJumpHeight humanoid.AutoRotate = savedAutoRotate humanoid:SetStateEnabled( Enum.HumanoidStateType.Jumping, true ) humanoid:Move(Vector3.zero, false) end --========================================================-- -- SOUND --========================================================-- local function playDodgeSound(character) if dodgeSound then pcall(function() dodgeSound:Stop() dodgeSound:Destroy() end) end local root = character:FindFirstChild("HumanoidRootPart") dodgeSound = Instance.new("Sound") dodgeSound.Name = "UltraInstinctDodgeSound" dodgeSound.SoundId = "rbxassetid://" .. DODGE_SOUND_ID dodgeSound.Volume = 1 dodgeSound.RollOffMaxDistance = 80 dodgeSound.Parent = root or character dodgeSound:Play() dodgeSound.Ended:Connect(function() if dodgeSound then dodgeSound:Destroy() dodgeSound = nil end end) end --========================================================-- -- MOVE LEFT --========================================================-- local function moveLeft(character) local root = character:FindFirstChild("HumanoidRootPart") if not root then return end local leftDirection = -root.CFrame.RightVector local targetPosition = root.Position + leftDirection * MOVE_DISTANCE local targetCFrame = CFrame.new(targetPosition) * root.CFrame.Rotation local tweenInfo = TweenInfo.new( MOVE_TIME, Enum.EasingStyle.Sine, Enum.EasingDirection.Out ) local tween = TweenService:Create( root, tweenInfo, { CFrame = targetCFrame } ) tween:Play() end --========================================================-- -- STOP EMOTE --========================================================-- local function stopEmote(humanoid) if currentTrack then pcall(function() currentTrack:Stop(0) end) currentTrack = nil end local animator = humanoid:FindFirstChildOfClass("Animator") if animator then for _, track in ipairs( animator:GetPlayingAnimationTracks() ) do pcall(function() track:Stop(0) end) end end end --========================================================-- -- ULTRA INSTINCT DODGE --========================================================-- local function ultraInstinctDodge() if dodging then return end local character = player.Character if not character then return end local humanoid = character:FindFirstChildOfClass("Humanoid") local root = character:FindFirstChild("HumanoidRootPart") if not humanoid or not root then return end if humanoid.RigType ~= Enum.HumanoidRigType.R15 then warn("Ultra Instinct requires R15!") return end dodging = true -- Anti-fling startCollisionProtection(character) -- Lock movement lockMovement(humanoid) -- Dodge sound playDodgeSound(character) -- Move 5 studs left moveLeft(character) -- Use the working catalog emote method local success, track = pcall(function() return humanoid:PlayEmoteAndGetAnimTrackById( EMOTE_ID ) end) if success and track then currentTrack = track else warn("Could not play emote:", EMOTE_ID) end --====================================================-- -- END AFTER 1.75 SECONDS --====================================================-- task.delay(DODGE_DURATION, function() if not character.Parent then dodging = false return end local currentHumanoid = character:FindFirstChildOfClass("Humanoid") if currentHumanoid then stopEmote(currentHumanoid) unlockMovement(currentHumanoid) end -- Restore collision stopCollisionProtection(character) dodging = false end) end --========================================================-- -- MOBILE BUTTON --========================================================-- button.Activated:Connect(function() ultraInstinctDodge() end) --========================================================-- -- PC KEYBIND: Q --========================================================-- UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.Q then ultraInstinctDodge() end end) --========================================================-- -- RESPAWN --========================================================-- player.CharacterAdded:Connect(function() dodging = false currentTrack = nil table.clear(savedCollision) if collisionConnection then collisionConnection:Disconnect() collisionConnection = nil end task.wait(1) if not gui.Parent then gui.Parent = player:WaitForChild("PlayerGui") end end)