Med afk
Key RequiredUniversal

Med afk

Universal Scriptorcascripthuborcascripthub 194 views 63 executesUpdated Mar 21, 2026
Unrated
00
Lua Script•460 lines (15624 chars)
--[[
    medhub v5.0 – النسخة المطلوبة
    - واجهة انتظار 5 ثواني مع عداد و ألوان متغيرة
    - بعدها تظهر نافذتين صغيرتين:
        1. نافذة "ANTI" فيها أزرار تشغيل Anti‑AFK, Anti‑Fling, Anti‑Crash, Anti‑Exit
        2. نافذة "SMLA" تتبع أي لاعب بالاسم (كامل أو جزء) وتحسب كم مرة طلع وكم وقت قعد
    - كل نافذة فيها علامة × حمراء تزيل النافذة فقط (الوظيفة توقف)
    - النوافذ قابلة للسحب و صغيرة و شكلها حلو
    - الشغل كله ثابت و ما يعلق
]]

-- الخدمات
local plr = game.Players.LocalPlayer
local uis = game:GetService("UserInputService")
local run = game:GetService("RunService")
local ws = game:GetService("Workspace")

-- ------------------- واجهة الانتظار (5 ثواني مع ألوان) -------------------
local splashGui = Instance.new("ScreenGui")
splashGui.Name = "Splash"
splashGui.Parent = (gethui and gethui()) or plr:WaitForChild("PlayerGui")

local splashFrame = Instance.new("Frame")
splashFrame.Size = UDim2.new(1, 0, 1, 0)
splashFrame.BackgroundColor3 = Color3.new(0, 0, 0)
splashFrame.Parent = splashGui

local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.Text = "ميد عمك ملك تصميل فوق سنه نيك امك يا ابن كحبه"
textLabel.TextColor3 = Color3.new(1, 1, 1)
textLabel.TextScaled = true
textLabel.Font = Enum.Font.GothamBold
textLabel.BackgroundTransparency = 1
textLabel.Parent = splashFrame

local timerLabel = Instance.new("TextLabel")
timerLabel.Size = UDim2.new(0, 200, 0, 50)
timerLabel.Position = UDim2.new(0.5, -100, 0.8, 0)
timerLabel.Text = "5"
timerLabel.TextColor3 = Color3.new(1, 1, 1)
timerLabel.TextScaled = true
timerLabel.Font = Enum.Font.GothamBold
timerLabel.BackgroundTransparency = 1
timerLabel.Parent = splashFrame

-- تأثير تغيير لون الخلفية
local start = tick()
while tick() - start < 5 do
    local elapsed = tick() - start
    local t = elapsed / 5
    -- ألوان متدرجة من أحمر إلى أزرق إلى أخضر
    local r = math.sin(t * math.pi * 2) * 0.5 + 0.5
    local g = math.sin((t * math.pi * 2) + 2.094) * 0.5 + 0.5
    local b = math.sin((t * math.pi * 2) + 4.188) * 0.5 + 0.5
    splashFrame.BackgroundColor3 = Color3.new(r, g, b)
    timerLabel.Text = tostring(math.floor(5 - elapsed) + 1)
    wait(0.1)
end
splashGui:Destroy()

-- ------------------- إنشاء GUI رئيسي (لكن سنضع كل نافذة لوحدها) -------------------
local mainGui = Instance.new("ScreenGui")
mainGui.Name = "medhub"
mainGui.Parent = (gethui and gethui()) or plr:WaitForChild("PlayerGui")

-- ------------------- الوظائف العامة -------------------
local function makeDraggable(frame)
    local drag = false
    local dragStart
    frame.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            drag = true
            dragStart = input.Position
        end
    end)
    frame.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            drag = false
        end
    end)
    uis.InputChanged:Connect(function(input)
        if drag and input.UserInputType == Enum.UserInputType.MouseMovement then
            local delta = input.Position - dragStart
            frame.Position = UDim2.new(frame.Position.X.Scale, frame.Position.X.Offset + delta.X, frame.Position.Y.Scale, frame.Position.Y.Offset + delta.Y)
        end
    end)
end

