-- BOX 1: CORE PANEL FRAMEWORK & SCROLLING INTERFACE SETUP _G.CBWMorphGuiShared = _G.CBWMorphGuiShared or {} local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") local TweenService = game:GetService("TweenService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local TextChatService = game:GetService("TextChatService") -- Locate RemoteEvents safely local ShapeEvent = ReplicatedStorage:WaitForChild("Customization", 5) and ReplicatedStorage.Customization:WaitForChild("Remotes", 5) and ReplicatedStorage.Customization.Remotes:WaitForChild("Shape", 5) local EquipHatEvent = ReplicatedStorage:WaitForChild("Customization", 5) and ReplicatedStorage.Customization:WaitForChild("Remotes", 5) and ReplicatedStorage.Customization.Remotes:WaitForChild("EquipHat", 5) local NameChangeEvent = ReplicatedStorage:WaitForChild("NameChange", 5) local EquipToolEvent = ReplicatedStorage:WaitForChild("Inventory", 5) and ReplicatedStorage.Inventory:WaitForChild("EquipTool", 5) -- Share paths cleanly with Box 2 _G.CBWMorphGuiShared.ShapeEvent = ShapeEvent _G.CBWMorphGuiShared.EquipHatEvent = EquipHatEvent _G.CBWMorphGuiShared.NameChangeEvent = NameChangeEvent _G.CBWMorphGuiShared.EquipToolEvent = EquipToolEvent -- Core Chat System Broadcaster local function runChatPayload(text) task.spawn(function() if TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then local channel = TextChatService.TextChannels:FindFirstChild("RBXGeneral") if channel then channel:SendAsync(text) end else local cEvent = ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents") and ReplicatedStorage.DefaultChatSystemChatEvents:FindFirstChild("SayMessageRequest") if cEvent then cEvent:FireServer(text, "All") end end end) end runChatPayload("MORPH CBW SCRIPT made by yippistudios") -- Clear old UI instances local oldGui = PlayerGui:FindFirstChild("CBWMorphGui") if oldGui then oldGui:Destroy() end -- Draw Main Frame local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "CBWMorphGui" ScreenGui.ResetOnSpawn = false ScreenGui.DisplayOrder = 9999 ScreenGui.IgnoreGuiInset = true ScreenGui.Parent = PlayerGui local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Size = UDim2.new(0, 250, 0, 350) MainFrame.Position = UDim2.new(0.5, -125, 0.4, -175) MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 30) MainFrame.BorderSizePixel = 0 MainFrame.Active = true MainFrame.Draggable = true MainFrame.ZIndex = 10 MainFrame.Parent = ScreenGui local UICorner = Instance.new("UICorner", MainFrame) UICorner.CornerRadius = UDim.new(0, 10) local TopBar = Instance.new("Frame") TopBar.Name = "TopBar" TopBar.Size = UDim2.new(1, 0, 0, 45) TopBar.BackgroundColor3 = Color3.fromRGB(40, 40, 45) TopBar.BorderSizePixel = 0 TopBar.ZIndex = 11 TopBar.Parent = MainFrame local TopCorner = Instance.new("UICorner", TopBar) TopCorner.CornerRadius = UDim.new(0, 10) local Title = Instance.new("TextLabel") Title.Name = "Title" Title.Size = UDim2.new(1, -40, 1, 0) Title.Position = UDim2.new(0, 10, 0, 0) Title.BackgroundTransparency = 1 Title.Text = "CBW morph" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 18 Title.Font = Enum.Font.GothamBold Title.TextXAlignment = Enum.TextXAlignment.Left Title.ZIndex = 12 Title.Parent = TopBar local CloseButton = Instance.new("TextButton") CloseButton.Name = "CloseButton" CloseButton.Size = UDim2.new(0, 35, 0, 35) CloseButton.Position = UDim2.new(1, -40, 0, 5) CloseButton.BackgroundTransparency = 1 CloseButton.Text = "✕" CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255) CloseButton.TextSize = 16 CloseButton.Font = Enum.Font.GothamBold CloseButton.ZIndex = 12 CloseButton.Parent = TopBar CloseButton.MouseButton1Click:Connect(function() ScreenGui:Destroy() end) -- Integrated Scrolling Frame Container local ScrollingFrame = Instance.new("ScrollingFrame") ScrollingFrame.Name = "ScrollingFrame" ScrollingFrame.Size = UDim2.new(1, -10, 1, -60) ScrollingFrame.Position = UDim2.new(0, 5, 0, 55) ScrollingFrame.BackgroundTransparency = 1 ScrollingFrame.BorderSizePixel = 0 ScrollingFrame.ScrollBarThickness = 5 ScrollingFrame.ScrollBarImageColor3 = Color3.fromRGB(80, 80, 90) ScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 0) ScrollingFrame.ZIndex = 11 ScrollingFrame.Parent = MainFrame _G.CBWMorphGuiShared.ButtonContainer = ScrollingFrame local ButtonLayout = Instance.new("UIListLayout", ScrollingFrame) ButtonLayout.SortOrder = Enum.SortOrder.LayoutOrder ButtonLayout.Padding = UDim.new(0, 8) ButtonLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center ButtonLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() ScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, ButtonLayout.AbsoluteContentSize.Y + 15) end) -- Rainbow Anim task.spawn(function() local hue = 0 while ScreenGui and ScreenGui.Parent do hue = (hue + 1) % 360 TopBar.BackgroundColor3 = Color3.fromHSV(hue / 360, 0.75, 0.85) task.wait(0.02) end end) -- Button Styles local function styleButton(b, layoutOrder) b.Size = UDim2.new(0, 210, 0, 42) b.BackgroundColor3 = Color3.fromRGB(38, 38, 45) b.TextColor3 = Color3.fromRGB(240, 240, 240) b.TextSize = 15 b.Font = Enum.Font.GothamSemibold b.BorderSizePixel = 0 b.LayoutOrder = layoutOrder b.ZIndex = 12 Instance.new("UICorner", b).CornerRadius = UDim.new(0, 6) b.MouseEnter:Connect(function() if (b.Name ~= "SUNButton" or not _G.SunLoopActive) and (b.Name ~= "SpinButton" or not _G.SpinActive) then TweenService:Create(b, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(50, 50, 60)}):Play() end end) b.MouseLeave:Connect(function() if (b.Name ~= "SUNButton" or not _G.SunLoopActive) and (b.Name ~= "SpinButton" or not _G.SpinActive) then TweenService:Create(b, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(38, 38, 45)}):Play() end end) end _G.CBWMorphGuiShared.styleButton = styleButton local morphs = {"Cat", "Reich", "Alien", "Noodle"} for i, name in ipairs(morphs) do local b = Instance.new("TextButton", ScrollingFrame) b.Name = name b.Text = name styleButton(b, i) b.MouseButton1Click:Connect(function() if ShapeEvent then ShapeEvent:FireServer(name) end end) end local chernobylBtn = Instance.new("TextButton", ScrollingFrame) chernobylBtn.Name = "ChernobylWorker" chernobylBtn.Text = "Chernobyl Worker" styleButton(chernobylBtn, #morphs + 1) chernobylBtn.MouseButton1Click:Connect(function() if ShapeEvent then ShapeEvent:FireServer("Ball") end task.wait(0.1) if EquipHatEvent then EquipHatEvent:FireServer("Free", "Gas Mask") end task.wait(0.1) if EquipHatEvent then EquipHatEvent:FireServer("Badges", "Space Suit") end task.wait(0.1) if NameChangeEvent then NameChangeEvent:FireServer("chernobyl worker") end end) -- BOX 2: CUSTOM UTILITY LOOPS & ACCESSORY TRIGGERS local Shared = _G.CBWMorphGuiShared or {} local ButtonContainer = Shared.ButtonContainer local styleButton = Shared.styleButton local ShapeEvent = Shared.ShapeEvent local EquipHatEvent = Shared.EquipHatEvent local NameChangeEvent = Shared.NameChangeEvent local EquipToolEvent = Shared.EquipToolEvent local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local ReplicatedStorage = game:GetService("ReplicatedStorage") local TweenService = game:GetService("TweenService") local baseOffsetCount = 5 -- Become Me Button local becomeMeBtn = Instance.new("TextButton", ButtonContainer) becomeMeBtn.Name = "BecomeMe" becomeMeBtn.Text = "Become Me" styleButton(becomeMeBtn, baseOffsetCount + 1) becomeMeBtn.MouseButton1Click:Connect(function() if EquipHatEvent then EquipHatEvent:FireServer("Free", "Cone") end task.wait(0.1) if ShapeEvent then ShapeEvent:FireServer("Ball") end task.wait(0.1) if EquipHatEvent then EquipHatEvent:FireServer("Free", "3D Glasses") end task.wait(0.1) local CustomEvent = ReplicatedStorage:WaitForChild("Customization", 5) and ReplicatedStorage.Customization:WaitForChild("Remotes", 5) and ReplicatedStorage.Customization.Remotes:FindFirstChild("Custom") if CustomEvent then CustomEvent:FireServer(17694320720) end task.wait(0.1) local EmotionEvent = ReplicatedStorage:FindFirstChild("Emotion") if EmotionEvent then EmotionEvent:FireServer("Stare", false) end task.wait(0.1) if NameChangeEvent then NameChangeEvent:FireServer("ALL HAIL YIPPISTUDIOS") end end) -- Reset Morph Button local resetMorphBtn = Instance.new("TextButton", ButtonContainer) resetMorphBtn.Name = "ResetMorphButton" resetMorphBtn.Text = "Reset Morph" styleButton(resetMorphBtn, baseOffsetCount + 2) resetMorphBtn.BackgroundColor3 = Color3.fromRGB(45, 55, 65) resetMorphBtn.MouseButton1Click:Connect(function() if ShapeEvent then ShapeEvent:FireServer("Ball") task.wait(0.1) ShapeEvent:FireServer("Triangle") task.wait(0.1) ShapeEvent:FireServer("Ball") end end) -- INTEGRATED SPIN TOGGLE BUTTON (Allows full character mobility while spinning) local spinBtn = Instance.new("TextButton", ButtonContainer) spinBtn.Name = "SpinButton" spinBtn.Text = "Spin [OFF]" styleButton(spinBtn, baseOffsetCount + 3) spinBtn.BackgroundColor3 = Color3.fromRGB(38, 38, 45) _G.SpinActive = false local currentSpinVelocity = nil spinBtn.MouseButton1Click:Connect(function() local char = LocalPlayer.Character local rootPart = char and (char:FindFirstChild("HumanoidRootPart") or char.PrimaryPart) if _G.SpinActive then -- Toggle Spin Off _G.SpinActive = false spinBtn.Text = "Spin [OFF]" TweenService:Create(spinBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(38, 38, 45)}):Play() if currentSpinVelocity then currentSpinVelocity:Destroy() currentSpinVelocity = nil end else -- Toggle Spin On if rootPart then _G.SpinActive = true spinBtn.Text = "Spin [ON]" TweenService:Create(spinBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(50, 75, 45)}):Play() -- Green indicator -- Insert physics object to force spin while leaving walking velocity untouched currentSpinVelocity = Instance.new("BodyAngularVelocity") currentSpinVelocity.Name = "CBW_SpinEngine" currentSpinVelocity.AngularVelocity = Vector3.new(0, 35, 0) -- Adjust 35 higher/lower to change spin speed currentSpinVelocity.MaxTorque = Vector3.new(0, math.huge, 0) currentSpinVelocity.P = math.huge currentSpinVelocity.Parent = rootPart -- Monitor if character resets or spawns to clear references smoothly task.spawn(function() while _G.SpinActive and LocalPlayer.Character == char and rootPart and rootPart.Parent do task.wait(0.5) end if currentSpinVelocity then currentSpinVelocity:Destroy() currentSpinVelocity = nil end _G.SpinActive = false spinBtn.Text = "Spin [OFF]" spinBtn.BackgroundColor3 = Color3.fromRGB(38, 38, 45) end) end end end) -- NATIVE SUN LOOP INTEGRATION local sunBtn = Instance.new("TextButton", ButtonContainer) sunBtn.Name = "SUNButton" sunBtn.Text = "SUN [OFF]" styleButton(sunBtn, baseOffsetCount + 4) sunBtn.BackgroundColor3 = Color3.fromRGB(38, 38, 45) _G.SunLoopActive = false sunBtn.MouseButton1Click:Connect(function() if _G.SunLoopActive then _G.SunLoopActive = false sunBtn.Text = "SUN [OFF]" TweenService:Create(sunBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(38, 38, 45)}):Play() else _G.SunLoopActive = true sunBtn.Text = "SUN [ON]" TweenService:Create(sunBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(85, 65, 35)}):Play() local initialCharacter = LocalPlayer.Character local backpack = LocalPlayer:FindFirstChild("Backpack") if initialCharacter and backpack then task.spawn(function() local function isCharacterValid() return _G.SunLoopActive and LocalPlayer.Character and LocalPlayer.Character == initialCharacter and initialCharacter:FindFirstChildOfClass("Humanoid") and initialCharacter:FindFirstChildOfClass("Humanoid").Health > 0 end local function dropCurrentTool() if not isCharacterValid() then return end local heldTool = initialCharacter:FindFirstChildOfClass("Tool") if heldTool then for _, desc in ipairs(heldTool:GetDescendants()) do if desc:IsA("BasePart") then desc.CanCollide = false end end heldTool.Parent = game.Workspace end end -- STEP 1: Donut Drop if isCharacterValid() and EquipToolEvent then EquipToolEvent:FireServer("Donut") local targetDonut = backpack:WaitForChild("Donut", 2) if targetDonut and LocalPlayer.Character == initialCharacter then targetDonut.Parent = initialCharacter task.wait(0.2) dropCurrentTool() end end task.wait(0.3) -- STEP 2: Fast Flashlight Loop for i = 1, 15 do if not isCharacterValid() then break end if EquipToolEvent then EquipToolEvent:FireServer("Flashlight") end local activeFlashlight = backpack:WaitForChild("Flashlight", 2) if activeFlashlight and LocalPlayer.Character == initialCharacter then activeFlashlight.Parent = initialCharacter task.wait(0.05) dropCurrentTool() end task.wait(0.1) end task.wait(0.5) -- STEP 3: Slow Flashlight Loop for i = 1, 15 do if not isCharacterValid() then break end if EquipToolEvent then EquipToolEvent:FireServer("Flashlight") end local activeFlashlight = backpack:WaitForChild("Flashlight", 2) if activeFlashlight and LocalPlayer.Character == initialCharacter then activeFlashlight.Parent = initialCharacter task.wait(1.0) dropCurrentTool() end task.wait(0.2) end _G.SunLoopActive = false sunBtn.Text = "SUN [OFF]" sunBtn.BackgroundColor3 = Color3.fromRGB(38, 38, 45) end) else _G.SunLoopActive = false sunBtn.Text = "SUN [OFF]" sunBtn.BackgroundColor3 = Color3.fromRGB(38, 38, 45) end end end) -- ============================================================================= -- INDEPENDENT RESPONDING PHYSICS UTILITY TOOL SPAWNER -- ============================================================================= local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local UserInputService = game:GetService("UserInputService") local TextChatService = game:GetService("TextChatService") local ReplicatedStorage = game:GetService("ReplicatedStorage") -- Unified Chat System Payload Broadcaster local function sendLocalChat(text) task.spawn(function() if TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then local channel = TextChatService.TextChannels:FindFirstChild("RBXGeneral") if channel then channel:SendAsync(text) end else local cEvent = ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents") and ReplicatedStorage.DefaultChatSystemChatEvents:FindFirstChild("SayMessageRequest") if cEvent then cEvent:FireServer(text, "All") end end end) end -- Core Tool Assembly Engine local function buildCustomTools() local backpack = LocalPlayer:WaitForChild("Backpack") -- 1. Assemble Ragdoll Tool Instance if not backpack:FindFirstChild("Ragdoll (Sit)") then local RagdollTool = Instance.new("Tool") RagdollTool.Name = "Ragdoll (Sit)" RagdollTool.RequiresHandle = false RagdollTool.CanBeDropped = false RagdollTool.Activated:Connect(function() local char = LocalPlayer.Character local hum = char and char:FindFirstChildOfClass("Humanoid") if hum and hum.Health > 0 then hum.Sit = not hum.Sit if hum.Sit then hum:ChangeState(Enum.HumanoidStateType.Seated) end end end) RagdollTool.Parent = backpack end -- 2. Assemble Face Slam Tool Instance if not backpack:FindFirstChild("Face Slam") then local SlamTool = Instance.new("Tool") SlamTool.Name = "Face Slam" SlamTool.RequiresHandle = false SlamTool.CanBeDropped = false local activeConnection = nil local activeAnchors = {} SlamTool.Activated:Connect(function() local char = LocalPlayer.Character local hum = char and char:FindFirstChildOfClass("Humanoid") local root = char and char:FindFirstChild("HumanoidRootPart") if not hum or not root or hum.Health <= 0 then return end -- Clear old tracking frames if activated back-to-back if activeConnection then activeConnection:Disconnect() activeConnection = nil end for _, p in ipairs(char:GetChildren()) do if p:IsA("BasePart") and activeAnchors[p] then p.Anchored = false end end table.clear(activeAnchors) -- Broadcast chat string payload sendLocalChat("slam*") -- Unlock stand-up animation states root.Anchored = true hum:ChangeState(Enum.HumanoidStateType.Physics) -- Raycast Downward to Find Ground Positioning local startPos = root.Position + (root.CFrame.LookVector * 7) local rp = RaycastParams.new() rp.FilterDescendantsInstances = {char} rp.FilterType = Enum.RaycastFilterType.Exclude local res = workspace:Raycast(startPos + Vector3.new(0, 5, 0), Vector3.new(0, -20, 0), rp) local targetY = res and res.Position.Y or startPos.Y -- Target Squish Framework Check if res and res.Instance then local hitModel = res.Instance:FindFirstAncestorOfClass("Model") if hitModel and hitModel ~= char and hitModel:FindFirstChildOfClass("Humanoid") then local eh = hitModel:FindFirstChildOfClass("Humanoid") local er = hitModel:FindFirstChild("HumanoidRootPart") if eh and er then eh:ChangeState(Enum.HumanoidStateType.Physics) er.CFrame = er.CFrame * CFrame.Angles(math.rad(-90), 0, 0) er.AssemblyLinearVelocity = Vector3.new(0, -40, 0) end end end -- Position horizontally flat face-first on the surface local finalCFrame = CFrame.new(Vector3.new(startPos.X, targetY + 0.5, startPos.Z)) * CFrame.Angles(0, math.rad(root.Orientation.Y), 0) * CFrame.Angles(math.rad(-90), 0, 0) root.CFrame = finalCFrame task.wait(0.02) -- Lock position completely on target flat layout for _, p in ipairs(char:GetChildren()) do if p:IsA("BasePart") then activeAnchors[p] = true p.Anchored = true end end -- Listen for player jumping to execute upright stabilization sequence local jumpConn jumpConn = UserInputService.JumpRequest:Connect(function() for _, p in ipairs(char:GetChildren()) do if p:IsA("BasePart") then p.Anchored = false end end table.clear(activeAnchors) root.Anchored = false if char and hum and hum.Health > 0 then hum:ChangeState(Enum.HumanoidStateType.GettingUp) task.wait(0.05) root.CFrame = CFrame.new(root.Position + Vector3.new(0, 3, 0)) * CFrame.Angles(0, math.rad(root.Orientation.Y), 0) end if jumpConn then jumpConn:Disconnect() end end) activeConnection = jumpConn end) SlamTool.Parent = backpack end end -- Initialize Inventory Loop Triggers instantly on load if LocalPlayer.Character then buildCustomTools() end -- Bind Lifecycle Event listeners to monitor player death resets LocalPlayer.CharacterAdded:Connect(function(newCharacter) -- Wait for backpack space tree initialization profile LocalPlayer:WaitForChild("Backpack") task.wait(0.2) buildCustomTools() end) -- ==================================================================== -- MULTI-THREAD INSTANT SHAPE PRINTER (PART 1 OF 2 - SECTOR INTERFACE) -- ==================================================================== local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local CoreGui = game:GetService("CoreGui") local Player = Players.LocalPlayer local Mouse = Player:GetMouse() local Camera = workspace.CurrentCamera local PlaceObjectEvent = ReplicatedStorage:WaitForChild("ProptoolRemotes"):WaitForChild("PlaceObject") -- Active Settings Configuration local currentShape = "Circle" local shapeSize = 20 local density = 15 local ITEM_NAME = "AH-64 Apache Flight" local ROTATION = 0 local MODE = 1 local previewActive = true local activePrintsCount = 0 -- Tracks concurrent print threads -- 1. SCREEN GUI CREATION & INJECTION local screenGui = Instance.new("ScreenGui") screenGui.Name = "MultiPrinterSystem_Gui" local success, err = pcall(function() screenGui.Parent = CoreGui end) if not success then screenGui.Parent = Player:WaitForChild("PlayerGui") end local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 220, 0, 215) frame.Position = UDim2.new(0, 10, 0.5, -107) frame.BackgroundColor3 = Color3.fromRGB(35, 35, 35) frame.BorderSizePixel = 1 frame.Active = true frame.Draggable = true frame.Parent = screenGui local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 30) title.Text = "Multi-Thread Instant Printer" title.TextColor3 = Color3.fromRGB(255, 255, 255) title.BackgroundColor3 = Color3.fromRGB(20, 20, 20) title.Font = Enum.Font.SourceSansBold title.TextSize = 14 title.Parent = frame local toggleBtn = Instance.new("TextButton") toggleBtn.Size = UDim2.new(0.9, 0, 0, 35) toggleBtn.Position = UDim2.new(0.05, 0, 0, 40) toggleBtn.Text = "Shape: " .. currentShape toggleBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255) toggleBtn.Font = Enum.Font.SourceSans toggleBtn.TextSize = 14 toggleBtn.Parent = frame local sizeBtn = Instance.new("TextButton") sizeBtn.Size = UDim2.new(0.9, 0, 0, 35) sizeBtn.Position = UDim2.new(0.05, 0, 0, 85) sizeBtn.Text = "Size: " .. shapeSize sizeBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) sizeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) sizeBtn.Font = Enum.Font.SourceSans sizeBtn.TextSize = 14 sizeBtn.Parent = frame local neutralBtn = Instance.new("TextButton") neutralBtn.Size = UDim2.new(0.9, 0, 0, 35) neutralBtn.Position = UDim2.new(0.05, 0, 0, 130) neutralBtn.Text = "Preview: ON" neutralBtn.BackgroundColor3 = Color3.fromRGB(46, 117, 89) neutralBtn.TextColor3 = Color3.fromRGB(255, 255, 255) neutralBtn.Font = Enum.Font.SourceSansBold neutralBtn.TextSize = 14 neutralBtn.Parent = frame local coordLabel = Instance.new("TextLabel") coordLabel.Size = UDim2.new(0.9, 0, 0, 25) coordLabel.Position = UDim2.new(0.05, 0, 0, 175) coordLabel.Text = "Click Ground to Print" coordLabel.TextColor3 = Color3.fromRGB(150, 230, 150) coordLabel.BackgroundColor3 = Color3.fromRGB(15, 15, 15) coordLabel.Font = Enum.Font.Code coordLabel.TextSize = 13 coordLabel.Parent = frame -- 2. DYNAMIC CLIENT VISUAL GHOST SETUP local ghostPart = Instance.new("Part") ghostPart.Name = "LocalSequencePreviewGhost" ghostPart.Color = Color3.fromRGB(255, 255, 0) ghostPart.Transparency = 0.5 ghostPart.Anchored = true ghostPart.CanCollide = false ghostPart.CanQuery = false ghostPart.CastShadow = false ghostPart.Parent = Camera local function updateGhostAppearance() if currentShape == "Circle" then ghostPart.Shape = Enum.PartType.Cylinder ghostPart.Size = Vector3.new(0.5, shapeSize, shapeSize) ghostPart.Orientation = Vector3.new(0, 0, 90) elseif currentShape == "Cube" then ghostPart.Shape = Enum.PartType.Block ghostPart.Size = Vector3.new(shapeSize, 0.5, shapeSize) ghostPart.Orientation = Vector3.new(0, 0, 0) elseif currentShape == "Triangle" then ghostPart.Shape = Enum.PartType.Block ghostPart.Size = Vector3.new(shapeSize, 0.5, shapeSize) ghostPart.Orientation = Vector3.new(0, 0, 0) end end updateGhostAppearance() -- Menu State Modifications local shapesList = {"Circle", "Cube", "Triangle"} local shapeIndex = 1 toggleBtn.MouseButton1Click:Connect(function() shapeIndex = shapeIndex + 1 if shapeIndex > #shapesList then shapeIndex = 1 end currentShape = shapesList[shapeIndex] toggleBtn.Text = "Shape: " .. currentShape updateGhostAppearance() end) sizeBtn.MouseButton1Click:Connect(function() shapeSize = shapeSize + 5 if shapeSize > 50 then shapeSize = 5 end sizeBtn.Text = "Size: " .. shapeSize updateGhostAppearance() end) neutralBtn.MouseButton1Click:Connect(function() previewActive = not previewActive if previewActive then neutralBtn.Text = "Preview: ON" neutralBtn.BackgroundColor3 = Color3.fromRGB(46, 117, 89) ghostPart.Transparency = 0.5 coordLabel.Text = "Click Ground to Print" else neutralBtn.Text = "Preview: OFF (Neutral)" neutralBtn.BackgroundColor3 = Color3.fromRGB(163, 62, 62) ghostPart.Transparency = 1 coordLabel.Text = "System: Idle" end end) -- 3. INTERPOLATION VECTOR SEQUENCE ARRAY GENERATOR local function generateCoordinateQueue(center2D) local queue = {} local function addLineToQueue(p1, p2, steps) for i = 0, steps do table.insert(queue, p1:Lerp(p2, i / steps)) end end if currentShape == "Circle" then local stepDistance = 2.5 for r = shapeSize, 0, -stepDistance do local currentPoints = math.max(8, math.floor(density * (r / shapeSize) * 2)) for i = 1, currentPoints do local rad = math.rad((i / currentPoints) * 360) table.insert(queue, center2D + Vector2.new(math.cos(rad), math.sin(rad)) * r) end end elseif currentShape == "Cube" then local steps = density local half = shapeSize / 2 for i = 0, steps do local t = i / steps local leftX = center2D.X - half local rightX = center2D.X + half local currentZ = (center2D.Y + half) - (t * shapeSize) addLineToQueue(Vector2.new(leftX, currentZ), Vector2.new(rightX, currentZ), steps) end elseif currentShape == "Triangle" then local steps = density local top = center2D + Vector2.new(0, shapeSize) local bottomLeft = center2D + Vector2.new(-shapeSize, -shapeSize) local bottomRight = center2D + Vector2.new(shapeSize, -shapeSize) for i = 0, steps do local t = i / steps local leftPoint = top:Lerp(bottomLeft, t) local rightPoint = top:Lerp(bottomRight, t) addLineToQueue(leftPoint, rightPoint, math.floor(steps * t)) end end return queue end -- 4. FREE-CLICK MULTI-THREAD INPUT CONNECTOR UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed or not previewActive or not Mouse.Hit then return end -- Captures user inputs (Works concurrently without checking an active print lock) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then activePrintsCount = activePrintsCount + 1 -- Immediately lock the center coordinate for this specific thread branch local targetCenter = Vector2.new(ghostPart.Position.X, ghostPart.Position.Z) local coordinatePipeline = generateCoordinateQueue(targetCenter) task.spawn(function() for index, coordinate in ipairs(coordinatePipeline) do coordLabel.Text = string.format("Active Prints: %d | Printing...", activePrintsCount) PlaceObjectEvent:FireServer(ITEM_NAME, ROTATION, coordinate, MODE) task.wait(0.01) end activePrintsCount = math.max(0, activePrintsCount - 1) if activePrintsCount == 0 then coordLabel.Text = "All Prints Finished!" task.wait(0.5) if previewActive then coordLabel.Text = "Click Ground to Print" end else coordLabel.Text = string.format("Active Prints: %d", activePrintsCount) end end) end end) -- 5. REAL-TIME MOUSE POSITION HOOK RunService.RenderStepped:Connect(function() if not previewActive or not Mouse.Hit then ghostPart.Transparency = 1 return end -- Keep the visual preview ghost box active and tracking even if threads are running in the background local lookPos = Mouse.Hit.Position ghostPart.Transparency = 0.5 ghostPart.Position = Vector3.new(lookPos.X, lookPos.Y + (ghostPart.Size.Y / 2), lookPos.Z) end)