local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
--==================================================
-- الإعدادات
--==================================================
local ENABLED = false
local CLAIM_INTERVAL = 0.1
local CHECK_INTERVAL = 0.1
local SPEED = 500
local LIFT_HEIGHT = 100
local ACTIVATION_DISTANCE = 10
local moving = false
local minimized = false
--==================================================
-- الواجهة
--==================================================
local gui = Instance.new("ScreenGui")
gui.Name = "سكربت سعودي"
gui.ResetOnSpawn = false
gui.IgnoreGuiInset = true
gui.Parent = player:WaitForChild("PlayerGui")
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 430, 0, 330)
frame.Position = UDim2.new(0.5, -215, 0.5, -165)
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
frame.BorderSizePixel = 0
frame.Active = true
frame.Parent = gui
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 12)
corner.Parent = frame
--==================================================
-- العنوان
--==================================================
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -120, 0, 45)
title.Position = UDim2.new(0, 15, 0, 5)
title.BackgroundTransparency = 1
title.Text = "سكربت"
title.TextColor3 = Color3.new(1, 1, 1)
title.TextSize = 22
title.Font = Enum.Font.GothamBold
title.TextXAlignment = Enum.TextXAlignment.Left
title.Active = true
title.Parent = frame
--==================================================
-- زر الإغلاق
--==================================================
local close = Instance.new("TextButton")
close.Size = UDim2.new(0, 40, 0, 35)
close.Position = UDim2.new(1, -48, 0, 8)
close.Text = "X"
close.TextSize = 20
close.Font = Enum.Font.GothamBold
close.TextColor3 = Color3.new(1, 1, 1)
close.BackgroundColor3 = Color3.fromRGB(180, 45, 45)
close.BorderSizePixel = 0
close.Parent = frame
local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 7)
closeCorner.Parent = close
close.Activated:Connect(function()
ENABLED = false
gui:Destroy()
end)
--==================================================
-- زر التصغير
--==================================================
local minimize = Instance.new("TextButton")
minimize.Size = UDim2.new(0, 40, 0, 35)
minimize.Position = UDim2.new(1, -94, 0, 8)
minimize.Text = "-"
minimize.TextSize = 22
minimize.Font = Enum.Font.GothamBold
minimize.TextColor3 = Color3.new(1, 1, 1)
minimize.BackgroundColor3 = Color3.fromRGB(65, 65, 65)
minimize.BorderSizePixel = 0
minimize.Parent = frame
local minCorner = Instance.new("UICorner")
minCorner.CornerRadius = UDim.new(0, 7)
minCorner.Parent = minimize
local normalSize = frame.Size
local content = {}
local function addContent(obj)
table.insert(content, obj)
end
minimize.Activated:Connect(function()
minimized = not minimized
if minimized then
frame.Size = UDim2.new(0, 430, 0, 55)
minimize.Text = "+"
for _, obj in ipairs(content) do
obj.Visible = false
end
else
frame.Size = normalSize
minimize.Text = "-"
for _, obj in ipairs(content) do
obj.Visible = true
end
end
end)
--==================================================
-- السحب للكمبيوتر والجوال
--==================================================
local dragging = false
local dragStart
local startPos
local dragInput
local function updateDrag(input)
local delta = input.Position - dragStart
frame.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
end
title.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = frame.Position
dragInput = input
end
end)
title.InputEnded:Connect(function(input)
if input == dragInput then
dragging = false
dragInput = nil
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging then
if input.UserInputType == Enum.UserInputType.MouseMovement
or input.UserInputType == Enum.UserInputType.Touch then
updateDrag(input)
end
end
end)
--==================================================
-- الحالة
--==================================================
local status = Instance.new("TextLabel")
status.Size = UDim2.new(1, -40, 0, 35)
status.Position = UDim2.new(0, 20, 0, 60)
status.BackgroundTransparency = 1
status.Text = "الحالة: متوقف"
status.TextColor3 = Color3.fromRGB(255, 80, 80)
status.TextSize = 18
status.Font = Enum.Font.GothamBold
status.Parent = frame
addContent(status)
--==================================================
-- تشغيل / إيقاف
--==================================================
local toggle = Instance.new("TextButton")
toggle.Size = UDim2.new(1, -40, 0, 45)
toggle.Position = UDim2.new(0, 20, 0, 95)
toggle.Text = "تشغيل"
toggle.TextSize = 20
toggle.Font = Enum.Font.GothamBold
toggle.TextColor3 = Color3.new(1, 1, 1)
toggle.BackgroundColor3 = Color3.fromRGB(150, 45, 45)
toggle.BorderSizePixel = 0
toggle.Parent = frame
addContent(toggle)
local toggleCorner = Instance.new("UICorner")
toggleCorner.CornerRadius = UDim.new(0, 8)
toggleCorner.Parent = toggle
local function updateGUI()
if ENABLED then
toggle.Text = "إيقاف"
toggle.BackgroundColor3 = Color3.fromRGB(45, 150, 70)
status.Text = "الحالة: يعمل"
status.TextColor3 = Color3.fromRGB(80, 255, 100)
else
toggle.Text = "تشغيل"
toggle.BackgroundColor3 = Color3.fromRGB(150, 45, 45)
status.Text = "الحالة: متوقف"
status.TextColor3 = Color3.fromRGB(255, 80, 80)
end
end
toggle.Activated:Connect(function()
ENABLED = not ENABLED
updateGUI()
end)
--==================================================
-- إنشاء الإعدادات
--==================================================
local function createSetting(name, value, y, callback)
local label = Instance.new("TextLabel")
label.Size = UDim2.new(0, 170, 0, 35)
label.Position = UDim2.new(0, 20, 0, y)
label.BackgroundTransparency = 1
label.Text = name
label.TextColor3 = Color3.new(1, 1, 1)
label.TextSize = 16
label.Font = Enum.Font.Gotham
label.TextXAlignment = Enum.TextXAlignment.Left
label.Parent = frame
addContent(label)
local box = Instance.new("TextBox")
box.Size = UDim2.new(0, 190, 0, 35)
box.Position = UDim2.new(0, 210, 0, y)
box.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
box.TextColor3 = Color3.new(1, 1, 1)
box.Text = tostring(value)
box.TextSize = 16
box.Font = Enum.Font.Gotham
box.ClearTextOnFocus = false
box.Parent = frame
addContent(box)
local boxCorner = Instance.new("UICorner")
boxCorner.CornerRadius = UDim.new(0, 6)
boxCorner.Parent = box
box.FocusLost:Connect(function()
local n = tonumber(box.Text)
if n then
callback(n)
else
box.Text = tostring(value)
end
end)
end
createSetting("السرعة", SPEED, 150, function(v)
SPEED = math.max(1, v)
end)
createSetting("ارتفاع الرفع", LIFT_HEIGHT, 195, function(v)
LIFT_HEIGHT = math.max(0, v)
end)
createSetting("مسافة التفعيل", ACTIVATION_DISTANCE, 240, function(v)
ACTIVATION_DISTANCE = math.max(1, v)
end)
--==================================================
-- الحصول على الشخصية
--==================================================
local function getCharacter()
local character = player.Character
if not character then
return
end
local humanoid = character:FindFirstChildOfClass("Humanoid")
local root = character:FindFirstChild("HumanoidRootPart")
if not humanoid or not root then
return
end
return character, humanoid, root
end
--==================================================
-- الحصول على الهدف
--==================================================
local function getTrigger()
local boatStages = workspace:FindFirstChild("BoatStages")
if not boatStages then
return
end
local normalStages = boatStages:FindFirstChild("NormalStages")
if not normalStages then
return
end
local endStage = normalStages:FindFirstChild("TheEnd")
if not endStage then
return
end
local chest = endStage:FindFirstChild("GoldenChest")
if not chest then
return
end
return chest:FindFirstChild("Trigger")
end
--==================================================
-- حساب المسافة
--==================================================
local function getDistance()
local _, _, root = getCharacter()
local trigger = getTrigger()
if not root or not trigger then
return math.huge
end
local a = Vector3.new(
root.Position.X,
0,
root.Position.Z
)
local b = Vector3.new(
trigger.Position.X,
0,
trigger.Position.Z
)
return (a - b).Magnitude
end
--==================================================
-- استلام المكافأة
--==================================================
local function claimReward()
if not ENABLED then
return
end
pcall(function()
local challenge = workspace
:WaitForChild("Challenge")
:WaitForChild("ChallengesScript")
:WaitForChild("ChallengeResults")
local resultsFrame = challenge:WaitForChild("Frame")
local claimButton = resultsFrame:WaitForChild("ClaimButton")
if claimButton:IsA("GuiButton") then
claimButton:Activate()
end
end)
end
--==================================================
-- الانتقال إلى الهدف
--==================================================
local function moveToTrigger()
if moving or not ENABLED then
return
end
local character, humanoid, root = getCharacter()
local trigger = getTrigger()
if not character or not humanoid or not root or not trigger then
return
end
if getDistance() <= ACTIVATION_DISTANCE then
return
end
moving = true
-- رفع اللاعب
local targetY = root.Position.Y + LIFT_HEIGHT
while ENABLED and root.Parent do
local current = root.Position
local dy = targetY - current.Y
if math.abs(dy) <= 0.5 then
break
end
local dt = RunService.Heartbeat:Wait()
local step = SPEED * dt
local newY
if math.abs(dy) <= step then
newY = targetY
else
newY = current.Y + math.sign(dy) * step
end
root.CFrame = CFrame.new(
current.X,
newY,
current.Z
)
end
-- الحركة الأفقية
while ENABLED and root.Parent do
local current = root.Position
local target = Vector3.new(
trigger.Position.X,
targetY,
trigger.Position.Z
)
local difference = target - current
local distance = difference.Magnitude
if distance <= 1 then
break
end
local dt = RunService.Heartbeat:Wait()
local step = math.min(SPEED * dt, distance)
local newPosition =
current + difference.Unit * step
newPosition = Vector3.new(
newPosition.X,
targetY,
newPosition.Z
)
root.CFrame = CFrame.new(newPosition)
end
-- النزول
if ENABLED and root.Parent then
local targetY2 = trigger.Position.Y + 3
while ENABLED and root.Parent do
local current = root.Position
local dy = targetY2 - current.Y
if math.abs(dy) <= 0.5 then
break
end
local dt = RunService.Heartbeat:Wait()
local step = SPEED * dt
local newY
if math.abs(dy) <= step then
newY = targetY2
else
newY = current.Y + math.sign(dy) * step
end
root.CFrame = CFrame.new(
trigger.Position.X,
newY,
trigger.Position.Z
)
end
end
moving = false
end
--==================================================
-- حلقة استلام المكافأة
--==================================================
task.spawn(function()
while gui.Parent do
if ENABLED then
claimReward()
end
task.wait(CLAIM_INTERVAL)
end
end)
--==================================================
-- حلقة فحص المسافة
--==================================================
task.spawn(function()
while gui.Parent do
if ENABLED and not moving then
if getDistance() > ACTIVATION_DISTANCE then
task.spawn(moveToTrigger)
end
end
task.wait(CHECK_INTERVAL)
end
end)
updateGUI()
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local player = Players.LocalPlayer
--==================================================
-- الإعدادات
--==================================================
local ENABLED = false
local CLAIM_INTERVAL = 0.1
local CHECK_INTERVAL = 0.1
local SPEED = 500
local LIFT_HEIGHT = 100
local ACTIVATION_DISTANCE = 10
local moving = false
local minimized = false
--==================================================
-- الواجهة
--==================================================
local gui = Instance.new("ScreenGui")
gui.Name = "سكربت سعودي"
gui.ResetOnSpawn = false
gui.IgnoreGuiInset = true
gui.Parent = player:WaitForChild("PlayerGui")
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 430, 0, 330)
frame.Position = UDim2.new(0.5, -215, 0.5, -165)
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
frame.BorderSizePixel = 0
frame.Active = true
frame.Parent = gui
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 12)
corner.Parent = frame
--==================================================
-- العنوان
--==================================================
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -120, 0, 45)
title.Position = UDim2.new(0, 15, 0, 5)
title.BackgroundTransparency = 1
title.Text = "سكربت"
title.TextColor3 = Color3.new(1, 1, 1)
title.TextSize = 22
title.Font = Enum.Font.GothamBold
title.TextXAlignment = Enum.TextXAlignment.Left
title.Active = true
title.Parent = frame
--==================================================
-- زر الإغلاق
--==================================================
local close = Instance.new("TextButton")
close.Size = UDim2.new(0, 40, 0, 35)
close.Position = UDim2.new(1, -48, 0, 8)
close.Text = "X"
close.TextSize = 20
close.Font = Enum.Font.GothamBold
close.TextColor3 = Color3.new(1, 1, 1)
close.BackgroundColor3 = Color3.fromRGB(180, 45, 45)
close.BorderSizePixel = 0
close.Parent = frame
local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 7)
closeCorner.Parent = close
close.Activated:Connect(function()
ENABLED = false
gui:Destroy()
end)
--==================================================
-- زر التصغير
--==================================================
local minimize = Instance.new("TextButton")
minimize.Size = UDim2.new(0, 40, 0, 35)
minimize.Position = UDim2.new(1, -94, 0, 8)
minimize.Text = "-"
minimize.TextSize = 22
minimize.Font = Enum.Font.GothamBold
minimize.TextColor3 = Color3.new(1, 1, 1)
minimize.BackgroundColor3 = Color3.fromRGB(65, 65, 65)
minimize.BorderSizePixel = 0
minimize.Parent = frame
local minCorner = Instance.new("UICorner")
minCorner.CornerRadius = UDim.new(0, 7)
minCorner.Parent = minimize
local normalSize = frame.Size
local content = {}
local function addContent(obj)
table.insert(content, obj)
end
minimize.Activated:Connect(function()
end)
--==================================================
-- السحب للكمبيوتر والجوال
--==================================================
local dragging = false
local dragStart
local startPos
local dragInput
local function updateDrag(input)
end
title.InputBegan:Connect(function(input)
end)
title.InputEnded:Connect(function(input)
end)
UserInputService.InputChanged:Connect(function(input)
end)
--==================================================
-- الحالة
--==================================================
local status = Instance.new("TextLabel")
status.Size = UDim2.new(1, -40, 0, 35)
status.Position = UDim2.new(0, 20, 0, 60)
status.BackgroundTransparency = 1
status.Text = "الحالة: متوقف"
status.TextColor3 = Color3.fromRGB(255, 80, 80)
status.TextSize = 18
status.Font = Enum.Font.GothamBold
status.Parent = frame
addContent(status)
--==================================================
-- تشغيل / إيقاف
--==================================================
local toggle = Instance.new("TextButton")
toggle.Size = UDim2.new(1, -40, 0, 45)
toggle.Position = UDim2.new(0, 20, 0, 95)
toggle.Text = "تشغيل"
toggle.TextSize = 20
toggle.Font = Enum.Font.GothamBold
toggle.TextColor3 = Color3.new(1, 1, 1)
toggle.BackgroundColor3 = Color3.fromRGB(150, 45, 45)
toggle.BorderSizePixel = 0
toggle.Parent = frame
addContent(toggle)
local toggleCorner = Instance.new("UICorner")
toggleCorner.CornerRadius = UDim.new(0, 8)
toggleCorner.Parent = toggle
local function updateGUI()
end
toggle.Activated:Connect(function()
end)
--==================================================
-- إنشاء الإعدادات
--==================================================
local function createSetting(name, value, y, callback)
end
createSetting("السرعة", SPEED, 150, function(v)
SPEED = math.max(1, v)
end)
createSetting("ارتفاع الرفع", LIFT_HEIGHT, 195, function(v)
LIFT_HEIGHT = math.max(0, v)
end)
createSetting("مسافة التفعيل", ACTIVATION_DISTANCE, 240, function(v)
ACTIVATION_DISTANCE = math.max(1, v)
end)
--==================================================
-- الحصول على الشخصية
--==================================================
local function getCharacter()
end
--==================================================
-- الحصول على الهدف
--==================================================
local function getTrigger()
end
--==================================================
-- حساب المسافة
--==================================================
local function getDistance()
end
--==================================================
-- استلام المكافأة
--==================================================
local function claimReward()
end
--==================================================
-- الانتقال إلى الهدف
--==================================================
local function moveToTrigger()
end
--==================================================
-- حلقة استلام المكافأة
--==================================================
task.spawn(function()
end)
--==================================================
-- حلقة فحص المسافة
--==================================================
task.spawn(function()
end)
updateGUI()