-- Hug Troll Script with GUI local Players = game:GetService("Players") local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local player = Players.LocalPlayer local cooldowns = {} -- Settings local hugRange = 8 local teleportDistance = 5000 local cooldownTime = 5 -- seconds -- ===================== -- GUI -- ===================== local screenGui = Instance.new("ScreenGui") screenGui.Name = "HugTrollGUI" screenGui.ResetOnSpawn = false screenGui.Parent = player.PlayerGui local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 220, 0, 180) mainFrame.Position = UDim2.new(0, 20, 0.5, -90) mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) mainFrame.BorderSizePixel = 0 mainFrame.Active = true mainFrame.Draggable = true mainFrame.Parent = screenGui -- Corner rounding Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 10) -- Title bar local titleBar = Instance.new("Frame") titleBar.Size = UDim2.new(1, 0, 0, 35) titleBar.BackgroundColor3 = Color3.fromRGB(255, 75, 75) titleBar.BorderSizePixel = 0 titleBar.Parent = mainFrame Instance.new("UICorner", titleBar).CornerRadius = UDim.new(0, 10) local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(1, 0, 1, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = "🤗 Hug Troller" titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) titleLabel.TextScaled = true titleLabel.Font = Enum.Font.GothamBold titleLabel.Parent = titleBar -- Status label local statusLabel = Instance.new("TextLabel") statusLabel.Size = UDim2.new(1, 0, 0, 30) statusLabel.Position = UDim2.new(0, 0, 0, 45) statusLabel.BackgroundTransparency = 1 statusLabel.Text = "Status: OFF" statusLabel.TextColor3 = Color3.fromRGB(255, 80, 80) statusLabel.TextScaled = true statusLabel.Font = Enum.Font.Gotham statusLabel.Parent = mainFrame -- Toggle button local toggleBtn = Instance.new("TextButton") toggleBtn.Size = UDim2.new(0.8, 0, 0, 40) toggleBtn.Position = UDim2.new(0.1, 0, 0, 85) toggleBtn.BackgroundColor3 = Color3.fromRGB(255, 75, 75) toggleBtn.Text = "Enable" toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255) toggleBtn.TextScaled = true toggleBtn.Font = Enum.Font.GothamBold toggleBtn.BorderSizePixel = 0 toggleBtn.Parent = mainFrame Instance.new("UICorner", toggleBtn).CornerRadius = UDim.new(0, 8) -- Cooldown label local cooldownLabel = Instance.new("TextLabel") cooldownLabel.Size = UDim2.new(1, 0, 0, 25) cooldownLabel.Position = UDim2.new(0, 0, 0, 135) cooldownLabel.BackgroundTransparency = 1 cooldownLabel.Text = "Cooldown: " .. cooldownTime .. "s" cooldownLabel.TextColor3 = Color3.fromRGB(180, 180, 180) cooldownLabel.TextScaled = true cooldownLabel.Font = Enum.Font.Gotham cooldownLabel.Parent = mainFrame -- Cooldown buttons local minusBtn = Instance.new("TextButton") minusBtn.Size = UDim2.new(0, 30, 0, 25) minusBtn.Position = UDim2.new(0, 10, 0, 148) minusBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) minusBtn.Text = "-" minusBtn.TextColor3 = Color3.fromRGB(255,255,255) minusBtn.TextScaled = true minusBtn.Font = Enum.Font.GothamBold minusBtn.BorderSizePixel = 0 minusBtn.Parent = mainFrame Instance.new("UICorner", minusBtn).CornerRadius = UDim.new(0, 6) local plusBtn = Instance.new("TextButton") plusBtn.Size = UDim2.new(0, 30, 0, 25) plusBtn.Position = UDim2.new(1, -40, 0, 148) plusBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) plusBtn.Text = "+" plusBtn.TextColor3 = Color3.fromRGB(255,255,255) plusBtn.TextScaled = true plusBtn.Font = Enum.Font.GothamBold plusBtn.BorderSizePixel = 0 plusBtn.Parent = mainFrame Instance.new("UICorner", plusBtn).CornerRadius = UDim.new(0, 6) -- ===================== -- LOGIC -- ===================== local enabled = false local function updateCooldownLabel() cooldownLabel.Text = "Cooldown: " .. cooldownTime .. "s" end minusBtn.MouseButton1Click:Connect(function() if cooldownTime > 1 then cooldownTime = cooldownTime - 1 updateCooldownLabel() end end) plusBtn.MouseButton1Click:Connect(function() cooldownTime = cooldownTime + 1 updateCooldownLabel() end) toggleBtn.MouseButton1Click:Connect(function() enabled = not enabled if enabled then toggleBtn.Text = "Disable" toggleBtn.BackgroundColor3 = Color3.fromRGB(75, 200, 75) statusLabel.Text = "Status: ON" statusLabel.TextColor3 = Color3.fromRGB(75, 255, 75) else toggleBtn.Text = "Enable" toggleBtn.BackgroundColor3 = Color3.fromRGB(255, 75, 75) statusLabel.Text = "Status: OFF" statusLabel.TextColor3 = Color3.fromRGB(255, 80, 80) end end) local function getRandomFarPosition(root) local angle = math.random() * 2 * math.pi local dist = teleportDistance + math.random(0, 2000) local x = root.Position.X + math.cos(angle) * dist local z = root.Position.Z + math.sin(angle) * dist local y = math.random(50, 200) return Vector3.new(x, y, z) end local function trollTeleport(targetPlayer, myRoot) local targetChar = targetPlayer.Character if not targetChar then return end local targetRoot = targetChar:FindFirstChild("HumanoidRootPart") if not targetRoot then return end targetRoot.CFrame = CFrame.new(getRandomFarPosition(myRoot)) print("Trolled " .. targetPlayer.Name) end RunService.Heartbeat:Connect(function() if not enabled then return end local character = player.Character if not character then return end local rootPart = character:FindFirstChild("HumanoidRootPart") if not rootPart then return end for _, otherPlayer in ipairs(Players:GetPlayers()) do if otherPlayer == player then continue end local otherChar = otherPlayer.Character if not otherChar then continue end local otherRoot = otherChar:FindFirstChild("HumanoidRootPart") if not otherRoot then continue end local distance = (rootPart.Position - otherRoot.Position).Magnitude if distance <= hugRange then local now = tick() if not cooldowns[otherPlayer.Name] or now - cooldowns[otherPlayer.Name] > cooldownTime then cooldowns[otherPlayer.Name] = now trollTeleport(otherPlayer, rootPart) end end end end) print("Hug Troll GUI loaded!")