local function createMiniWindow(title, x, y, width, height)
    local window = Instance.new("Frame")
    window.Size = UDim2.new(0, width, 0, height)
    window.Position = UDim2.new(0, x, 0, y)
    window.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
    window.BackgroundTransparency = 0.05
    window.BorderSizePixel = 0
    window.Parent = mainGui
    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0, 8)
    corner.Parent = window

    local titleBar = Instance.new("Frame")
    titleBar.Size = UDim2.new(1, 0, 0, 30)
    titleBar.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
    titleBar.BorderSizePixel = 0
    titleBar.Parent = window
    local titleCorner = Instance.new("UICorner")
    titleCorner.CornerRadius = UDim.new(0, 8)
    titleCorner.Parent = titleBar

    local titleLabel = Instance.new("TextLabel")
    titleLabel.Size = UDim2.new(1, -30, 1, 0)
    titleLabel.Position = UDim2.new(0, 10, 0, 0)
    titleLabel.Text = title
    titleLabel.TextColor3 = Color3.new(1, 1, 1)
    titleLabel.Font = Enum.Font.GothamBold
    titleLabel.TextSize = 14
    titleLabel.TextXAlignment = Enum.TextXAlignment.Left
    titleLabel.BackgroundTransparency = 1
    titleLabel.Parent = titleBar

    local closeBtn = Instance.new("TextButton")
    closeBtn.Size = UDim2.new(0, 24, 0, 24)
    closeBtn.Position = UDim2.new(1, -28, 0, 3)
    closeBtn.Text = "✕"
    closeBtn.TextColor3 = Color3.new(1, 1, 1)
    closeBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
    closeBtn.Font = Enum.Font.GothamBold
    closeBtn.TextSize = 16
    closeBtn.Parent = titleBar
    local closeCorner = Instance.new("UICorner")
    closeCorner.CornerRadius = UDim.new(0, 4)
    closeCorner.Parent = closeBtn

    local content = Instance.new("Frame")
    content.Size = UDim2.new(1, -10, 1, -40)
    content.Position = UDim2.new(0, 5, 0, 35)
    content.BackgroundTransparency = 1
    content.Parent = window

    makeDraggable(titleBar)

    return window, content, closeBtn
end

-- ------------------- نافذة ANTI -------------------
local antiWin, antiContent, antiClose = createMiniWindow("ANTI MODULES", 50, 100, 260, 280)
local antiFeatures = {
    {name = "Anti‑AFK", enabled = true, callback = nil},
    {name = "Anti‑Fling", enabled = true, callback = nil},
    {name = "Anti‑Crash", enabled = true, callback = nil},
    {name = "Anti‑Exit", enabled = true, callback = nil}
}

-- تنفيذ الوظائف
local afkThread = nil
local flingThread = nil
local exitThread = nil
local crashEnabled = true

-- Anti-AFK: يحركك كل 60 ثانية إذا ما تحركت
local function antiAFK()
    local idleTime = 0
    while antiFeatures[1].enabled and run.Stepped:Wait() do
        local char = plr.Character
        if char and char:FindFirstChild("HumanoidRootPart") then
            local vel = char.HumanoidRootPart.Velocity
            if vel.Magnitude < 1 then
                idleTime = idleTime + 0.1
                if idleTime >= 60 then
                    local rand = math.random(0, 360)
                    local offset = Vector3.new(math.cos(math.rad(rand)), 0, math.sin(math.rad(rand))) * 0.5
                    char.HumanoidRootPart.CFrame = char.HumanoidRootPart.CFrame + offset
                    idleTime = 0
                end
            else
                idleTime = 0
            end
        end
        wait(0.1)
    end
end

-- Anti-Fling: يرجع السرعة لو زادت فجأة
local function antiFling()
    local lastVel = Vector3.new()
    while antiFeatures[2].enabled and run.RenderStepped:Wait() do
        local char = plr.Character
        if char and char:FindFirstChild("HumanoidRootPart") then
            local vel = char.HumanoidRootPart.Velocity
            if vel.Magnitude > 200 and (vel - lastVel).Magnitude > 150 then
                char.HumanoidRootPart.Velocity = lastVel * 0.8
            end
            lastVel = vel
        end
        wait(0.05)
    end
end

-- Anti-Exit: يعيد الـ GUI لو انحذف
local function antiExit()
    while antiFeatures[4].enabled and wait(1) do
        if not mainGui.Parent then
            mainGui.Parent = (gethui and gethui()) or plr:WaitForChild("PlayerGui")
        end
        -- نضمن أن النوافذ موجودة
        if not antiWin.Parent then antiWin.Parent = mainGui end
        if not smlaWin.Parent then smlaWin.Parent = mainGui end
    end
end

