local AztechTeam = {} local player = game.Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local humanoid, character = nil, nil local isInfinityActive = false -- Keeps track of Infinity toggle function AztechTeam.initializeCharacter() character = player.Character or player.CharacterAdded:Wait() humanoid = character:WaitForChild("Humanoid") end AztechTeam.initializeCharacter() player.CharacterAdded:Connect(AztechTeam.initializeCharacter) -- Reinitialize on character respawn function AztechTeam.setToolName(hotbarIndex, moveName) local hotbar = playerGui:FindFirstChild("Hotbar") if hotbar then local backpack = hotbar:FindFirstChild("Backpack") local hotbarFrame = backpack and backpack:FindFirstChild("Hotbar") local baseButton = hotbarFrame and hotbarFrame:FindFirstChild(tostring(hotbarIndex)) if baseButton then local toolNameLabel = baseButton:FindFirstChild("Base") and baseButton.Base:FindFirstChild("ToolName") if toolNameLabel then toolNameLabel.Text = moveName end end end end -- Set move names AztechTeam.setToolName(1, "Reveral Red") AztechTeam.setToolName(2, "Rapid Punches") AztechTeam.setToolName(3, "Two Fold Kick") AztechTeam.setToolName(4, "Infinity Attack") -- Create the Infinity tool (teleport out of attacks) local function createInfinityTool() local tool = Instance.new("Tool") tool.Name = "Infinity" tool.RequiresHandle = false tool.Parent = player.Backpack tool.Activated:Connect(function() isInfinityActive = not isInfinityActive if isInfinityActive then print("Infinity activated: Teleporting out of attacks!") else print("Infinity deactivated: Normal defense.") end end) end -- Create the Limitless tool (teleport to nearest player) local function createLimitlessTool() local tool = Instance.new("Tool") tool.Name = "Limitless" tool.RequiresHandle = false tool.Parent = player.Backpack tool.Activated:Connect(function() local nearestPlayer, shortestDistance = nil, math.huge local playerPosition = character.HumanoidRootPart.Position -- Find the nearest player for _, otherPlayer in ipairs(game.Players:GetPlayers()) do if otherPlayer ~= player and otherPlayer.Character and otherPlayer.Character:FindFirstChild("HumanoidRootPart") then local otherPosition = otherPlayer.Character.HumanoidRootPart.Position local distance = (otherPosition - playerPosition).Magnitude if distance < shortestDistance then shortestDistance = distance nearestPlayer = otherPlayer end end end -- Teleport to nearest player if found if nearestPlayer and nearestPlayer.Character and nearestPlayer.Character:FindFirstChild("HumanoidRootPart") then character:SetPrimaryPartCFrame(nearestPlayer.Character.HumanoidRootPart.CFrame) print("Teleported to the nearest player!") else print("No nearby players found.") end end) end -- Function to teleport far enough to avoid attacks when Infinity is active function AztechTeam.teleportOutOfAttack() if isInfinityActive then -- Generate a larger random offset for teleportation local randomOffset = Vector3.new(math.random(-50, 50), 0, math.random(-50, 50)) local newPosition = character.HumanoidRootPart.Position + randomOffset character:SetPrimaryPartCFrame(CFrame.new(newPosition)) end end -- Detect and teleport away from any incoming attacks character.DescendantAdded:Connect(function(descendant) if descendant:IsA("BodyVelocity") or descendant:IsA("BodyGyro") or descendant:IsA("BodyPosition") then -- If the attack would affect the player, teleport far away AztechTeam.teleportOutOfAttack() end end) -- Initialize the Infinity and Limitless tools createInfinityTool() createLimitlessTool() -- change their speed and things local birdUSuck = { [10469493270] = {replacementId = "17889458563", startTime = 0, speed = 1}, -- 1st M1 [10469630950] = {replacementId = "17889461810", startTime = 0, speed = 1}, -- 2nd M1 [10469639222] = {replacementId = "17889471098", startTime = 0, speed = 1}, -- 3rd M1 [10469643643] = {replacementId = "17889290569", startTime = 0, speed = 1}, -- 4th M1 -- Moves [10468665991] = {replacementId = "13073745835", startTime = 0.2, speed = 1}, -- Move 1 [10466974800] = {replacementId = "13560306510", startTime = 0, speed = 1.3}, -- Move 2 [10471336737] = {replacementId = "13294790250", startTime = 0.5, speed = 1}, -- Move 3 [12510170988] = {replacementId = "16746843881", startTime = 2, speed = 1}, -- Move 4 -- moves like downslam etc... [10470104242] = {replacementId = "12684185971", startTime = 0, speed = 1}, -- Downslam [10503381238] = {replacementId = "14900168720", startTime = 1.3, speed = 1}, -- Mini Uppercut [10479335397] = {replacementId = "14046756619", startTime = 0, speed = 0.7}, -- Front Dash } function AztechTeam.stopAllAnimations() for _, track in ipairs(humanoid:GetPlayingAnimationTracks()) do track:Stop() end end function AztechTeam.playReplacementAnimation(config) local anim = Instance.new("Animation") anim.AnimationId = "rbxassetid://" .. config.replacementId local track = humanoid:LoadAnimation(anim) track:Play() track:AdjustSpeed(0) track.TimePosition = config.startTime track:AdjustSpeed(config.speed) end humanoid.AnimationPlayed:Connect(function(animationTrack) local animId = tonumber(animationTrack.Animation.AnimationId:match("%d+")) local config = birdUSuck[animId] if config then AztechTeam.stopAllAnimations() AztechTeam.playReplacementAnimation(config) end end) character.DescendantAdded:Connect(function(descendant) if descendant:IsA("BodyVelocity") then descendant.Velocity = Vector3.new(descendant.Velocity.X, 0, descendant.Velocity.Z) end end) -- ult moves and name soon...