local Players = game:GetService("Players") local lp = Players.LocalPlayer local ReplicatedStorage = game:GetService("ReplicatedStorage") local TextChatService = game:GetService("TextChatService") local UserInputService = game:GetService("UserInputService") local CoreGui = game:GetService("CoreGui") -- [ AUTO DANCE FUNCTION ] local function DoDance() -- METHOD 1: Direct Emote Injection (Bypasses Chat Filters) pcall(function() local char = lp.Character if char and char:FindFirstChild("Animate") and char.Animate:FindFirstChild("PlayEmote") then char.Animate.PlayEmote:Invoke("dance2") end end) -- METHOD 2: TextChatService (Modern Chat System) pcall(function() if TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then local channel = TextChatService:FindFirstChild("TextChannels") and TextChatService.TextChannels:FindFirstChild("RBXGeneral") if channel then channel:SendAsync("/e dance2") end end end) -- METHOD 3: Legacy Chat (Old Chat System) pcall(function() local chatEvents = ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents") if chatEvents and chatEvents:FindFirstChild("SayMessageRequest") then chatEvents.SayMessageRequest:FireServer("/e dance2", "All") end end) end -- [ UI CONSTRUCTION ] if CoreGui:FindFirstChild("ApexX_Dance_Mod") then CoreGui.ApexX_Dance_Mod:Destroy() end local sg = Instance.new("ScreenGui", CoreGui) sg.Name = "ApexX_Dance_Mod" sg.ResetOnSpawn = false local DanceBtn = Instance.new("TextButton", sg) DanceBtn.Name = "DraggableDanceBtn" DanceBtn.Size = UDim2.new(0, 100, 0, 45) DanceBtn.Position = UDim2.new(0.5, -50, 0.8, 0) DanceBtn.BackgroundColor3 = Color3.fromRGB(5, 20, 5) DanceBtn.Text = "🕺 DANCE2" DanceBtn.TextColor3 = Color3.fromRGB(0, 255, 120) DanceBtn.Font = Enum.Font.Code DanceBtn.TextSize = 16 DanceBtn.AutoButtonColor = false local Corner = Instance.new("UICorner", DanceBtn) local Stroke = Instance.new("UIStroke", DanceBtn) Stroke.Color = Color3.fromRGB(0, 255, 100) Stroke.Thickness = 2 -- [ DRAGGABLE SYSTEM ] local dragToggle, dragStart, startPos DanceBtn.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragToggle = true dragStart = input.Position startPos = DanceBtn.Position end end) UserInputService.InputChanged:Connect(function(input) if dragToggle and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart DanceBtn.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragToggle = false end end) -- [ CLICK TO DANCE ] DanceBtn.MouseButton1Click:Connect(function() -- Visual Click Feedback DanceBtn.BackgroundColor3 = Color3.fromRGB(0, 255, 100) DanceBtn.TextColor3 = Color3.fromRGB(0, 0, 0) DoDance() task.wait(0.1) DanceBtn.BackgroundColor3 = Color3.fromRGB(5, 20, 5) DanceBtn.TextColor3 = Color3.fromRGB(0, 255, 120) end) -- [ HOTKEY SUPPORT ] UserInputService.InputBegan:Connect(function(input, processed) if not processed and input.KeyCode == Enum.KeyCode.P then DoDance() end end) print("APEX X : DANCE MOD LOADED! (PRESS P OR CLICK BUTTON)")