-- بدء الخيوط
local function startAntiThreads()
    if antiFeatures[1].enabled then
        if afkThread and coroutine.status(afkThread) == "dead" then
            afkThread = coroutine.create(antiAFK)
            coroutine.resume(afkThread)
        elseif not afkThread then
            afkThread = coroutine.create(antiAFK)
            coroutine.resume(afkThread)
        end
    end
    if antiFeatures[2].enabled then
        if flingThread and coroutine.status(flingThread) == "dead" then
            flingThread = coroutine.create(antiFling)
            coroutine.resume(flingThread)
        elseif not flingThread then
            flingThread = coroutine.create(antiFling)
            coroutine.resume(flingThread)
        end
    end
    if antiFeatures[4].enabled then
        if exitThread and coroutine.status(exitThread) == "dead" then
            exitThread = coroutine.create(antiExit)
            coroutine.resume(exitThread)
        elseif not exitThread then
            exitThread = coroutine.create(antiExit)
            coroutine.resume(exitThread)
        end
    end
end

-- إنشاء أزرار التبديل في نافذة ANTI
local y = 10
for i, feat in ipairs(antiFeatures) do
    local btnFrame = Instance.new("Frame")
    btnFrame.Size = UDim2.new(1, 0, 0, 35)
    btnFrame.Position = UDim2.new(0, 0, 0, y)
    btnFrame.BackgroundTransparency = 1
    btnFrame.Parent = antiContent

    local label = Instance.new("TextLabel")
    label.Size = UDim2.new(0.6, 0, 1, 0)
    label.Text = feat.name
    label.TextColor3 = Color3.new(1, 1, 1)
    label.TextXAlignment = Enum.TextXAlignment.Left
    label.Font = Enum.Font.Gotham
    label.TextSize = 13
    label.BackgroundTransparency = 1
    label.Parent = btnFrame

    local toggle = Instance.new("TextButton")
    toggle.Size = UDim2.new(0, 50, 0, 28)
    toggle.Position = UDim2.new(1, -55, 0, 3)
    toggle.Text = "ON"
    toggle.TextColor3 = Color3.new(1, 1, 1)
    toggle.BackgroundColor3 = Color3.fromRGB(50, 200, 50)
    toggle.Font = Enum.Font.GothamBold
    toggle.TextSize = 12
    toggle.Parent = btnFrame
    local state = feat.enabled
    toggle.MouseButton1Click:Connect(function()
        state = not state
        toggle.Text = state and "ON" or "OFF"
        toggle.BackgroundColor3 = state and Color3.fromRGB(50, 200, 50) or Color3.fromRGB(200, 50, 50)
        feat.enabled = state
        -- إعادة تشغيل الخيوط إذا لزم الأمر
        if feat.name == "Anti‑AFK" then
            if state then
                if not afkThread or coroutine.status(afkThread) == "dead" then
                    afkThread = coroutine.create(antiAFK)
                    coroutine.resume(afkThread)
                end
            end
        elseif feat.name == "Anti‑Fling" then
            if state then
                if not flingThread or coroutine.status(flingThread) == "dead" then
                    flingThread = coroutine.create(antiFling)
                    coroutine.resume(flingThread)
                end
            end
        elseif feat.name == "Anti‑Exit" then
            if state then
                if not exitThread or coroutine.status(exitThread) == "dead" then
                    exitThread = coroutine.create(antiExit)
                    coroutine.resume(exitThread)
                end
            end
        end
    end)
    y = y + 40
end

-- بدء الخيوط الأساسية
startAntiThreads()

-- إغلاق النافذة يوقف الوظائف؟ (المطلوب: ضغط × ينشال السكربت فقط للنافذة)
-- هنا نربط الزر الأحمر بإزالة النافذة و إيقاف الوظائف المرتبطة بها
antiClose.MouseButton1Click:Connect(function()
    antiWin:Destroy()
    -- إيقاف كل خيوط ANTI
    antiFeatures[1].enabled = false
    antiFeatures[2].enabled = false
    antiFeatures[4].enabled = false
    -- الخيوط ستتوقف لأن شرط while يعتمد على enabled
end)

-- ------------------- نافذة SMLA (التتبع) -------------------
local smlaWin, smlaContent, smlaClose = createMiniWindow("ORCA SMLA", 350, 100, 300, 280)

-- تصميم داخلي
local inputBox = Instance.new("TextBox")
inputBox.Size = UDim2.new(1, -10, 0, 35)
inputBox.Position = UDim2.new(0, 5, 0, 10)
inputBox.PlaceholderText = "اكتب اسم اللاعب (كامل أو جزء)"
inputBox.Text = ""
inputBox.TextColor3 = Color3.new(1, 1, 1)
inputBox.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
inputBox.Font = Enum.Font.Gotham
inputBox.TextSize = 14
inputBox.Parent = smlaContent
local inputCorner = Instance.new("UICorner")
inputCorner.CornerRadius = UDim.new(0, 4)
inputCorner.Parent = inputBox

