-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. 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 Rscripts Risk Notice ]] local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local HttpService = game:GetService("HttpService") local TweenService = game:GetService("TweenService") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local guessEvent = ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("SubmitGuess") local guiParent = playerGui pcall(function() if gethui then guiParent = gethui() elseif game:GetService("CoreGui") then guiParent = game:GetService("CoreGui") end end) local screenGui = Instance.new("ScreenGui") screenGui.Name = "AutoGuessBot_UI" screenGui.ResetOnSpawn = false screenGui.DisplayOrder = 2147483647 screenGui.IgnoreGuiInset = true screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Global screenGui.Parent = guiParent local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 220, 0, 235) mainFrame.AnchorPoint = Vector2.new(0, 0.5) mainFrame.Position = UDim2.new(0, 20, 0.5, 0) mainFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 35) mainFrame.BorderSizePixel = 0 mainFrame.Visible = true mainFrame.Parent = screenGui local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = mainFrame local manualButton = Instance.new("TextButton") manualButton.Size = UDim2.new(0.9, 0, 0, 45) manualButton.Position = UDim2.new(0.05, 0, 0, 10) manualButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50) manualButton.TextColor3 = Color3.fromRGB(255, 255, 255) manualButton.Font = Enum.Font.GothamBold manualButton.TextSize = 14 manualButton.Text = "Manual Guess" manualButton.ZIndex = 10 manualButton.Parent = mainFrame local manualCorner = Instance.new("UICorner") manualCorner.CornerRadius = UDim.new(0, 6) manualCorner.Parent = manualButton local autoButton = Instance.new("TextButton") autoButton.Size = UDim2.new(0.9, 0, 0, 45) autoButton.Position = UDim2.new(0.05, 0, 0, 65) autoButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50) autoButton.TextColor3 = Color3.fromRGB(255, 255, 255) autoButton.Font = Enum.Font.GothamBold autoButton.TextSize = 14 autoButton.Text = "Auto Guess: OFF" autoButton.ZIndex = 10 autoButton.Parent = mainFrame local autoCorner = Instance.new("UICorner") autoCorner.CornerRadius = UDim.new(0, 6) autoCorner.Parent = autoButton local speedLabel = Instance.new("TextLabel") speedLabel.Size = UDim2.new(0.5, 0, 0, 40) speedLabel.Position = UDim2.new(0.05, 0, 0, 125) speedLabel.BackgroundTransparency = 1 speedLabel.TextColor3 = Color3.fromRGB(200, 200, 200) speedLabel.Font = Enum.Font.GothamSemibold speedLabel.TextSize = 14 speedLabel.Text = "Speed (s):" speedLabel.TextXAlignment = Enum.TextXAlignment.Left speedLabel.ZIndex = 10 speedLabel.Parent = mainFrame local speedInput = Instance.new("TextBox") speedInput.Size = UDim2.new(0.4, 0, 0, 35) speedInput.Position = UDim2.new(0.55, 0, 0, 127) speedInput.BackgroundColor3 = Color3.fromRGB(20, 20, 20) speedInput.TextColor3 = Color3.fromRGB(255, 255, 255) speedInput.Font = Enum.Font.Gotham speedInput.TextSize = 14 speedInput.Text = "1.5" speedInput.ZIndex = 10 speedInput.Parent = mainFrame local inputCorner = Instance.new("UICorner") inputCorner.CornerRadius = UDim.new(0, 6) inputCorner.Parent = speedInput local resetButton = Instance.new("TextButton") resetButton.Size = UDim2.new(0.9, 0, 0, 45) resetButton.Position = UDim2.new(0.05, 0, 0, 180) resetButton.BackgroundColor3 = Color3.fromRGB(150, 50, 50) resetButton.TextColor3 = Color3.fromRGB(255, 255, 255) resetButton.Font = Enum.Font.GothamBold resetButton.TextSize = 14 resetButton.Text = "Reset Words" resetButton.ZIndex = 10 resetButton.Parent = mainFrame local resetCorner = Instance.new("UICorner") resetCorner.CornerRadius = UDim.new(0, 6) resetCorner.Parent = resetButton local starterWords = {"water", "person", "earth", "time", "food", "animal", "building", "science", "object", "feeling", "nature", "place", "life", "mind", "light", "space", "health", "money"} local isRunning = false local apiCache = {} local sessionGuessed = {} local previousFrameCount = 0 local sessionGuessCount = 0 local function showNotification(word) local notifLabel = Instance.new("TextLabel") notifLabel.Size = UDim2.new(0, 200, 0, 40) notifLabel.AnchorPoint = Vector2.new(0.5, 0) notifLabel.Position = UDim2.new(0.5, 0, 0, -50) notifLabel.BackgroundColor3 = Color3.fromRGB(45, 45, 45) notifLabel.TextColor3 = Color3.fromRGB(255, 255, 255) notifLabel.Font = Enum.Font.GothamBold notifLabel.TextSize = 16 notifLabel.Text = "Guessed: " .. tostring(word) notifLabel.ZIndex = 100 notifLabel.Parent = screenGui local notifCorner = Instance.new("UICorner") notifCorner.CornerRadius = UDim.new(0, 8) notifCorner.Parent = notifLabel local tweenIn = TweenService:Create(notifLabel, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position = UDim2.new(0.5, 0, 0, 20)}) tweenIn:Play() task.delay(1.5, function() local tweenOut = TweenService:Create(notifLabel, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {Position = UDim2.new(0.5, 0, 0, -50)}) tweenOut:Play() tweenOut.Completed:Connect(function() notifLabel:Destroy() end) end) end local function fetchApiData(queryString) if apiCache[queryString] then return apiCache[queryString] end local url = "https://api.datamuse.com/words?" .. queryString .. "&max=50" local success, response = pcall(function() return game:HttpGet(url) end) if success and response then local jsonSuccess, data = pcall(function() return HttpService:JSONDecode(response) end) if jsonSuccess and typeof(data) == "table" then apiCache[queryString] = data return data end end return nil end local function getGameData() local guessed = {} local rankedWords = {} local currentFrameCount = 0 local contextoUI = playerGui:FindFirstChild("ContextoUI") if contextoUI then local success, guessScroll = pcall(function() return contextoUI.Background.MainContainer.GuessListContainer.GuessScroll end) if success and guessScroll then for _, child in ipairs(guessScroll:GetChildren()) do local content = child:FindFirstChild("Content") if content then currentFrameCount = currentFrameCount + 1 local wordObj = content:FindFirstChild("Word") local rankObj = content:FindFirstChild("Rank") if not wordObj then pcall(function() for _, v in next, getnilinstances() do if v.ClassName == "TextLabel" and v.Name == "Word" and v.Parent == content then wordObj = v break end end end) end if wordObj and wordObj:IsA("TextLabel") then local word = string.lower(string.gsub(wordObj.Text, "^%s*(.-)%s*$", "%1")) if word ~= "" then guessed[word] = true sessionGuessed[word] = true if rankObj and rankObj:IsA("TextLabel") then local rankNum = tonumber(string.match(rankObj.Text, "%d+")) if rankNum then table.insert(rankedWords, {word = word, rank = rankNum}) end end end end end end end end if currentFrameCount < previousFrameCount then sessionGuessed = {} sessionGuessCount = 0 end previousFrameCount = currentFrameCount table.sort(rankedWords, function(a, b) return a.rank < b.rank end) local top10 = {} for i = 1, math.min(10, #rankedWords) do table.insert(top10, {word = rankedWords[i].word, rank = rankedWords[i].rank}) end return guessed, top10 end local function processApiData(apiResults, candidateScores, rankMultiplier, guessed) if not apiResults then return end for _, item in ipairs(apiResults) do if item.word and item.score then local candidate = string.lower(item.word) if not string.find(candidate, "%s") and not string.find(candidate, "[^a-z]") then if not guessed[candidate] and not sessionGuessed[candidate] then candidateScores[candidate] = (candidateScores[candidate] or 0) + (item.score * rankMultiplier) end end end end end local function getNextGuess(guessed, top10) sessionGuessCount = sessionGuessCount + 1 if #top10 > 0 then local candidateScores = {} local bestRank = top10[1].rank local top1 = HttpService:UrlEncode(top10[1].word) local top2 = nil if #top10 >= 2 then top2 = HttpService:UrlEncode(top10[2].word) end if bestRank <= 100 then processApiData(fetchApiData("rel_syn=" .. top1), candidateScores, 30.0, guessed) processApiData(fetchApiData("ml=" .. top1), candidateScores, 25.0, guessed) processApiData(fetchApiData("rel_spc=" .. top1), candidateScores, 20.0, guessed) if top2 then processApiData(fetchApiData("ml=" .. top1 .. "&topics=" .. top2), candidateScores, 15.0, guessed) end else if sessionGuessCount % 2 == 0 then processApiData(fetchApiData("rel_spc=" .. top1), candidateScores, 30.0, guessed) if top2 then processApiData(fetchApiData("rel_spc=" .. top1 .. "&topics=" .. top2), candidateScores, 25.0, guessed) end processApiData(fetchApiData("rel_syn=" .. top1), candidateScores, 15.0, guessed) else if top2 then processApiData(fetchApiData("ml=" .. top1 .. "&topics=" .. top2), candidateScores, 25.0, guessed) processApiData(fetchApiData("rel_trg=" .. top1 .. "&topics=" .. top2), candidateScores, 20.0, guessed) else processApiData(fetchApiData("ml=" .. top1), candidateScores, 25.0, guessed) processApiData(fetchApiData("rel_trg=" .. top1), candidateScores, 20.0, guessed) end end end local bestCandidate = nil local highestScore = -1 for candidate, score in pairs(candidateScores) do if score > highestScore then highestScore = score bestCandidate = candidate end end if bestCandidate then return bestCandidate end end for _, word in ipairs(starterWords) do if not guessed[word] and not sessionGuessed[word] then return word end end local length = math.random(4, 6) local alphabet = "abcdefghijklmnopqrstuvwxyz" for attempt = 1, 50 do local randomWord = "" for i = 1, length do local rand = math.random(1, #alphabet) randomWord = randomWord .. string.sub(alphabet, rand, rand) end if not guessed[randomWord] and not sessionGuessed[randomWord] then return randomWord end end return "fallback" end local function executeGuess() local guessed, top10 = getGameData() local nextWord = getNextGuess(guessed, top10) sessionGuessed[nextWord] = true task.spawn(function() showNotification(nextWord) end) pcall(function() guessEvent:FireServer(nextWord) end) end local function autoGuessRoutine() while isRunning do executeGuess() local delayTime = tonumber(speedInput.Text) if not delayTime or delayTime < 0.1 then delayTime = 1.5 speedInput.Text = "1.5" end task.wait(delayTime) end end manualButton.MouseButton1Click:Connect(function() task.spawn(executeGuess) end) autoButton.MouseButton1Click:Connect(function() isRunning = not isRunning if isRunning then autoButton.Text = "Auto Guess: ON" autoButton.BackgroundColor3 = Color3.fromRGB(40, 150, 40) task.spawn(autoGuessRoutine) else autoButton.Text = "Auto Guess: OFF" autoButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50) end end) resetButton.MouseButton1Click:Connect(function() sessionGuessed = {} sessionGuessCount = 0 end)