Fun Squid Game Gl* Bridge 2
Key Required

Fun Squid Game Gl* Bridge 2

Fun Squid Game! Glass Bridge 2DzenrDzenr 7.8K views 31 executesUpdated Jul 5, 2025
5.0/ 5(3 votes)
30100% Positive
Lua Script•516 lines (15391 chars)
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)

Features & Information

*Fun Squid Game! Glass Bridge 2 Script: While Auto Play is active, do not move using the joystick to avoid any issues. Auto Play | Inf Money | Enter Vip Area | Get MagicCarpet | Show the correct glass panels. YouTube: @Dzenr
#Squid game#Fun Squid Game Gl* Bridge#Fun Squid Game#Gl* Bridge

Community Comments (2)

metemkirmetemkirJul 5, 2025

chat gpt

DzenrDzenrJul 5, 2025

@metemkir The entire script was written using an editor program with the help of SimpleSpy and Dex in Inf Yield. The code was filtered, organized, and extracted using ChatGPT. Thank you for the note. I wish you a happy day.

More Scripts for Fun Squid Game! Glass Bridge 2