--========================================================-- -- STRANGE HUB + MODO VR (INTEGRADO) -- [UP] JUST A BASEPLATE -- PLACE ID: 123974602339071 --========================================================-- local Players = game:GetService("Players") local RunService = game:GetService("RunService") local CoreGui = game:GetService("CoreGui") local UserInputService = game:GetService("UserInputService") local TextChatService = game:GetService("TextChatService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local player = Players.LocalPlayer --========================================================-- -- CONFIGURAÇÃO DO HUB --========================================================-- local ALLOWED_PLACE_ID = 123974602339071 local scriptRunning = false local vrConnections = {} local vrGuiInstance = nil --========================================================-- -- VERIFICAR JOGO --========================================================-- local function isAllowedGame() return game.PlaceId == ALLOWED_PLACE_ID end --========================================================-- -- GUI PRINCIPAL (PAINEL HUB) --========================================================-- local oldGui = player:WaitForChild("PlayerGui"):FindFirstChild("StrangeHub") if oldGui then oldGui:Destroy() end local gui = Instance.new("ScreenGui") gui.Name = "StrangeHub" gui.ResetOnSpawn = false gui.IgnoreGuiInset = true gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling gui.Parent = player.PlayerGui local panel = Instance.new("Frame") panel.Name = "MainPanel" panel.Size = UDim2.new(0, 270, 0, 270) panel.Position = UDim2.new(0.5, -135, 0.5, -135) panel.BackgroundColor3 = Color3.fromRGB(18, 18, 23) panel.BorderSizePixel = 0 panel.Active = true panel.Draggable = true panel.Parent = gui local panelCorner = Instance.new("UICorner") panelCorner.CornerRadius = UDim.new(0, 16) panelCorner.Parent = panel local panelStroke = Instance.new("UIStroke") panelStroke.Thickness = 2 panelStroke.Transparency = 0.25 panelStroke.Parent = panel local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -20, 0, 45) title.Position = UDim2.new(0, 10, 0, 5) title.BackgroundTransparency = 1 title.Text = "⚡ STRANGE HUB" title.TextColor3 = Color3.fromRGB(255, 255, 255) title.TextSize = 22 title.Font = Enum.Font.GothamBold title.Parent = panel local subtitle = Instance.new("TextLabel") subtitle.Size = UDim2.new(1, -20, 0, 25) subtitle.Position = UDim2.new(0, 10, 0, 43) subtitle.BackgroundTransparency = 1 subtitle.Text = "[UP] JUST A BASEPLATE" subtitle.TextColor3 = Color3.fromRGB(170, 170, 170) subtitle.TextSize = 12 subtitle.Font = Enum.Font.Gotham subtitle.Parent = panel local status = Instance.new("TextLabel") status.Size = UDim2.new(1, -20, 0, 28) status.Position = UDim2.new(0, 10, 0, 70) status.BackgroundTransparency = 1 status.TextSize = 14 status.Font = Enum.Font.GothamBold status.Parent = panel local function createHubButton(text, position) local button = Instance.new("TextButton") button.Size = UDim2.new(1, -30, 0, 45) button.Position = position button.BackgroundColor3 = Color3.fromRGB(40, 40, 48) button.BorderSizePixel = 0 button.Text = text button.TextColor3 = Color3.fromRGB(255, 255, 255) button.TextSize = 15 button.Font = Enum.Font.GothamBold button.AutoButtonColor = true button.Parent = panel local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 10) corner.Parent = button return button end local executeButton = createHubButton("▶️ EXECUTAR", UDim2.new(0, 15, 0, 105)) local resetButton = createHubButton("🔄 RESETAR", UDim2.new(0, 15, 0, 157)) local stopButton = createHubButton("⏹️ PARAR SCRIPT", UDim2.new(0, 15, 0, 209)) -- Status Inicial if isAllowedGame() then status.Text = "● PRONTO" status.TextColor3 = Color3.fromRGB(80, 255, 130) else status.Text = "🔒 JOGO NÃO COMPATÍVEL" status.TextColor3 = Color3.fromRGB(255, 80, 80) executeButton.Text = "🔒 PLACE ID INCORRETO" end --========================================================-- -- FUNÇÕES GERAIS DE CONTROLE --========================================================-- local function resetCharacter() local character = player.Character if character then local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then -- Matamos o personagem para que o jogo recrie o R6 puro, -- restaurando as articulações (shoulders) que o script VR destrói. humanoid.Health = 0 end end end --========================================================-- -- LÓGICA DO PAYLOAD VR (O QUE ACONTECE AO DAR EXECUTAR) --========================================================-- local function StartVRMode() -- Limpa a sessão anterior se houver if vrGuiInstance then vrGuiInstance:Destroy() end for _, conn in ipairs(vrConnections) do if conn then conn:Disconnect() end end table.clear(vrConnections) --========================================================-- -- CONFIGURAÇÕES DO SCRIPT VR --========================================================-- local JOYSTICK_RADIUS = 55 local ARM_DISTANCE = 2.2 local ARM_HEIGHT = 0.7 local ARM_FORWARD = -1.1 local SIDE_MOVEMENT = 2.4 local FORWARD_MOVEMENT = 2.8 local VERTICAL_MOVEMENT = 1.8 local ROTATION_X = 85 local ROTATION_Y = 80 local ROTATION_Z = 45 local SMOOTHNESS = 0.18 local LEFT_JOYSTICK_POSITION = UDim2.new(0, 95, 1, -125) local RIGHT_JOYSTICK_POSITION = UDim2.new(1, -95, 1, -125) --========================================================-- -- ENVIAR MENSAGEM NO CHAT --========================================================-- task.spawn(function() local message = "FE silly weird made by Little_pancake" pcall(function() if TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then local channel = TextChatService.TextChannels:FindFirstChild("RBXGeneral") if channel then channel:SendAsync(message) end else local events = ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents") if events then local remote = events:FindFirstChild("SayMessageRequest") if remote then remote:FireServer(message, "All") end end end end) end) --========================================================-- -- GUI DO MODO VR --========================================================-- vrGuiInstance = Instance.new("ScreenGui") vrGuiInstance.Name = "StrangeHub_VRMode" vrGuiInstance.ResetOnSpawn = false vrGuiInstance.IgnoreGuiInset = true vrGuiInstance.ZIndexBehavior = Enum.ZIndexBehavior.Sibling pcall(function() vrGuiInstance.Parent = CoreGui end) if not vrGuiInstance.Parent then vrGuiInstance.Parent = player:WaitForChild("PlayerGui") end local function createVRButton(text, position, color) local button = Instance.new("TextButton") button.Size = UDim2.new(0, 190, 0, 45) button.Position = position button.BackgroundColor3 = color button.BackgroundTransparency = 0.05 button.TextColor3 = Color3.fromRGB(255, 255, 255) button.Text = text button.TextSize = 14 button.Font = Enum.Font.GothamBold button.AutoButtonColor = true button.Active = true button.Parent = vrGuiInstance local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 10) corner.Parent = button return button end local btnStrange = createVRButton("👽 Modo Estranho: OFF", UDim2.new(0.5, -200, 0.78, 0), Color3.fromRGB(150, 0, 255)) local btnSit = createVRButton("🪑 Sentar Suspeito: OFF", UDim2.new(0.5, 10, 0.78, 0), Color3.fromRGB(50, 150, 255)) local btn67 = createVRButton("🕺 Modo 67: OFF", UDim2.new(0.5, -200, 0.88, 0), Color3.fromRGB(255, 50, 150)) local btnVR = createVRButton("🥽 Modo VR: OFF", UDim2.new(0.5, 10, 0.88, 0), Color3.fromRGB(0, 100, 200)) local isStrangeMode = false local isSuspiciousSit = false local is67Mode = false local isVRMode = false local isPunching = false local function createJoystick(name, position) local frame = Instance.new("Frame") frame.Name = name frame.Size = UDim2.new(0, 150, 0, 150) frame.Position = position frame.AnchorPoint = Vector2.new(0.5, 0.5) frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) frame.BackgroundTransparency = 0.35 frame.Active = true frame.Selectable = true frame.Visible = false frame.ZIndex = 20 frame.Parent = vrGuiInstance local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(1, 0) corner.Parent = frame local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(255, 255, 255) stroke.Thickness = 2 stroke.Transparency = 0.4 stroke.Parent = frame local knob = Instance.new("Frame") knob.Name = "Knob" knob.Size = UDim2.new(0, 60, 0, 60) knob.AnchorPoint = Vector2.new(0.5, 0.5) knob.Position = UDim2.new(0.5, 0, 0.5, 0) knob.BackgroundColor3 = Color3.fromRGB(240, 240, 240) knob.Active = false knob.ZIndex = 21 knob.Parent = frame local knobCorner = Instance.new("UICorner") knobCorner.CornerRadius = UDim.new(1, 0) knobCorner.Parent = knob local label = Instance.new("TextLabel") label.Size = UDim2.new(1, 0, 1, 0) label.BackgroundTransparency = 1 label.Text = name label.TextColor3 = Color3.fromRGB(0, 0, 0) label.TextSize = 14 label.Font = Enum.Font.GothamBold label.Active = false label.ZIndex = 22 label.Parent = knob return frame, knob end local leftFrame, leftKnob = createJoystick("L-Arm", LEFT_JOYSTICK_POSITION) local rightFrame, rightKnob = createJoystick("R-Arm", RIGHT_JOYSTICK_POSITION) local leftOffset, rightOffset = Vector2.zero, Vector2.zero local leftDragging, rightDragging = false, false local leftTouch, rightTouch = nil, nil local function getInputPosition(input) return Vector2.new(input.Position.X, input.Position.Y) end local function updateJoystick(frame, knob, inputPosition) local center = frame.AbsolutePosition + (frame.AbsoluteSize / 2) local delta = inputPosition - center local maxDistance = JOYSTICK_RADIUS if delta.Magnitude > maxDistance then delta = delta.Unit * maxDistance end local normalized = Vector2.new(delta.X / maxDistance, delta.Y / maxDistance) knob.Position = UDim2.new(0.5, delta.X, 0.5, delta.Y) return normalized end local function resetJoystick(frame, knob) knob.Position = UDim2.new(0.5, 0, 0.5, 0) end table.insert(vrConnections, leftFrame.InputBegan:Connect(function(input) if not isVRMode then return end if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then if leftDragging then return end leftDragging = true leftTouch = input leftOffset = updateJoystick(leftFrame, leftKnob, getInputPosition(input)) end end)) table.insert(vrConnections, rightFrame.InputBegan:Connect(function(input) if not isVRMode then return end if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then if rightDragging then return end rightDragging = true rightTouch = input rightOffset = updateJoystick(rightFrame, rightKnob, getInputPosition(input)) end end)) table.insert(vrConnections, UserInputService.InputChanged:Connect(function(input) if not isVRMode then return end if leftDragging and leftTouch and (input == leftTouch or input.UserInputType == Enum.UserInputType.MouseMovement) then leftOffset = updateJoystick(leftFrame, leftKnob, getInputPosition(input)) end if rightDragging and rightTouch and (input == rightTouch or input.UserInputType == Enum.UserInputType.MouseMovement) then rightOffset = updateJoystick(rightFrame, rightKnob, getInputPosition(input)) end end)) table.insert(vrConnections, UserInputService.InputEnded:Connect(function(input) if leftTouch == input or (input.UserInputType == Enum.UserInputType.MouseButton1 and leftDragging) then leftDragging, leftTouch, leftOffset = false, nil, Vector2.zero resetJoystick(leftFrame, leftKnob) end if rightTouch == input or (input.UserInputType == Enum.UserInputType.MouseButton1 and rightDragging) then rightDragging, rightTouch, rightOffset = false, nil, Vector2.zero resetJoystick(rightFrame, rightKnob) end end)) local function resetAllModes() isStrangeMode, isSuspiciousSit, is67Mode, isVRMode = false, false, false, false btnStrange.Text = "👽 Modo Estranho: OFF" btnStrange.BackgroundColor3 = Color3.fromRGB(150, 0, 255) btnSit.Text = "🪑 Sentar Suspeito: OFF" btnSit.BackgroundColor3 = Color3.fromRGB(50, 150, 255) btn67.Text = "🕺 Modo 67: OFF" btn67.BackgroundColor3 = Color3.fromRGB(255, 50, 150) btnVR.Text = "🥽 Modo VR: OFF" btnVR.BackgroundColor3 = Color3.fromRGB(0, 100, 200) leftFrame.Visible, rightFrame.Visible = false, false leftDragging, rightDragging = false, false leftTouch, rightTouch = nil, nil leftOffset, rightOffset = Vector2.zero, Vector2.zero resetJoystick(leftFrame, leftKnob) resetJoystick(rightFrame, rightKnob) end table.insert(vrConnections, btnStrange.MouseButton1Click:Connect(function() local was = isStrangeMode resetAllModes() if not was then isStrangeMode = true btnStrange.Text = "👽 Modo Estranho: ON" btnStrange.BackgroundColor3 = Color3.fromRGB(0, 255, 150) end end)) table.insert(vrConnections, btnSit.MouseButton1Click:Connect(function() local was = isSuspiciousSit resetAllModes() if not was then isSuspiciousSit = true btnSit.Text = "🪑 Sentar Suspeito: ON" btnSit.BackgroundColor3 = Color3.fromRGB(0, 255, 150) end end)) table.insert(vrConnections, btn67.MouseButton1Click:Connect(function() local was = is67Mode resetAllModes() if not was then is67Mode = true btn67.Text = "🕺 Modo 67: ON" btn67.BackgroundColor3 = Color3.fromRGB(0, 255, 150) end end)) table.insert(vrConnections, btnVR.MouseButton1Click:Connect(function() local was = isVRMode resetAllModes() if not was then isVRMode = true btnVR.Text = "🥽 Modo VR: ON" btnVR.BackgroundColor3 = Color3.fromRGB(0, 255, 150) leftFrame.Visible, rightFrame.Visible = true, true end end)) table.insert(vrConnections, UserInputService.InputBegan:Connect(function(input, processed) if processed then return end if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then if not isStrangeMode and not isSuspiciousSit and not is67Mode and not isVRMode then isPunching = true task.delay(0.25, function() isPunching = false end) end end end)) local currentRenderConn = nil local function setupCharacter(char) if currentRenderConn then currentRenderConn:Disconnect() currentRenderConn = nil end local humanoid = char:WaitForChild("Humanoid", 8) local rootPart = char:WaitForChild("HumanoidRootPart", 8) local torso = char:WaitForChild("Torso", 8) local rightArm = char:WaitForChild("Right Arm", 8) local leftArm = char:WaitForChild("Left Arm", 8) if not humanoid or not rootPart or not torso or not rightArm or not leftArm then return end local rightShoulder = torso:FindFirstChild("Right Shoulder") local leftShoulder = torso:FindFirstChild("Left Shoulder") if rightShoulder then rightShoulder:Destroy() end if leftShoulder then leftShoulder:Destroy() end rightArm.CanCollide, leftArm.CanCollide = false, false local function createMover(part) local bp = Instance.new("BodyPosition") bp.Name = "VR_ArmPosition" bp.MaxForce = Vector3.new(1000000, 1000000, 1000000) bp.P, bp.D = 25000, 1200 bp.Position = part.Position bp.Parent = part local bg = Instance.new("BodyGyro") bg.Name = "VR_ArmRotation" bg.MaxTorque = Vector3.new(1000000, 1000000, 1000000) bg.P, bg.D = 25000, 1200 bg.CFrame = part.CFrame bg.Parent = part return bp, bg end local rightBP, rightBG = createMover(rightArm) local leftBP, leftBG = createMover(leftArm) local neck = torso:FindFirstChild("Neck") local rootJoint = rootPart:FindFirstChild("RootJoint") local rightHip = torso:FindFirstChild("Right Hip") local leftHip = torso:FindFirstChild("Left Hip") local originalNeck = neck and neck.C0 or CFrame.new() local originalRoot = rootJoint and rootJoint.C0 or CFrame.new() local originalRightHip = rightHip and rightHip.C0 or CFrame.new() local originalLeftHip = leftHip and leftHip.C0 or CFrame.new() local currentRightPosition, currentLeftPosition = rightArm.Position, leftArm.Position local currentRightCFrame, currentLeftCFrame = rightArm.CFrame, leftArm.CFrame local targetAngle, currentAngle = 0, 0 table.insert(vrConnections, rightArm.Touched:Connect(function(hit) if not isStrangeMode or hit:IsDescendantOf(char) or not hit:IsA("BasePart") then return end if hit.CanCollide then targetAngle = math.random() > 0.5 and 60 or -60 task.delay(0.4, function() if char.Parent then targetAngle = 0 end end) end end)) currentRenderConn = RunService.RenderStepped:Connect(function() if not scriptRunning then return end if not char.Parent or humanoid.Health <= 0 then return end local t = os.clock() if neck and not isVRMode then neck.C0 = originalNeck * CFrame.Angles(math.sin(t * 3) * 0.2, 0, math.cos(t * 2.5) * 0.2) end if isStrangeMode then rightArm.CanCollide, leftArm.CanCollide = true, true humanoid.WalkSpeed = 16 if rootJoint then rootJoint.C0 = originalRoot end if rightHip then rightHip.C0 = originalRightHip end if leftHip then leftHip.C0 = originalLeftHip end currentAngle = currentAngle + (targetAngle - currentAngle) * 0.12 local pivot = torso.CFrame * CFrame.new(0, -1.2, -0.5) * CFrame.Angles(0, math.rad(currentAngle), 0) local rTarget = pivot * CFrame.new(0, 0, -0.5) * CFrame.Angles(math.rad(90), 0, 0) local lTarget = pivot * CFrame.new(0, 0, -2) * CFrame.Angles(math.rad(90), 0, 0) rightBP.Position, rightBG.CFrame = rTarget.Position, rTarget leftBP.Position, leftBG.CFrame = lTarget.Position, lTarget elseif isSuspiciousSit then rightArm.CanCollide, leftArm.CanCollide = false, false humanoid.WalkSpeed = 0 if rootJoint then rootJoint.C0 = originalRoot * CFrame.new(0, 0, 1.5) * CFrame.Angles(math.rad(-20), 0, 0) end if rightHip then rightHip.C0 = originalRightHip * CFrame.Angles(0, 0, math.rad(45)) end if leftHip then leftHip.C0 = originalLeftHip * CFrame.Angles(0, 0, math.rad(-45)) end local rTarget = torso.CFrame * CFrame.new(1.5, -1.5, -1) * CFrame.Angles(math.rad(-90), math.rad(45), 0) local lTarget = torso.CFrame * CFrame.new(-1.5, -1.5, -1) * CFrame.Angles(math.rad(-90), math.rad(-45), 0) rightBP.Position, rightBG.CFrame = rTarget.Position, rTarget leftBP.Position, leftBG.CFrame = lTarget.Position, lTarget elseif is67Mode then rightArm.CanCollide, leftArm.CanCollide = false, false humanoid.WalkSpeed = 16 if rootJoint then rootJoint.C0 = originalRoot end if rightHip then rightHip.C0 = originalRightHip end if leftHip then leftHip.C0 = originalLeftHip end local lift = (math.sin(t * 12) + 1) / 2 local ang = math.rad(lift * 160) local rTarget = torso.CFrame * CFrame.new(1.5, 0.5 * lift, 0) * CFrame.Angles(ang, 0, math.rad(10)) local lTarget = torso.CFrame * CFrame.new(-1.5, 0.5 * lift, 0) * CFrame.Angles(ang, 0, math.rad(-10)) rightBP.Position, rightBG.CFrame = rTarget.Position, rTarget leftBP.Position, leftBG.CFrame = lTarget.Position, lTarget elseif isVRMode then rightArm.CanCollide, leftArm.CanCollide = false, false humanoid.WalkSpeed = 16 if rootJoint then rootJoint.C0 = originalRoot end if rightHip then rightHip.C0 = originalRightHip end if leftHip then leftHip.C0 = originalLeftHip end local rx, ry = rightOffset.X, rightOffset.Y local rightSide, rightUp = rx * SIDE_MOVEMENT, -ry * VERTICAL_MOVEMENT local rightTarget = torso.CFrame * CFrame.new(ARM_DISTANCE + rightSide, ARM_HEIGHT + rightUp, ARM_FORWARD) * CFrame.Angles(math.rad(90) + ry * math.rad(ROTATION_X), rx * math.rad(ROTATION_Y), rx * math.rad(ROTATION_Z)) local lx, ly = leftOffset.X, leftOffset.Y local leftSide, leftUp = lx * SIDE_MOVEMENT, -ly * VERTICAL_MOVEMENT local leftTarget = torso.CFrame * CFrame.new(-ARM_DISTANCE + leftSide, ARM_HEIGHT + leftUp, ARM_FORWARD) * CFrame.Angles(math.rad(90) + ly * math.rad(ROTATION_X), lx * math.rad(ROTATION_Y), lx * math.rad(-ROTATION_Z)) currentRightPosition = currentRightPosition:Lerp(rightTarget.Position, SMOOTHNESS) currentLeftPosition = currentLeftPosition:Lerp(leftTarget.Position, SMOOTHNESS) currentRightCFrame = currentRightCFrame:Lerp(rightTarget, SMOOTHNESS) currentLeftCFrame = currentLeftCFrame:Lerp(leftTarget, SMOOTHNESS) rightBP.Position, rightBG.CFrame = currentRightPosition, currentRightCFrame leftBP.Position, leftBG.CFrame = currentLeftPosition, currentLeftCFrame else rightArm.CanCollide, leftArm.CanCollide = false, false humanoid.WalkSpeed = 16 if rootJoint then rootJoint.C0 = originalRoot end if rightHip then rightHip.C0 = originalRightHip end if leftHip then leftHip.C0 = originalLeftHip end local idleBreath = math.sin(t * 2.2) * 0.025 local idleSway = math.sin(t * 1.5) * 0.02 local rightIdleTarget = torso.CFrame * CFrame.new(-0.38 + idleSway, 0.05 + idleBreath, -0.48) * CFrame.Angles(math.rad(0), math.rad(-15), math.rad(-65)) local leftIdleTarget = torso.CFrame * CFrame.new(0.38 - idleSway, 0.05 + idleBreath, -0.62) * CFrame.Angles(math.rad(0), math.rad(15), math.rad(65)) if isPunching then local punch = torso.CFrame * CFrame.new(0, 0.5, -2) * CFrame.Angles(math.rad(90), math.rad(-45), 0) rightBP.Position, rightBG.CFrame = punch.Position, punch else currentRightPosition = currentRightPosition:Lerp(rightIdleTarget.Position, 0.12) currentLeftPosition = currentLeftPosition:Lerp(leftIdleTarget.Position, 0.12) currentRightCFrame = currentRightCFrame:Lerp(rightIdleTarget, 0.12) currentLeftCFrame = currentLeftCFrame:Lerp(leftIdleTarget, 0.12) rightBP.Position, rightBG.CFrame = currentRightPosition, currentRightCFrame leftBP.Position, leftBG.CFrame = currentLeftPosition, currentLeftCFrame end end end) table.insert(vrConnections, currentRenderConn) table.insert(vrConnections, char.AncestryChanged:Connect(function(_, parent) if not parent and currentRenderConn then currentRenderConn:Disconnect() currentRenderConn = nil end end)) end table.insert(vrConnections, player.CharacterAdded:Connect(function(char) task.wait(0.5) if scriptRunning then setupCharacter(char) end end)) if player.Character then task.spawn(function() setupCharacter(player.Character) end) end end --========================================================-- -- FUNÇÕES DOS BOTÕES (EXECUTAR, RESETAR, PARAR) --========================================================-- local function executeScript() if not isAllowedGame() then status.Text = "🔒 JOGO NÃO COMPATÍVEL" status.TextColor3 = Color3.fromRGB(255, 80, 80) return end if scriptRunning then status.Text = "● SCRIPT JÁ ESTÁ EXECUTANDO" status.TextColor3 = Color3.fromRGB(255, 220, 80) return end scriptRunning = true status.Text = "● SCRIPT EXECUTANDO" status.TextColor3 = Color3.fromRGB(80, 255, 130) StartVRMode() end local function resetScript() if not isAllowedGame() then return end resetCharacter() status.Text = "● PERSONAGEM RESETADO" status.TextColor3 = Color3.fromRGB(255, 220, 80) end local function stopScript() if not scriptRunning then status.Text = "● SCRIPT JÁ ESTÁ PARADO" status.TextColor3 = Color3.fromRGB(255, 80, 80) return end scriptRunning = false for _, conn in ipairs(vrConnections) do if conn then conn:Disconnect() end end table.clear(vrConnections) if vrGuiInstance then vrGuiInstance:Destroy() vrGuiInstance = nil end resetCharacter() status.Text = "● SCRIPT PARADO" status.TextColor3 = Color3.fromRGB(255, 80, 80) end executeButton.MouseButton1Click:Connect(executeScript) resetButton.MouseButton1Click:Connect(resetScript) stopButton.MouseButton1Click:Connect(stopScript)