-- ============================================= -- LUDO ARENA: AUTO ROLL & SMART BEST-MOVE BOT -- ============================================= local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local CoreGui = game:GetService("CoreGui") local LocalPlayer = Players.LocalPlayer local PlayerScripts = LocalPlayer:WaitForChild("PlayerScripts") local LudoFolder = PlayerScripts:WaitForChild("Ludo") local Store = require(LudoFolder:WaitForChild("Store")) local Net = require(ReplicatedStorage.Ludo.Modules.Net) local MoveEval = require(ReplicatedStorage.Ludo.Modules.MoveEval) local Config = { AutoRoll = true, AutoMove = true, MoveDelay = 0.4 -- Delay tipis biar gerakannya mulus & natural } -- Buat UI Toggle di Layar local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "LudoBotUI" ScreenGui.ResetOnSpawn = false local targetParent = (gethui and gethui()) or CoreGui or LocalPlayer:WaitForChild("PlayerGui") ScreenGui.Parent = targetParent local Frame = Instance.new("Frame") Frame.Size = UDim2.new(0, 190, 0, 110) Frame.Position = UDim2.new(0.02, 0, 0.4, 0) Frame.BackgroundColor3 = Color3.fromRGB(24, 24, 32) Frame.BorderSizePixel = 0 Frame.Active = true Frame.Draggable = true Frame.Parent = ScreenGui local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 10) UICorner.Parent = Frame local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, 0, 0, 26) Title.BackgroundTransparency = 1 Title.Text = "🎲 LUDO SMART BOT" Title.TextColor3 = Color3.fromRGB(255, 215, 0) Title.Font = Enum.Font.GothamBold Title.TextSize = 13 Title.Parent = Frame local function createToggle(name, yPos, defaultState, callback) local Btn = Instance.new("TextButton") Btn.Size = UDim2.new(0.9, 0, 0, 30) Btn.Position = UDim2.new(0.05, 0, 0, yPos) Btn.BackgroundColor3 = defaultState and Color3.fromRGB(46, 139, 87) or Color3.fromRGB(178, 34, 34) Btn.Text = name .. ": " .. (defaultState and "ON" or "OFF") Btn.TextColor3 = Color3.new(1, 1, 1) Btn.Font = Enum.Font.GothamSemibold Btn.TextSize = 12 Btn.AutoButtonColor = false Btn.Parent = Frame local Corner = Instance.new("UICorner") Corner.CornerRadius = UDim.new(0, 6) Corner.Parent = Btn local state = defaultState Btn.MouseButton1Click:Connect(function() state = not state Btn.BackgroundColor3 = state and Color3.fromRGB(46, 139, 87) or Color3.fromRGB(178, 34, 34) Btn.Text = name .. ": " .. (state and "ON" or "OFF") callback(state) end) end createToggle("Auto Roll", 32, Config.AutoRoll, function(val) Config.AutoRoll = val end) createToggle("Auto Best Move", 68, Config.AutoMove, function(val) Config.AutoMove = val end) -- Loop Pengendali Permainan task.spawn(function() while task.wait(0.2) do local screen = Store.get("screen") if screen == "MATCH" then -- 1. Auto Roll bila giliran kita if Config.AutoRoll and Store.canRoll() then Net.event("RequestRoll"):FireServer() task.wait(0.5) end -- 2. Auto Best Move saat memilih pion if Config.AutoMove and Store.canPick() then local match = Store.get("match") local localSeat = Store.get("localSeat") if match and match.dice then local moves = MoveEval.all(match, localSeat, match.dice) if moves and #moves > 0 then local bestMove = moves[1] task.wait(Config.MoveDelay) Net.event("RequestMove"):FireServer(bestMove.owner, bestMove.token) task.wait(0.6) end end end end end end) print("[LudoBot] Berhasil diaktifkan!")