Keyless

Key Required
FE sword glitcher
Lua Script•850 lines (25758 chars)
--========================================================--
-- STACK HUB - STAR GLITCHER V18
-- ULTIMATE EDITION (BRAÇOS E ESPADAS PARA O CÉU + RANDOM CHAT)
--========================================================--
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local TextChatService = game:GetService("TextChatService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Debris = game:GetService("Debris")
local player = Players.LocalPlayer
--========================================================--
-- SWORD GRIP (APONTANDO PARA CIMA)
--========================================================--
local GripData = {
pX = 0,
pY = 0,
pZ = 0,
rX = 0,
rY = 0,
rZ = 0
}
--========================================================--
-- STATES
--========================================================--
local running = false
local isAttacking = false
local attackCooldownActive = false
local isBeyblading = false
local attackStart = 0
local ATTACK_DURATION = 0.35
local character = player.Character or player.CharacterAdded:Wait()
local humanoid
local rootPart
local rootJoint
local originalRootC0
local rightArm
local leftArm
local rightLeg
local leftLeg
local fakeLimbs = {}
local limbTrails = {}
local trailAttachments = {}
local activeSwords = {}
local spinningHats = {}
local heldSword = nil
local heldSwords = {}
local hubGui
local mainPanel
local draw1Btn
local draw2Btn
local randomChatBtn
local attackGui
local attackScreenBtn
local beybladeGuiBtn
local wasRunningBeforeRespawn = false
local RENDER_NAME = "STACK_STAR_GLITCHER_RENDER_V18"
--========================================================--
-- LOCAL INTERPOLATION
--========================================================--
local currTorso = CFrame.new()
local currRArm = CFrame.new()
local currLArm = CFrame.new()
local currRLeg = CFrame.new()
local currLLeg = CFrame.new()
local NORMAL_SPEED = 16
--========================================================--
-- HELPERS
--========================================================--
local function safeDestroy(obj)
if obj then pcall(function() obj:Destroy() end) end
end
local function cf(x, y, z, rx, ry, rz)
return CFrame.new(x, y, z)
* CFrame.Angles(
math.rad(rx or 0),
math.rad(ry or 0),
math.rad(rz or 0)
)
end
--========================================================--
-- ACCESSORY CONVERTER
--========================================================--
local function createTrail(part)
if not part then return end
local att0 = Instance.new("Attachment", part)
att0.Position = Vector3.new(0,1,0)
local att1 = Instance.new("Attachment", part)
att1.Position = Vector3.new(0,-1,0)
local trail = Instance.new("Trail", part)
trail.Attachment0 = att0
trail.Attachment1 = att1
trail.Lifetime = 0.4
table.insert(limbTrails, trail)
table.insert(trailAttachments, att0)
table.insert(trailAttachments, att1)
end
local function setupAccessory(accessory)
if not accessory:IsA("Accessory") then return end
local handle = accessory:FindFirstChild("Handle")
if not handle then return end
if handle:FindFirstChild("AlreadyProcessed") then return end
local tag = Instance.new("BoolValue", handle)
tag.Name = "AlreadyProcessed"
local isHat = false
local att = handle:FindFirstChildOfClass("Attachment")
if att then
local lower = string.lower(att.Name)
if string.find(lower, "hat")
or string.find(lower, "hair")
or string.find(lower, "head")
or string.find(lower, "face")
or string.find(lower, "neck") then
isHat = true
end
end
for _, v in ipairs(handle:GetChildren()) do
if v:IsA("Attachment") then v:Destroy() end
end
local fake = Instance.new("Part", character)
fake.Name = isHat and "HatController" or "SwordController"
fake.Size = Vector3.new(1,1,1)
fake.Transparency = 1
fake.CanCollide = false
fake.Massless = true
fake.CFrame = rootPart and rootPart.CFrame or character.PrimaryPart.CFrame
for _, v in ipairs(accessory:GetDescendants()) do
if v:IsA("JointInstance")
or v:IsA("Motor6D")
or v:IsA("Weld")
or v:IsA("WeldConstraint") then
v:Destroy()
end
end
handle.Parent = fake
handle.CFrame = fake.CFrame
local weld = Instance.new("WeldConstraint", fake)
weld.Part0 = fake
weld.Part1 = handle
accessory:Destroy()
table.insert(fakeLimbs, fake)
if isHat then
table.insert(spinningHats, { part = fake, realAccessory = handle })
else
table.insert(activeSwords, { part = fake, realAccessory = handle })
end
createTrail(fake)
end
local accessoryConnection
local function listenForNewAccessories()
if accessoryConnection then accessoryConnection:Disconnect() end
accessoryConnection = character.ChildAdded:Connect(function(child)
if running and child:IsA("Accessory") then
task.wait(0.1)
setupAccessory(child)
end
end)
end
--========================================================--
-- R15 & LIMBS SETUP
--========================================================--
local function bindR15Part(fakeLimb, partName, yOffset)
local part = character:FindFirstChild(partName)
if not part then return end
for _, obj in ipairs(part:GetChildren()) do
if obj:IsA("Motor6D")
or obj:IsA("Weld")
or obj:IsA("WeldConstraint") then
obj:Destroy()
end
end
part.CFrame = fakeLimb.CFrame * CFrame.new(0, yOffset, 0)
local weld = Instance.new("WeldConstraint", fakeLimb)
weld.Part0 = fakeLimb
weld.Part1 = part
end
local function createFakeLimb(name, p1, p2, p3)
local fake = Instance.new("Part", character)
fake.Name = name
fake.Size = Vector3.new(1,2,1)
fake.Transparency = 1
fake.CanCollide = false
fake.Massless = true
fake.CFrame = rootPart.CFrame
table.insert(fakeLimbs, fake)
if humanoid.RigType == Enum.HumanoidRigType.R15 then
bindR15Part(fake, p1, 0.4)
bindR15Part(fake, p2, -0.2)
bindR15Part(fake, p3, -0.85)
else
bindR15Part(fake, p1, 0)
end
return fake
end
--========================================================--
-- ANIMATION SYSTEM (BRAÇOS E ESPADAS PARA O CÉU)
--========================================================--
local function getAnimation(time, moving)
local torsoTilt = CFrame.new()
local rArm = cf(1.45, 0.1, 0)
local lArm = cf(-1.45, 0.1, 0)
local rLeg = cf(0.5, -1.9, 0)
local lLeg = cf(-0.5, -1.9, 0)
local breathe = math.sin(time * 2.1)
local sway = math.sin(time * 1.35)
local sway2 = math.cos(time * 1.35)
if not moving then
torsoTilt = CFrame.Angles(
math.rad(breathe * 0.8),
math.rad(sway * 1),
math.rad(sway2 * 0.8)
)
if heldSword then
rArm = cf(1.3, 0.5, 0, -90, 0, 0)
lArm = cf(-1.3, -0.05, 0, 10, 0, -18)
elseif #heldSwords > 0 then
rArm = cf(1.3, 0.5, 0, -90, 0, 0)
lArm = cf(-1.3, 0.5, 0, -90, 0, 0)
else
rArm = cf(1.3, -0.05, 0, 5 + breathe * 2, 0, 12)
lArm = cf(-1.3, -0.05, 0, 5 - breathe * 2, 0, -12)
end
else
local walkCycle = math.sin(time * 10)
torsoTilt = CFrame.Angles(math.rad(-10), 0, math.rad(sway * 2))
if heldSword then
rArm = cf(1.4, 0.5, 0, -90, 0, 0)
lArm = cf(-1.4, 0.1, 0, walkCycle * 40, 0, -10)
elseif #heldSwords > 0 then
rArm = cf(1.4, 0.5, 0, -90, 0, 0)
lArm = cf(-1.4, 0.5, 0, -90, 0, 0)
else
rArm = cf(1.4, 0.1, 0, -walkCycle * 40, 0, 10)
lArm = cf(-1.4, 0.1, 0, walkCycle * 40, 0, -10)
end
local rLegY = walkCycle > 0 and walkCycle * 0.3 or 0
local lLegY = walkCycle < 0 and -walkCycle * 0.3 or 0
rLeg = cf(0.5, -1.9 + rLegY, -walkCycle * 0.5, walkCycle * 45, 0, 0)
lLeg = cf(-0.5, -1.9 + lLegY, walkCycle * 0.5, -walkCycle * 45, 0, 0)
end
return torsoTilt, rArm, lArm, rLeg, lLeg
end
--========================================================--
-- CHAT SYSTEM & RANDOM CHAT LINES
--========================================================--
local function sendChatMessage(msg)
if TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then
local channel = TextChatService.TextChannels:FindFirstChild("RBXGeneral")
if channel then channel:SendAsync(msg) end
else
local events = ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents")
if events then
local remote = events:FindFirstChild("SayMessageRequest")
if remote then remote:FireServer(msg, "All") end
end
end
end
local randomPhrases = {
"LITTLE_PANCAKE LORD REMAKE",
"STAR GLITCHER V18 ACTIVE!",
"YOU CANNOT DEFEAT THE STACK.",
"ABSOLUTE POWER UNLEASHED.",
"GLITCH PROTOCOL ENGAGED."
}
local function sendRandomChat()
local phrase = randomPhrases[math.random(1, #randomPhrases)]
sendChatMessage(phrase)
end
--========================================================--
-- BEYBLADE LAUNCHER SYSTEM
--========================================================--
local function triggerBeybladeLaunch()
if isBeyblading or #heldSwords < 2 then return end
isBeyblading = true
task.spawn(function()
local startPos = rootPart.Position
local lookDir = rootPart.CFrame.LookVector
local maxDist = 35
local duration = 1.2
local startTime = os.clock()
while os.clock() - startTime < duration do
local alpha = (os.clock() - startTime) / duration
local currentDist = math.sin(alpha * math.pi) * maxDist
local spinSpeed = os.clock() * 35
for i, sw in ipairs(heldSwords) do
if sw and sw.part and sw.part.Parent then
local sideOffset = (i == 1) and 2 or -2
local targetPos = startPos + (lookDir * currentDist) + Vector3.new(sideOffset, 2, 0)
sw.part.CFrame = CFrame.new(targetPos) * CFrame.Angles(0, spinSpeed * (i == 1 and 1 or -1), math.rad(90))
end
end
task.wait(0.016)
end
isBeyblading = false
end)
end
--========================================================--
-- DRAGGABLE GUI
--========================================================--
local function makeDraggable(gui)
local dragToggle = false
local dragStart, startPos
gui.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragToggle = true
dragStart = input.Position
startPos = gui.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragToggle = false
end
end)
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
gui.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
end
end)
end
--========================================================--
-- SCREEN ATTACK & BEYBLADE BUTTONS
--========================================================--
local function createAttackScreenButton()
safeDestroy(attackGui)
attackGui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
attackGui.Name = "StarGlitcherAttackBtn"
attackGui.ResetOnSpawn = false
attackScreenBtn = Instance.new("TextButton", attackGui)
attackScreenBtn.Size = UDim2.new(0, 60, 0, 60)
attackScreenBtn.Position = UDim2.new(0.85, 0, 0.65, 0)
attackScreenBtn.BackgroundColor3 = Color3.fromRGB(220, 40, 40)
attackScreenBtn.Text = "ATK"
attackScreenBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
attackScreenBtn.TextScaled = true
attackScreenBtn.Font = Enum.Font.GothamBlack
Instance.new("UICorner", attackScreenBtn).CornerRadius = UDim.new(1, 0)
Instance.new("UIStroke", attackScreenBtn).Thickness = 3
makeDraggable(attackScreenBtn)
attackScreenBtn.Activated:Connect(function()
if not running or isAttacking or attackCooldownActive then return end
isAttacking = true
attackCooldownActive = true
attackStart = os.clock()
local sfx = Instance.new("Sound", rootPart)
sfx.SoundId = "rbxassetid://120822746678209"
sfx.Volume = 2
sfx:Play()
Debris:AddItem(sfx, 3)
task.delay(ATTACK_DURATION, function()
isAttacking = false
end)
task.spawn(function()
attackScreenBtn.BackgroundColor3 = Color3.fromRGB(100, 100, 100)
for i = 5, 1, -1 do
if not attackScreenBtn or not attackScreenBtn.Parent then break end
attackScreenBtn.Text = tostring(i)
task.wait(1)
end
if attackScreenBtn and attackScreenBtn.Parent then
attackScreenBtn.Text = "ATK"
attackScreenBtn.BackgroundColor3 = Color3.fromRGB(220, 40, 40)
end
attackCooldownActive = false
end)
end)
beybladeGuiBtn = Instance.new("TextButton", attackGui)
beybladeGuiBtn.Size = UDim2.new(0, 60, 0, 60)
beybladeGuiBtn.Position = UDim2.new(0.73, 0, 0.65, 0)
beybladeGuiBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 255)
beybladeGuiBtn.Text = "BEY"
beybladeGuiBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
beybladeGuiBtn.TextScaled = true
beybladeGuiBtn.Font = Enum.Font.GothamBlack
Instance.new("UICorner", beybladeGuiBtn).CornerRadius = UDim.new(1, 0)
Instance.new("UIStroke", beybladeGuiBtn).Thickness = 3
makeDraggable(beybladeGuiBtn)
beybladeGuiBtn.Activated:Connect(function()
if not running or #heldSwords < 2 then return end
triggerBeybladeLaunch()
end)
end
--========================================================--
-- START ANIMATION
--========================================================--
local function startAnimation()
if running then return end
if not character then character = player.Character end
humanoid = character:FindFirstChildOfClass("Humanoid")
rootPart = character:FindFirstChild("HumanoidRootPart")
if not humanoid or not rootPart then return end
pcall(function() RunService:UnbindFromRenderStep(RENDER_NAME) end)
for _, trail in ipairs(limbTrails) do safeDestroy(trail) end
limbTrails = {}
local isR15 = humanoid.RigType == Enum.HumanoidRigType.R15
if isR15 then
rootJoint = character:FindFirstChild("LowerTorso") and character.LowerTorso:FindFirstChild("Root") or rootPart:FindFirstChild("RootJoint")
rightArm = createFakeLimb("RightArm", "RightUpperArm", "RightLowerArm", "RightHand")
leftArm = createFakeLimb("LeftArm", "LeftUpperArm", "LeftLowerArm", "LeftHand")
rightLeg = createFakeLimb("RightLeg", "RightUpperLeg", "RightLowerLeg", "RightFoot")
leftLeg = createFakeLimb("LeftLeg", "LeftUpperLeg", "LeftLowerLeg", "LeftFoot")
else
rootJoint = rootPart:FindFirstChild("RootJoint")
rightArm = createFakeLimb("RightArm", "Right Arm")
leftArm = createFakeLimb("LeftArm", "Left Arm")
rightLeg = createFakeLimb("RightLeg", "Right Leg")
leftLeg = createFakeLimb("LeftLeg", "Left Leg")
local torsoPart = character:FindFirstChild("Torso")
if torsoPart then
for _, name in ipairs({"Right Shoulder", "Left Shoulder", "Right Hip", "Left Hip"}) do
local j = torsoPart:FindFirstChild(name)
if j then j:Destroy() end
end
end
end
for _, child in ipairs(character:GetChildren()) do
if child:IsA("Accessory") then setupAccessory(child) end
end
listenForNewAccessories()
if rootJoint then originalRootC0 = rootJoint.C0 end
humanoid.WalkSpeed = NORMAL_SPEED
humanoid.AutoRotate = true
currTorso = CFrame.new()
currRArm = cf(1.45, 0.1, 0)
currLArm = cf(-1.45, 0.1, 0)
currRLeg = cf(0.5, -1.9, 0)
currLLeg = cf(-0.5, -1.9, 0)
running = true
RunService:BindToRenderStep(RENDER_NAME, Enum.RenderPriority.Character.Value + 1, function(dt)
if not running or not humanoid or humanoid.Health <= 0 or not rootPart then return end
local now = os.clock()
local moving = humanoid.MoveDirection.Magnitude > 0.05
local torsoTilt, targetRight, targetLeft, targetRLeg, targetLLeg = getAnimation(now, moving)
local shakeOffset = CFrame.new()
if not moving then
local twitchCycle = now % 2
if twitchCycle < 0.15 then
shakeOffset = CFrame.new(
(math.random() - 0.5) * 0.3,
(math.random() - 0.5) * 0.3,
(math.random() - 0.5) * 0.3
) * CFrame.Angles(
math.rad((math.random() - 0.5) * 25),
math.rad((math.random() - 0.5) * 25),
math.rad((math.random() - 0.5) * 25)
)
end
end
if isAttacking then
local atkAlpha = math.clamp((now - attackStart) / ATTACK_DURATION, 0, 1)
local atkCurve = math.sin(atkAlpha * math.pi)
targetRight = cf(1.30, 0.4 + atkCurve * 0.3, -0.6 - atkCurve * 0.4, 10 - atkCurve * 70, -30, 25)
torsoTilt = torsoTilt * CFrame.Angles(0, math.rad(atkCurve * 25), 0)
end
local animSmooth = 0.25
currTorso = currTorso:Lerp(torsoTilt, animSmooth)
currRArm = currRArm:Lerp(targetRight, animSmooth)
currLArm = currLArm:Lerp(targetLeft, animSmooth)
currRLeg = currRLeg:Lerp(targetRLeg, animSmooth)
currLLeg = currLLeg:Lerp(targetLLeg, animSmooth)
if rootJoint and originalRootC0 then
rootJoint.C0 = originalRootC0 * currTorso * shakeOffset
end
local bodyBase = rootPart.CFrame * currTorso
if rightArm then
rightArm.CFrame = bodyBase * currRArm * shakeOffset
rightArm.AssemblyLinearVelocity = Vector3.zero
end
if leftArm then
leftArm.CFrame = bodyBase * currLArm * shakeOffset
leftArm.AssemblyLinearVelocity = Vector3.zero
end
if rightLeg then
rightLeg.CFrame = bodyBase * currRLeg * shakeOffset
rightLeg.AssemblyLinearVelocity = Vector3.zero
end
if leftLeg then
leftLeg.CFrame = bodyBase * currLLeg * shakeOffset
leftLeg.AssemblyLinearVelocity = Vector3.zero
end
if heldSword and rightArm then
local customGrip = CFrame.new(GripData.pX, GripData.pY, GripData.pZ) * CFrame.Angles(math.rad(GripData.rX), math.rad(GripData.rY), math.rad(GripData.rZ))
heldSword.part.CFrame = rightArm.CFrame * customGrip
heldSword.part.AssemblyLinearVelocity = Vector3.zero
end
if #heldSwords == 2 and not isBeyblading then
if rightArm and leftArm then
local customGrip = CFrame.new(GripData.pX, GripData.pY, GripData.pZ) * CFrame.Angles(math.rad(GripData.rX), math.rad(GripData.rY), math.rad(GripData.rZ))
heldSwords[1].part.CFrame = rightArm.CFrame * customGrip
heldSwords[2].part.CFrame = leftArm.CFrame * customGrip
heldSwords[1].part.AssemblyLinearVelocity = Vector3.zero
heldSwords[2].part.AssemblyLinearVelocity = Vector3.zero
end
end
for index, sword in ipairs(activeSwords) do
if not sword.part or not sword.part.Parent then continue end
local swingX = math.sin(now * 3 + index) * 20
local swingZ = math.cos(now * 2.5 + index) * 15
local offsetSide = CFrame.new(
-1.2 - ((index - 1) * 0.15),
-1,
(index - 1) * 0.1
) * CFrame.Angles(
math.rad(swingX),
math.rad(90),
math.rad(-45 + swingZ)
)
sword.part.CFrame = bodyBase * offsetSide
sword.part.AssemblyLinearVelocity = Vector3.zero
end
local hatCount = #spinningHats
for index, hat in ipairs(spinningHats) do
if not hat.part or not hat.part.Parent then continue end
local spinSpeed = now * 4
local angleOffset = (index / hatCount) * math.pi * 2
local radius = hatCount > 1 and 1.5 or 0
local backBase = bodyBase * CFrame.new(0, 0.5, 1.3)
local orbit = CFrame.Angles(0, 0, spinSpeed + angleOffset) * CFrame.new(0, radius, 0)
local selfSpin = CFrame.Angles(math.rad(90), 0, spinSpeed * 2)
hat.part.CFrame = backBase * orbit * selfSpin
hat.part.AssemblyLinearVelocity = Vector3.zero
end
end)
end
--========================================================--
-- STOP ANIMATION
--========================================================--
local function stopAnimation()
wasRunningBeforeRespawn = running
running = false
isAttacking = false
attackCooldownActive = false
isBeyblading = false
if accessoryConnection then accessoryConnection:Disconnect() end
pcall(function() RunService:UnbindFromRenderStep(RENDER_NAME) end)
if rootJoint and originalRootC0 then rootJoint.C0 = originalRootC0 end
for _, obj in ipairs(fakeLimbs) do safeDestroy(obj) end
fakeLimbs = {}
activeSwords = {}
heldSword = nil
heldSwords = {}
spinningHats = {}
if draw1Btn then draw1Btn.Text = "DRAW 1 SWORD" end
if draw2Btn then draw2Btn.Text = "DRAW 2 SWORDS (DUAL)" end
if humanoid then
humanoid.AutoRotate = true
humanoid.WalkSpeed = NORMAL_SPEED
end
end
--========================================================--
-- HUB
--========================================================--
local function createHub()
safeDestroy(hubGui)
hubGui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
hubGui.Name = "StackHubGlitcher"
hubGui.ResetOnSpawn = false
local openBtn = Instance.new("TextButton", hubGui)
openBtn.Size = UDim2.new(0, 44, 0, 44)
openBtn.Position = UDim2.new(0, 18, 0, 18)
openBtn.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
openBtn.Text = "S"
openBtn.TextColor3 = Color3.fromRGB(0, 200, 255)
openBtn.TextScaled = true
openBtn.Font = Enum.Font.GothamBlack
Instance.new("UICorner", openBtn).CornerRadius = UDim.new(0, 12)
Instance.new("UIStroke", openBtn).Thickness = 2
makeDraggable(openBtn)
mainPanel = Instance.new("Frame", hubGui)
mainPanel.Size = UDim2.new(0, 340, 0, 325)
mainPanel.Position = UDim2.new(0.5, -170, 0.5, -160)
mainPanel.BackgroundColor3 = Color3.fromRGB(15, 15, 20)
mainPanel.BackgroundTransparency = 0.08
Instance.new("UICorner", mainPanel).CornerRadius = UDim.new(0, 15)
Instance.new("UIStroke", mainPanel).Thickness = 2.5
makeDraggable(mainPanel)
local title = Instance.new("TextLabel", mainPanel)
title.Size = UDim2.new(1, -20, 0, 32)
title.Position = UDim2.new(0, 10, 0, 7)
title.BackgroundTransparency = 1
title.Text = "STAR GLITCHER + SWORDS"
title.TextColor3 = Color3.new(1, 1, 1)
title.TextScaled = true
title.Font = Enum.Font.GothamBlack
local startBtn = Instance.new("TextButton", mainPanel)
startBtn.Size = UDim2.new(0.5, -13, 0, 32)
startBtn.Position = UDim2.new(0, 10, 0, 50)
startBtn.BackgroundColor3 = Color3.fromRGB(0, 140, 70)
startBtn.Text = "START"
startBtn.TextColor3 = Color3.new(1, 1, 1)
startBtn.Font = Enum.Font.GothamBold
Instance.new("UICorner", startBtn).CornerRadius = UDim.new(0, 7)
startBtn.Activated:Connect(startAnimation)
local stopBtn = Instance.new("TextButton", mainPanel)
stopBtn.Size = UDim2.new(0.5, -13, 0, 32)
stopBtn.Position = UDim2.new(0.5, 3, 0, 50)
stopBtn.BackgroundColor3 = Color3.fromRGB(150, 40, 40)
stopBtn.Text = "STOP"
stopBtn.TextColor3 = Color3.new(1, 1, 1)
stopBtn.Font = Enum.Font.GothamBold
Instance.new("UICorner", stopBtn).CornerRadius = UDim.new(0, 7)
stopBtn.Activated:Connect(stopAnimation)
draw1Btn = Instance.new("TextButton", mainPanel)
draw1Btn.Size = UDim2.new(1, -20, 0, 36)
draw1Btn.Position = UDim2.new(0, 10, 0, 95)
draw1Btn.BackgroundColor3 = Color3.fromRGB(0, 170, 80)
draw1Btn.Text = "DRAW 1 SWORD"
draw1Btn.TextColor3 = Color3.new(1, 1, 1)
draw1Btn.Font = Enum.Font.GothamBlack
Instance.new("UICorner", draw1Btn).CornerRadius = UDim.new(0, 7)
draw1Btn.Activated:Connect(function()
if not running or (#activeSwords == 0 and not heldSword) then return end
if heldSword then
table.insert(activeSwords, heldSword)
heldSword = nil
draw1Btn.Text = "DRAW 1 SWORD"
draw1Btn.BackgroundColor3 = Color3.fromRGB(0, 170, 80)
else
heldSwords = {}
heldSword = activeSwords[1]
table.remove(activeSwords, 1)
draw1Btn.Text = "PUT AWAY 1 SWORD"
draw1Btn.BackgroundColor3 = Color3.fromRGB(170, 0, 0)
end
end)
draw2Btn = Instance.new("TextButton", mainPanel)
draw2Btn.Size = UDim2.new(1, -20, 0, 36)
draw2Btn.Position = UDim2.new(0, 10, 0, 140)
draw2Btn.BackgroundColor3 = Color3.fromRGB(0, 120, 200)
draw2Btn.Text = "DRAW 2 SWORDS (DUAL)"
draw2Btn.TextColor3 = Color3.new(1, 1, 1)
draw2Btn.Font = Enum.Font.GothamBlack
Instance.new("UICorner", draw2Btn).CornerRadius = UDim.new(0, 7)
draw2Btn.Activated:Connect(function()
if not running then return end
if #heldSwords > 0 then
for _, sw in ipairs(heldSwords) do
table.insert(activeSwords, sw)
end
heldSwords = {}
draw2Btn.Text = "DRAW 2 SWORDS (DUAL)"
draw2Btn.BackgroundColor3 = Color3.fromRGB(0, 120, 200)
else
if #activeSwords < 2 then return end
heldSword = nil
heldSwords[1] = activeSwords[1]
heldSwords[2] = activeSwords[2]
table.remove(activeSwords, 1)
table.remove(activeSwords, 1)
draw2Btn.Text = "PUT AWAY 2 SWORDS"
draw2Btn.BackgroundColor3 = Color3.fromRGB(170, 0, 0)
end
end)
-- BOTÃO RANDOM CHAT
randomChatBtn = Instance.new("TextButton", mainPanel)
randomChatBtn.Size = UDim2.new(1, -20, 0, 36)
randomChatBtn.Position = UDim2.new(0, 10, 0, 185)
randomChatBtn.BackgroundColor3 = Color3.fromRGB(130, 0, 200)
randomChatBtn.Text = "RANDOM CHAT"
randomChatBtn.TextColor3 = Color3.new(1, 1, 1)
randomChatBtn.Font = Enum.Font.GothamBlack
Instance.new("UICorner", randomChatBtn).CornerRadius = UDim.new(0, 7)
randomChatBtn.Activated:Connect(function()
if not running then return end
sendRandomChat()
end)
local panelOpen = true
openBtn.Activated:Connect(function()
panelOpen = not panelOpen
mainPanel.Visible = panelOpen
end)
end
--========================================================--
-- RESPAWN & INIT
--========================================================--
player.CharacterAdded:Connect(function(newCharacter)
local restart = wasRunningBeforeRespawn
if running then stopAnimation() end
character = newCharacter
task.wait(1)
if restart then startAnimation() end
end)
createHub()
createAttackScreenButton()
print("[STACK HUB] V18 carregado com sucesso.")
--========================================================--
-- AUTO CHAT SEQUENCIAL
--========================================================--
task.spawn(function()
task.wait(1.5)
sendChatMessage("-gh 132006952641112 5699795428 5316549755 53165394215716479641")
task.wait(1.0)
sendChatMessage("-net")
task.wait(1.0)
sendChatMessage("LITTLE_PANCAKE LORD REMAKE")
print("[STACK HUB] Mensagens enviadas no chat com sucesso!")
end)Features & Information
It only can make animations and equip swords and have attack
Community Comments (0)
No comments yet for this script.


