-- ========================================================================= -- MM2 PRO ULTIMATE HUB - REVISED & OPTIMIZED v3.0 (HEARTBEAT EDITION) -- ========================================================================= local Players = game:GetService("Players") local Workspace = game:GetService("Workspace") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") -- Eski menü varsa temizle pcall(function() if playerGui:FindFirstChild("MM2ProHub") then playerGui.MM2ProHub:Destroy() end end) local screenGui = Instance.new("ScreenGui") screenGui.Name = "MM2ProHub" screenGui.ResetOnSpawn = false screenGui.Parent = playerGui -- Delta / Mobil Uyumlu Sürüklenebilir Aç/Kapat Tuşu (Dünya Simgesi) local toggleBtn = Instance.new("TextButton") toggleBtn.Size = UDim2.new(0, 45, 0, 45) toggleBtn.Position = UDim2.new(0, 20, 0.5, -25) toggleBtn.BackgroundColor3 = Color3.fromRGB(20, 20, 30) toggleBtn.Text = "🌍" toggleBtn.TextSize = 22 toggleBtn.Active = true toggleBtn.Draggable = true toggleBtn.Parent = screenGui Instance.new("UICorner", toggleBtn).CornerRadius = UDim.new(0, 10) Instance.new("UIStroke", toggleBtn).Color = Color3.fromRGB(0, 220, 255) -- Ana Çerçeve (Oynak / Draggable) local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 340, 0, 310) mainFrame.Position = UDim2.new(0.5, -170, 0.5, -155) mainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 22) mainFrame.Active = true mainFrame.Draggable = true mainFrame.Parent = screenGui Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 14) local mainStroke = Instance.new("UIStroke", mainFrame) mainStroke.Color = Color3.fromRGB(0, 200, 255) mainStroke.Thickness = 2 -- Başlık local title = Instance.new("TextLabel", mainFrame) title.Size = UDim2.new(1, 0, 0, 45) title.Text = "MM2 PRO - ULTIMATE HUB" title.TextColor3 = Color3.fromRGB(0, 220, 255) title.TextSize = 15 title.Font = Enum.Font.GothamBold title.BackgroundTransparency = 1 local isOpen = true toggleBtn.MouseButton1Click:Connect(function() pcall(function() isOpen = not isOpen mainFrame.Visible = isOpen end) end) -- Bilgisayar için Insert tuşu ile aç/kapat UserInputService.InputBegan:Connect(function(input, gameProcessed) pcall(function() if input.KeyCode == Enum.KeyCode.Insert then isOpen = not isOpen mainFrame.Visible = isOpen end end) end) -- Fonksiyon Butonu Oluşturucu (+ / - Tarzı Aç-Kapat) local function createToggleFeature(yPos, featureName, callback) local btn = Instance.new("TextButton", mainFrame) btn.Size = UDim2.new(0.88, 0, 0, 45) btn.Position = UDim2.new(0.06, 0, 0, yPos) btn.BackgroundColor3 = Color3.fromRGB(30, 30, 45) btn.Text = featureName .. " [-]" btn.TextColor3 = Color3.fromRGB(255, 100, 100) btn.TextSize = 12 btn.Font = Enum.Font.GothamBold Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8) local state = false btn.MouseButton1Click:Connect(function() pcall(function() state = not state if state then btn.BackgroundColor3 = Color3.fromRGB(40, 160, 80) btn.Text = featureName .. " [+]" btn.TextColor3 = Color3.fromRGB(255, 255, 255) else btn.BackgroundColor3 = Color3.fromRGB(30, 30, 45) btn.Text = featureName .. " [-]" btn.TextColor3 = Color3.fromRGB(255, 100, 100) end local success, err = pcall(function() callback(state) end) if not success and err then warn("MM2 Hub Callback Hatası: " .. tostring(err)) end end) end) end -- Sağ En Altta "Script Çalışıyor" Mesajı local statusNotice = Instance.new("TextLabel", screenGui) statusNotice.Size = UDim2.new(0, 180, 0, 30) statusNotice.Position = UDim2.new(1, -190, 1, -40) statusNotice.BackgroundColor3 = Color3.fromRGB(10, 25, 15) statusNotice.Text = "Script çalışıyor ✔️" statusNotice.TextColor3 = Color3.fromRGB(0, 255, 120) statusNotice.TextSize = 11 statusNotice.Font = Enum.Font.GothamBold Instance.new("UICorner", statusNotice).CornerRadius = UDim.new(0, 6) Instance.new("UIStroke", statusNotice).Color = Color3.fromRGB(0, 200, 100) -- ========================================================================= -- MM2 PROFESYONEL MOTORLAR (HEARTBEAT EVENT SİSTEMİ) -- ========================================================================= local espConnection = nil local gunConnection = nil local coinConnection = nil local voidConnection = nil -- 1. ROL ESP (Heartbeat Tabanlı Anlık Güncelleme) createToggleFeature(55, "Rol ESP (Şerif / Katil / Masum)", function(active) if espConnection then espConnection:Disconnect() espConnection = nil end -- Kapatıldığında tüm etiketleri temizle pcall(function() for _, p in ipairs(Players:GetPlayers()) do if p.Character and p.Character:FindFirstChild("Head") then local tag = p.Character.Head:FindFirstChild("MM2_ESP_Tag") if tag then tag:Destroy() end end end end) if not active then return end espConnection = RunService.Heartbeat:Connect(function() pcall(function() for _, p in ipairs(Players:GetPlayers()) do if p ~= player and p.Character and p.Character:FindFirstChild("Head") then local head = p.Character.Head local bill = head:FindFirstChild("MM2_ESP_Tag") if not bill then bill = Instance.new("BillboardGui") bill.Name = "MM2_ESP_Tag" bill.Size = UDim2.new(0, 120, 0, 30) bill.StudsOffset = Vector3.new(0, 2.5, 0) bill.AlwaysOnTop = true bill.Parent = head local txt = Instance.new("TextLabel", bill) txt.Size = UDim2.new(1, 0, 1, 0) txt.BackgroundTransparency = 1 txt.TextSize = 11 txt.Font = Enum.Font.GothamBold end local roleText = "Masum" local roleColor = Color3.fromRGB(0, 255, 100) local backpack = p.Backpack local char = p.Character local hasKnife = (backpack and backpack:FindFirstChild("Knife")) or (char and char:FindFirstChild("Knife")) local hasGun = (backpack and backpack:FindFirstChild("Gun")) or (char and char:FindFirstChild("Gun")) if hasKnife then roleText = "Katil 🔪" roleColor = Color3.fromRGB(255, 0, 0) elseif hasGun then roleText = "Şerif 🔫" roleColor = Color3.fromRGB(0, 150, 255) end local hum = char:FindFirstChildOfClass("Humanoid") if hum and hum.Health <= 0 then bill.Enabled = false else bill.Enabled = true local txt = bill:FindFirstChildOfClass("TextLabel") if txt then txt.Text = p.Name .. " [" .. roleText .. "]" txt.TextColor3 = roleColor end end end end end) end) end) -- 2. OTOMATİK ŞERİF SİLAHI KAPMA createToggleFeature(110, "Oto Silah Al (Şerif Ölünce)", function(active) if gunConnection then gunConnection:Disconnect() gunConnection = nil end if not active then return end local lastCheck = 0 gunConnection = RunService.Heartbeat:Connect(function() local now = tick() if now - lastCheck < 0.3 then return end -- Sürekli tarayıp oyunu kastırmasın diye hafif gecikme lastCheck = now pcall(function() local gunDrop = nil for _, obj in ipairs(Workspace:GetDescendants()) do if obj.Name == "GunDrop" then gunDrop = obj break end end if gunDrop and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then local hrp = player.Character.HumanoidRootPart local oldPos = hrp.CFrame hrp.CFrame = gunDrop.CFrame task.wait(0.05) hrp.CFrame = oldPos end end) end) end) -- 3. OTO PARA TOPLAMA (Coin Farm) createToggleFeature(165, "Oto Para Topla (Coin Farm)", function(active) if coinConnection then coinConnection:Disconnect() coinConnection = nil end if not active then return end local lastCheck = 0 coinConnection = RunService.Heartbeat:Connect(function() local now = tick() if now - lastCheck < 0.2 then return end lastCheck = now pcall(function() local char = player.Character if not char or not char:FindFirstChild("HumanoidRootPart") then return end local hrp = char.HumanoidRootPart for _, part in ipairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end for _, obj in ipairs(Workspace:GetDescendants()) do if obj.Name == "Coin_Server" or obj.Name == "Coin" or obj.Name == "CoinVisual" then hrp.CFrame = obj.CFrame break end end end) end) end) -- 4. ANTİ-VOİD createToggleFeature(220, "Anti-Void (Düşme Koruması)", function(active) if voidConnection then voidConnection:Disconnect() voidConnection = nil end if not active then return end voidConnection = RunService.Heartbeat:Connect(function() pcall(function() local char = player.Character if char and char:FindFirstChild("HumanoidRootPart") then local hrp = char.HumanoidRootPart if hrp.Position.Y < -50 then hrp.CFrame = hrp.CFrame + Vector3.new(0, 40, 0) hrp.AssemblyLinearVelocity = Vector3.new(0, 0, 0) end end end) end) end) print("--- MM2 Pro Hub v3.0 (Heartbeat Edition) Aktif Edildi! ---")