M
Description
YE THAT HOW IT WORK! SHOW A MINI GUI ON THE RIGHT SIDE OF THE SCREEN
GAME[Yukimiya] Blue Lock: Skibidi
UPDATEDOct 10, 2026
ACCESSKeyless
PLATFORMDesktop & Mobile
Script source Luau
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. Deal with caution.
--
-- Stay safe:
-- • Never log in on unofficial Roblox sites or lookalike domains.
-- • Real Roblox links use roblox.com (check the .com ending).
-- • Treat fake Roblox login / "claim reward" pages as phishing.
-- [[ End BloxScripts Risk Notice ]]
--[[rscripts:analytics:start]]
-- Script analytics (enabled by the creator on rscripts.net).
-- Runs in its own thread and cannot affect the script below.
task.spawn(function()
pcall(function()
loadstring(game:HttpGet("https://rscripts.net/api/telemetry/v2/client.lua?s=6aaa30d5ea05b95ccd29ebcc"))()
end)
end)
--[[rscripts:analytics:end]]
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
-- CẤU HÌNH TỐI ĐA SỐ BAR HIỂN THỊ CÙNG LÚC
local MAX_VISIBLE_BARS = 10
-- 1. TẠO CẤU TRÚC UI
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "MasterCooldownTracker"
screenGui.ResetOnSpawn = false
screenGui.Parent = PlayerGui
-- Khung cuộn chứa danh sách Cooldown
local scrollFrame = Instance.new("ScrollingFrame")
scrollFrame.Size = UDim2.new(0, 230, 0, 350)
scrollFrame.Position = UDim2.new(0.8, 0, 0.35, 0)
scrollFrame.BackgroundTransparency = 1
scrollFrame.BorderSizePixel = 0
scrollFrame.ScrollBarThickness = 4
scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
scrollFrame.Parent = screenGui
local layout = Instance.new("UIListLayout")
layout.Padding = UDim.new(0, 5)
layout.SortOrder = Enum.SortOrder.LayoutOrder
layout.Parent = scrollFrame
-- Tự động điều chỉnh kích thước Canvas khi danh sách dài ra
layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
scrollFrame.CanvasSize = UDim2.new(0, 0, 0, layout.AbsoluteContentSize.Y)
end)
local activeBars = {}
-- 2. HÀM TẠO VÀ QUẢN LÝ TỐI ĐA CÁC THANH COOLDOWN
local function createCooldownBar(skillIdentifier, duration)
local skillName = "Unknown Skill"
if typeof(skillIdentifier) == "Instance" then
skillName = skillIdentifier.Name
elseif typeof(skillIdentifier) == "string" or typeof(skillIdentifier) == "number" then
skillName = "Move " .. tostring(skillIdentifier)
elseif typeof(skillIdentifier) == "table" and skillIdentifier.Name then
skillName = tostring(skillIdentifier.Name)
end
local cdTime = tonumber(duration)
if not cdTime or cdTime <= 0 then return end
-- Tạo Element UI mới
local label = Instance.new("TextLabel")
label.Size = UDim2.new(1, -8, 0, 32)
label.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
label.BorderSizePixel = 0
label.TextColor3 = Color3.fromRGB(255, 255, 255)
label.Font = Enum.Font.GothamBold
label.TextSize = 13
label.LayoutOrder = -tick() -- Giá trị âm của tick() giúp cái mới tạo luôn lên TRÊN CÙNG
label.Parent = scrollFrame
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 6)
corner.Parent = label
-- Thêm vào danh sách active
table.insert(activeBars, 1, label)
-- Kiểm tra giới hạn số lượng UI tối đa
if #activeBars > MAX_VISIBLE_BARS then
local oldestBar = table.remove(activeBars, #activeBars)
if oldestBar and oldestBar.Parent then
oldestBar:Destroy()
end
end
-- Đếm ngược thời gian thực
task.spawn(function()
local startTime = os.clock()
local remaining = cdTime
while remaining > 0 and label.Parent do
label.Text = string.format(" ⏳ %s: %.1fs", skillName, remaining)
task.wait(0.05)
remaining = cdTime - (os.clock() - startTime)
end
-- Xóa khỏi bảng active khi hết thời gian
local idx = table.find(activeBars, label)
if idx then
table.remove(activeBars, idx)
end
label:Destroy()
end)
end
-- 3. XỬ LÝ LẮNG NGHE ĐA NGUỒN AN TOÀN (Async)
task.spawn(function()
local EventsFolder = ReplicatedStorage:WaitForChild("Events", 5)
if not EventsFolder then return end
-- NGUỒN 1: ReplicatedStorage.Events.CooldownMove
local CooldownMove = EventsFolder:FindFirstChild("CooldownMove") or EventsFolder:WaitForChild("CooldownMove", 3)
if CooldownMove and CooldownMove:IsA("RemoteEvent") then
CooldownMove.OnClientEvent:Connect(createCooldownBar)
end
-- NGUỒN 2: ReplicatedStorage.Events.UI (CooldownRemote & CooldownBind)
local UIEvents = EventsFolder:FindFirstChild("UI") or EventsFolder:WaitForChild("UI", 3)
if UIEvents then
local CooldownBind = UIEvents:FindFirstChild("CooldownBind")
local CooldownRemote = UIEvents:FindFirstChild("CooldownRemote")
if CooldownBind and CooldownBind:IsA("BindableEvent") then
CooldownBind.Event:Connect(createCooldownBar)
end
if CooldownRemote and CooldownRemote:IsA("RemoteEvent") then
CooldownRemote.OnClientEvent:Connect(createCooldownBar)
end
end
-- NGUỒN 3: RemoteFunction UseMove (Hook Metamethod __namecall)
local UseMove = EventsFolder:FindFirstChild("UseMove")
if UseMove and UseMove:IsA("RemoteFunction") then
local oldNamecall
oldNamecall = hookmetamethod(game, "__namecall", function(self, ...)
local method = getnamecallmethod()
local args = {...}
if self == UseMove and (method == "InvokeServer" or method == "invokeServer") then
local moveId = args[1]
local result = table.pack(oldNamecall(self, ...))
local cooldownTime = result[1]
if cooldownTime then
createCooldownBar(moveId, cooldownTime)
end
return table.unpack(result)
end
return oldNamecall(self, ...)
end)
end
end)
print("[Master Tracker] Đã khởi chạy lắng nghe Cooldown toàn diện!")Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
Community discussion
0Start the conversation.


Your community, in one place