local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer local pgui = LocalPlayer:WaitForChild("PlayerGui") -- Setup UI if pgui:FindFirstChild("GeminiESPMaster") then pgui.GeminiESPMaster:Destroy() end local sg = Instance.new("ScreenGui", pgui); sg.Name = "GeminiESPMaster"; sg.ResetOnSpawn = false local main = Instance.new("Frame", sg) main.Size = UDim2.new(0, 150, 0, 50) main.Position = UDim2.new(0.1, 0, 0.4, 0) main.BackgroundColor3 = Color3.fromRGB(30, 31, 34) main.Active = true Instance.new("UICorner", main) -- PRO DRAG LOGIC (Works on all executors) local dragging, dragInput, dragStart, startPos local function update(input) local delta = input.Position - dragStart main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end main.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true; dragStart = input.Position; startPos = main.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) main.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then update(input) end end) local toggleBtn = Instance.new("TextButton", main) toggleBtn.Size = UDim2.new(1, -10, 1, -10) toggleBtn.Position = UDim2.new(0, 5, 0, 5) toggleBtn.Text = "ESP: OFF" toggleBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50) toggleBtn.TextColor3 = Color3.new(1, 1, 1) toggleBtn.Font = "GothamBold" toggleBtn.TextSize = 14 Instance.new("UICorner", toggleBtn) -- ESP STORAGE local ESP_Folder = Instance.new("Folder", game:GetService("CoreGui")) ESP_Folder.Name = "GeminiESP_Storage" local espEnabled = false local espStorage = {} local function applyESP(player) local char = player.Character or player.CharacterAdded:Wait() local highlight = Instance.new("Highlight", ESP_Folder) highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.FillTransparency = 0.5 local bill = Instance.new("BillboardGui", ESP_Folder) bill.AlwaysOnTop = true bill.Size = UDim2.new(0, 120, 0, 45) bill.ExtentsOffset = Vector3.new(0, 4.5, 0) local label = Instance.new("TextLabel", bill) label.Size = UDim2.new(1, 0, 1, 0) label.BackgroundTransparency = 1 label.Font = "GothamBold" label.TextSize = 13 label.TextStrokeTransparency = 0.5 return highlight, bill, label end toggleBtn.MouseButton1Click:Connect(function() espEnabled = not espEnabled if espEnabled then toggleBtn.Text = "ESP: ON"; toggleBtn.BackgroundColor3 = Color3.fromRGB(66, 133, 244) else toggleBtn.Text = "ESP: OFF"; toggleBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50) for _, data in pairs(espStorage) do if data.High then data.High:Destroy() end if data.Tag then data.Tag:Destroy() end end espStorage = {} ESP_Folder:ClearAllChildren() end end) RunService.RenderStepped:Connect(function() if not espEnabled then return end local myChar = LocalPlayer.Character if not myChar or not myChar:FindFirstChild("HumanoidRootPart") then return end for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer then local char = player.Character if char and char:FindFirstChild("HumanoidRootPart") and char:FindFirstChild("Humanoid") then if not espStorage[player] then local high, bill, label = applyESP(player) espStorage[player] = {High = high, Tag = bill, Text = label} end local data = espStorage[player] local dist = math.floor((myChar.HumanoidRootPart.Position - char.HumanoidRootPart.Position).Magnitude) local teamColor = player.TeamColor.Color data.High.Adornee = char data.High.FillColor = teamColor data.Tag.Adornee = char.HumanoidRootPart data.Text.TextColor3 = teamColor data.Text.Text = string.format("%s\n%d studs", player.Name, dist) end end end end)