local trackBtn = Instance.new("TextButton")
trackBtn.Size = UDim2.new(1, -10, 0, 35)
trackBtn.Position = UDim2.new(0, 5, 0, 55)
trackBtn.Text = "ابدأ التتبع"
trackBtn.TextColor3 = Color3.new(1, 1, 1)
trackBtn.BackgroundColor3 = Color3.fromRGB(60, 100, 200)
trackBtn.Font = Enum.Font.GothamBold
trackBtn.TextSize = 14
trackBtn.Parent = smlaContent
local btnCorner = Instance.new("UICorner")
btnCorner.CornerRadius = UDim.new(0, 4)
btnCorner.Parent = trackBtn

local resultLabel = Instance.new("TextLabel")
resultLabel.Size = UDim2.new(1, -10, 0, 150)
resultLabel.Position = UDim2.new(0, 5, 0, 100)
resultLabel.Text = "لا يوجد تتبع حالياً"
resultLabel.TextColor3 = Color3.new(1, 1, 1)
resultLabel.TextWrapped = true
resultLabel.Font = Enum.Font.Gotham
resultLabel.TextSize = 13
resultLabel.BackgroundTransparency = 1
resultLabel.Parent = smlaContent

-- منطق التتبع
local trackedPlayer = nil
local targetPattern = nil
local leaveCount = 0
local joinTime = nil
local totalTime = 0
local tracking = false

local function updateDisplay()
    if tracking and trackedPlayer then
        local currentTime = totalTime
        if joinTime then
            currentTime = totalTime + (os.time() - joinTime)
        end
        resultLabel.Text = string.format("يتعقب: %s\nعدد مرات الخروج: %d\nالوقت الكلي في السيرفر: %.0f ثانية", trackedPlayer.Name, leaveCount, currentTime)
    else
        resultLabel.Text = "لا يوجد تتبع حالياً.\nأدخل اسم اللاعب واضغط ابدأ التتبع."
    end
end

local function findPlayerByPattern(pattern)
    pattern = pattern:lower()
    for _, p in pairs(game.Players:GetPlayers()) do
        if p.Name:lower():find(pattern, 1, true) then
            return p
        end
    end
    return nil
end

local function startTracking(pattern)
    targetPattern = pattern
    trackedPlayer = findPlayerByPattern(pattern)
    if trackedPlayer then
        tracking = true
        leaveCount = 0
        totalTime = 0
        joinTime = os.time()
        updateDisplay()
    else
        tracking = false
        trackedPlayer = nil
        updateDisplay()
    end
end

trackBtn.MouseButton1Click:Connect(function()
    local pattern = inputBox.Text
    if pattern and pattern ~= "" then
        startTracking(pattern)
    end
end)

-- مراقبة الخروج والدخول
game.Players.PlayerRemoving:Connect(function(p)
    if tracking and p == trackedPlayer then
        leaveCount = leaveCount + 1
        if joinTime then
            totalTime = totalTime + (os.time() - joinTime)
            joinTime = nil
        end
        trackedPlayer = nil
        updateDisplay()
        -- محاولة إعادة التتبع إذا كان الاسم لا يزال مطابقاً (قد يكون عاد بنفس الاسم)
        local newTarget = findPlayerByPattern(targetPattern)
        if newTarget then
            trackedPlayer = newTarget
            joinTime = os.time()
            updateDisplay()
        else
            tracking = false
            updateDisplay()
        end
    end
end)

game.Players.PlayerAdded:Connect(function(p)
    if tracking and not trackedPlayer and targetPattern then
        if p.Name:lower():find(targetPattern, 1, true) then
            trackedPlayer = p
            joinTime = os.time()
            updateDisplay()
        end
    end
end)

-- تحديث الوقت بشكل مستمر
run.RenderStepped:Connect(function()
    if tracking and trackedPlayer and joinTime then
        updateDisplay()
    end
end)

-- زر إغلاق نافذة SMLA: يزيل النافذة ويوقف التتبع
smlaClose.MouseButton1Click:Connect(function()
    smlaWin:Destroy()
    tracking = false
    trackedPlayer = nil
end)

print("ORCAhub v5.0 – الشغل الحقيقي. استمتع.")

Features & Information

Med 3mk on top
#med afk

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts