local player = game.Players.LocalPlayer local guiName = "MainUI" -- إزالة الواجهة القديمة إذا كانت موجودة if player.PlayerGui:FindFirstChild(guiName) then player.PlayerGui[guiName]:Destroy() end -- شاشة التحميل local loadingGui = Instance.new("ScreenGui", player.PlayerGui) loadingGui.Name = "LoadingUI" loadingGui.ResetOnSpawn = false local loadingFrame = Instance.new("Frame", loadingGui) loadingFrame.Size = UDim2.new(0, 300, 0, 100) loadingFrame.Position = UDim2.new(0.5, -150, 0.5, -50) loadingFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) loadingFrame.BackgroundTransparency = 0.2 loadingFrame.BorderSizePixel = 0 Instance.new("UICorner", loadingFrame).CornerRadius = UDim.new(0, 10) local loadingText = Instance.new("TextLabel", loadingFrame) loadingText.Size = UDim2.new(1, 0, 1, 0) loadingText.BackgroundTransparency = 1 loadingText.Text = "Loading..." loadingText.TextColor3 = Color3.fromRGB(255, 255, 255) loadingText.Font = Enum.Font.GothamBold loadingText.TextSize = 24 wait(3) loadingGui:Destroy() -- الواجهة الرئيسية local mainGui = Instance.new("ScreenGui", player.PlayerGui) mainGui.Name = guiName mainGui.ResetOnSpawn = false mainGui.IgnoreGuiInset = true local mainFrame = Instance.new("Frame", mainGui) local fullSize = UDim2.new(0, 400, 0, 280) local minimizedSize = UDim2.new(0, 200, 0, 90) local fullPosition = UDim2.new(0.5, -200, 0.5, -140) local minimizedPosition = UDim2.new(0.5, -100, 0.5, -45) mainFrame.Size = fullSize mainFrame.Position = fullPosition mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) mainFrame.BorderSizePixel = 0 mainFrame.Active = true mainFrame.Draggable = true Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 10) Instance.new("UIStroke", mainFrame).Color = Color3.fromRGB(50, 50, 50) -- زر الإغلاق local closeBtn = Instance.new("TextButton", mainFrame) closeBtn.Size = UDim2.new(0, 30, 0, 30) closeBtn.Position = UDim2.new(1, -35, 0, 5) closeBtn.BackgroundColor3 = Color3.fromRGB(50, 0, 0) closeBtn.Text = "X" closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 18 Instance.new("UICorner", closeBtn) closeBtn.MouseButton1Click:Connect(function() mainFrame.Visible = false end) -- زر التصغير/التكبير local toggleBtn = Instance.new("TextButton", mainFrame) toggleBtn.Size = UDim2.new(0, 30, 0, 30) toggleBtn.Position = UDim2.new(1, -70, 0, 5) toggleBtn.BackgroundColor3 = Color3.fromRGB(0, 50, 50) toggleBtn.Text = "-" toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255) toggleBtn.Font = Enum.Font.GothamBold toggleBtn.TextSize = 22 Instance.new("UICorner", toggleBtn) -- الحقوق تحت الزر الرابع بدون فراغ local credit = Instance.new("TextLabel", mainFrame) credit.Size = UDim2.new(1, 0, 0, 25) credit.Position = UDim2.new(0, 0, 1, -25) credit.BackgroundTransparency = 1 credit.Text = "YOUTUBE: @Dzenr" credit.TextColor3 = Color3.fromRGB(200, 200, 200) credit.Font = Enum.Font.Gotham credit.TextSize = 16 credit.TextXAlignment = Enum.TextXAlignment.Center -- زر Inf Money / Fly local infFlyButton = Instance.new("TextButton", mainFrame) infFlyButton.Size = UDim2.new(0.8, 0, 0, 40) infFlyButton.Position = UDim2.new(0.1, 0, 0, 195) -- تحت الزر الثالث بـ 50 بيكسل infFlyButton.BackgroundColor3 = Color3.fromRGB(80, 0, 180) infFlyButton.Text = "Inf Money / Fly : off" infFlyButton.TextColor3 = Color3.fromRGB(255, 255, 255) infFlyButton.Font = Enum.Font.GothamBold infFlyButton.TextSize = 18 infFlyButton.AutoButtonColor = false Instance.new("UICorner", infFlyButton) local infFlyStroke = Instance.new("UIStroke", infFlyButton) infFlyStroke.Color = Color3.fromRGB(120, 0, 220) infFlyStroke.Thickness = 1.5 infFlyStroke.Transparency = 0.25 local spinLoop local infFlyOn = false local spinLoop = nil local function cleanMagicCarpets() local backpack = player:FindFirstChild("Backpack") if not backpack then return end local magicCarpets = {} for _, item in pairs(backpack:GetChildren()) do if item.Name == "MagicCarpet" then table.insert(magicCarpets, item) end end if #magicCarpets > 1 then for i = 2, #magicCarpets do if magicCarpets[i] and magicCarpets[i].Parent then magicCarpets[i]:Destroy() end end end end infFlyButton.MouseButton1Click:Connect(function() infFlyOn = not infFlyOn if infFlyOn then infFlyButton.Text = "Inf Money / Fly : on" infFlyButton.BackgroundColor3 = Color3.fromRGB(0, 180, 180) infFlyStroke.Color = Color3.fromRGB(0, 220, 220) -- نقل اللاعب إلى الإحداثي -123, 5, -1327 if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then player.Character.HumanoidRootPart.CFrame = CFrame.new(-123, 5, -1327) end -- بعد 5 ثواني يبدأ التكرار delay(5, function() if not infFlyOn then return end -- إذا تم إيقاف الزر قبل 5 ثواني، لا يبدأ spinLoop = game:GetService("RunService").Heartbeat:Connect(function() game:GetService("ReplicatedStorage").Spin:InvokeServer() cleanMagicCarpets() wait(0.05) end) end) else infFlyButton.Text = "Inf Money / Fly : off" infFlyButton.BackgroundColor3 = Color3.fromRGB(80, 0, 180) infFlyStroke.Color = Color3.fromRGB(120, 0, 220) -- إيقاف التكرار لو كان شغال if spinLoop then spinLoop:Disconnect() spinLoop = nil end end end) -- زر الأسهم المتحركة (Toggle Markers) local markerButton = Instance.new("TextButton", mainFrame) markerButton.Size = UDim2.new(0.8, 0, 0, 40) markerButton.Position = UDim2.new(0.1, 0, 0, 45) markerButton.BackgroundColor3 = Color3.fromRGB(180, 0, 0) markerButton.Text = "Toggle Markers : off" markerButton.TextColor3 = Color3.fromRGB(255, 255, 255) markerButton.Font = Enum.Font.GothamBold markerButton.TextSize = 18 markerButton.AutoButtonColor = false Instance.new("UICorner", markerButton) local markerStroke = Instance.new("UIStroke", markerButton) markerStroke.Color = Color3.fromRGB(220, 40, 40) markerStroke.Thickness = 1.5 markerStroke.Transparency = 0.25 -- زر المشي التلقائي (Auto Play) local autoWalkButton = Instance.new("TextButton", mainFrame) autoWalkButton.Size = UDim2.new(0.8, 0, 0, 40) autoWalkButton.Position = UDim2.new(0.1, 0, 0, 95) autoWalkButton.BackgroundColor3 = Color3.fromRGB(100, 100, 0) autoWalkButton.Text = "Auto Play : off" autoWalkButton.TextColor3 = Color3.fromRGB(255, 255, 255) autoWalkButton.Font = Enum.Font.GothamBold autoWalkButton.TextSize = 18 autoWalkButton.AutoButtonColor = false Instance.new("UICorner", autoWalkButton) local autoWalkStroke = Instance.new("UIStroke", autoWalkButton) autoWalkStroke.Color = Color3.fromRGB(150, 150, 0) autoWalkStroke.Thickness = 1.5 autoWalkStroke.Transparency = 0.25 -- زر الدخول والخروج من VIP AREA local vipButton = Instance.new("TextButton", mainFrame) vipButton.Size = UDim2.new(0.8, 0, 0, 40) vipButton.Position = UDim2.new(0.1, 0, 0, 145) vipButton.BackgroundColor3 = Color3.fromRGB(0, 100, 180) vipButton.Text = "Enter VIP AREA" vipButton.TextColor3 = Color3.fromRGB(255, 255, 255) vipButton.Font = Enum.Font.GothamBold vipButton.TextSize = 18 vipButton.AutoButtonColor = false Instance.new("UICorner", vipButton) local vipStroke = Instance.new("UIStroke", vipButton) vipStroke.Color = Color3.fromRGB(40, 140, 220) vipStroke.Thickness = 1.5 vipStroke.Transparency = 0.25 local inVIPArea = false local TweenService = game:GetService("TweenService") local RunService = game:GetService("RunService") local addedMarkers = {} local markerConnections = {} local isRunningMarkers = false local isRunningAutoWalk = false local isMinimized = false local visitedParts = {} -- دالة إنشاء سهم فوق الجزء المطلوب local function createArrowMarker(part, color) for _, gui in pairs(part:GetChildren()) do if gui.Name == "ArrowMarker" then gui:Destroy() end end local billboard = Instance.new("BillboardGui") billboard.Name = "ArrowMarker" billboard.Adornee = part billboard.Size = UDim2.new(0,30,0,40) billboard.AlwaysOnTop = true billboard.LightInfluence = 0 billboard.StudsOffset = Vector3.new(0, part.Size.Y + 0.5, 0) local arrowBody = Instance.new("Frame", billboard) arrowBody.Name = "ArrowBody" arrowBody.Size = UDim2.new(0,10,0,20) arrowBody.Position = UDim2.new(0.5, -5, 0, 15) arrowBody.BackgroundColor3 = color arrowBody.BorderSizePixel = 0 Instance.new("UICorner", arrowBody).CornerRadius = UDim.new(1, 0) local arrowHead = Instance.new("Frame", billboard) arrowHead.Name = "ArrowHead" arrowHead.Size = UDim2.new(0,20,0,20) arrowHead.Position = UDim2.new(0.5, -10, 0, 0) arrowHead.BackgroundColor3 = color arrowHead.BorderSizePixel = 0 Instance.new("UICorner", arrowHead).CornerRadius = UDim.new(0.5, 0) arrowHead.Rotation = 45 local tweenInfo = TweenInfo.new(1.5, Enum.EasingStyle.Sine, Enum.EasingDirection.Out, -1, true) TweenService:Create(arrowBody, tweenInfo, {Position = UDim2.new(0.5, -5, 0, 10)}):Play() TweenService:Create(arrowHead, tweenInfo, {Position = UDim2.new(0.5, -10, 0, -5)}):Play() billboard.Parent = part table.insert(addedMarkers, billboard) if markerConnections[part] then markerConnections[part]:Disconnect() markerConnections[part] = nil end local touchedOnce = false local function onTouched(hit) if touchedOnce then return end if hit and hit.Parent == player.Character then touchedOnce = true local arrowBody = billboard:FindFirstChild("ArrowBody") local arrowHead = billboard:FindFirstChild("ArrowHead") if arrowBody and arrowHead then arrowBody.BackgroundColor3 = Color3.fromRGB(0, 255, 0) arrowHead.BackgroundColor3 = Color3.fromRGB(0, 255, 0) end local newOffset = billboard.StudsOffset + Vector3.new(0, 2, 0) local tweenPosInfo = TweenInfo.new(1.5, Enum.EasingStyle.Sine, Enum.EasingDirection.Out) TweenService:Create(billboard, tweenPosInfo, {StudsOffset = newOffset}):Play() end end markerConnections[part] = part.Touched:Connect(onTouched) end local function clearMarkers() for _, m in ipairs(addedMarkers) do if m and m.Parent then m:Destroy() end end addedMarkers = {} for part, conn in pairs(markerConnections) do if conn then conn:Disconnect() end end markerConnections = {} end local function setMarkerButtonState(running) if running then markerButton.Text = "Toggle Markers : on" markerButton.BackgroundColor3 = Color3.fromRGB(0, 180, 0) markerStroke.Color = Color3.fromRGB(40, 220, 40) else markerButton.Text = "Toggle Markers : off" markerButton.BackgroundColor3 = Color3.fromRGB(180, 0, 0) markerStroke.Color = Color3.fromRGB(220, 40, 40) end end local function setAutoWalkButtonState(running) if running then autoWalkButton.Text = "Auto Play : on" autoWalkButton.BackgroundColor3 = Color3.fromRGB(0, 180, 0) autoWalkStroke.Color = Color3.fromRGB(40, 220, 40) else autoWalkButton.Text = "Auto Play : off" autoWalkButton.BackgroundColor3 = Color3.fromRGB(100, 100, 0) autoWalkStroke.Color = Color3.fromRGB(150, 150, 0) end end local function getArrowParts() local parts = {} local glass = workspace:FindFirstChild("Glass") if glass then for _, segment in pairs(glass:GetChildren()) do for _, side in pairs({"Left", "Right"}) do local p = segment:IsA("Model") and segment:FindFirstChild(side) or (segment:IsA("BasePart") and segment.Name == side and segment) if p and p:IsA("BasePart") and p.CanCollide then table.insert(parts, p) end end end end return parts end local function getClosestPart(pos, parts, excludeList) local best, minDist = nil, math.huge for _, p in pairs(parts) do local alreadyVisited = false for _, visitedPart in pairs(excludeList) do if p == visitedPart then alreadyVisited = true break end end if not alreadyVisited then local d = (p.Position - pos).Magnitude if d < minDist then best, minDist = p, d end end end return best end local function onCharacterAdded(char) visitedParts = {} isRunningAutoWalk = false setAutoWalkButtonState(false) local humanoid = char:WaitForChild("Humanoid") humanoid.WalkSpeed = 16 humanoid.Died:Connect(function() visitedParts = {} isRunningAutoWalk = false setAutoWalkButtonState(false) humanoid.WalkSpeed = 16 end) end if player.Character then onCharacterAdded(player.Character) end player.CharacterAdded:Connect(onCharacterAdded) autoWalkButton.MouseButton1Click:Connect(function() local char = player.Character or player.CharacterAdded:Wait() local humanoid = char:FindFirstChildOfClass("Humanoid") if not humanoid then return end if not isRunningAutoWalk then isRunningAutoWalk = true setAutoWalkButtonState(true) humanoid.WalkSpeed = 50 local hrp = char:WaitForChild("HumanoidRootPart") local arrowParts = getArrowParts() if #arrowParts == 0 then isRunningAutoWalk = false setAutoWalkButtonState(false) humanoid.WalkSpeed = 16 return end local currentTarget = getClosestPart(hrp.Position, arrowParts, visitedParts) spawn(function() while isRunningAutoWalk do if not currentTarget then break end if humanoid and humanoid:GetState() ~= Enum.HumanoidStateType.Jumping and humanoid:GetState() ~= Enum.HumanoidStateType.Freefall then humanoid.Jump = true end humanoid:MoveTo(currentTarget.Position) local reached = humanoid.MoveToFinished:Wait() if reached then table.insert(visitedParts, currentTarget) end currentTarget = getClosestPart(hrp.Position, arrowParts, visitedParts) wait(0.2) end isRunningAutoWalk = false setAutoWalkButtonState(false) humanoid.WalkSpeed = 16 end) else isRunningAutoWalk = false setAutoWalkButtonState(false) humanoid.WalkSpeed = 16 end end) markerButton.MouseButton1Click:Connect(function() if not isRunningMarkers then isRunningMarkers = true setMarkerButtonState(true) local glass = workspace:FindFirstChild("Glass") if glass then for _, segment in pairs(glass:GetChildren()) do for _, side in pairs({"Left", "Right"}) do local p = segment:IsA("Model") and segment:FindFirstChild(side) or (segment:IsA("BasePart") and segment.Name == side and segment) if p and p:IsA("BasePart") and p.CanCollide then createArrowMarker(p, Color3.fromRGB(0, 150, 255)) end end end end else isRunningMarkers = false setMarkerButtonState(false) clearMarkers() end end) toggleBtn.MouseButton1Click:Connect(function() if not isMinimized then mainFrame:TweenSizeAndPosition(minimizedSize, minimizedPosition, Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.3, true) markerButton.Visible = false autoWalkButton.Visible = false vipButton.Visible = false infFlyButton.Visible = false credit.Visible = false toggleBtn.Text = "+" else mainFrame:TweenSizeAndPosition(fullSize, fullPosition, Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.3, true) markerButton.Visible = true autoWalkButton.Visible = true vipButton.Visible = true infFlyButton.Visible = true credit.Visible = true toggleBtn.Text = "-" end isMinimized = not isMinimized end) -- حدث الضغط على زر VIP vipButton.MouseButton1Click:Connect(function() local char = player.Character or player.CharacterAdded:Wait() local hrp = char:FindFirstChild("HumanoidRootPart") if not hrp then return end if not inVIPArea then hrp.CFrame = CFrame.new(-117, -1, 71) vipButton.Text = "Exit VIP AREA" inVIPArea = true else hrp.CFrame = CFrame.new(-117, -1, 35) vipButton.Text = "Enter VIP AREA" inVIPArea = false end end)