if game:GetService("CoreGui"):FindFirstChild("FinityUI") then
game.CoreGui.FinityUI:Destroy()
end
local desc = [[
Not a perfect auto/ai but here ye go :D
]]
local plr = game.Players.LocalPlayer
local Finity = loadstring(game:HttpGet("https://pastebin.com/raw/x5p1kPw1"))()
local FinityWindow = Finity.new(true)
FinityWindow.ChangeToggleKey(Enum.KeyCode.Semicolon)
local CreditsCategory = FinityWindow:Category("Credits/Info")
local CreditsCreator = CreditsCategory:Sector("Finity Library Creator:")
local ScriptCredit = CreditsCategory:Sector("Cheat Credit:")
local Description = CreditsCategory:Sector("Description:")
local OC = CreditsCategory:Sector("Open Close Button:")
CreditsCreator:Cheat("Label", "detourious @ v3rmillion.net")
ScriptCredit:Cheat("Label", "brianops16 @ v3rmillion.net")
Description:Cheat("Label", desc)
local Cheats = FinityWindow:Category("Cheats")
local S1 = Cheats:Sector("Main AI")
local S2 = Cheats:Sector("Lobby Settings")
local EnumKeys = {'Semicolon','Tab','Equals','Comma','Minus','Period','F1',"F2","F3","F4",'F5',"F6","F7",
"F8","F9","F10","F11","F12",'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', 'A', 'S', 'D', 'F', 'G', 'H',
'J', 'K', 'L', 'Z', 'X', 'C', 'V', 'B', 'N', 'M','Slash','One','Two','Three',"Four","Five","Six","Seven","Eight",
"Nine","Zero",'BackSlash','RightBracket','LeftBracket'}
OC:Cheat("Dropdown", "(Default ';')", function(Option) --Dropdowns
print('Current key: '..Option)
FinityWindow.ChangeToggleKey(Enum.KeyCode[Option])
end, {
options = EnumKeys
})

local PlayedCard = false
local Cam = game.Workspace.CurrentCamera
local ui = plr.PlayerGui.MatchMaker.MainFrame
local MinAmt = 2
local StartingCards = 7
local MakeLobby = false
local Singleplayer = false
local LoadedOptions = {[1] = "+4 Mania",[2] = "Reverse Reverse",[3] = "Stacking",[4] = "Draw To Match"}
local LobbyOptions = {"None","+4 Mania","Reverse Reverse","Stacking","Draw To Match"}


S2:Cheat("Checkbox","Auto make lobbies",
function(State)
if not State then
MakeLobby = false
else
MakeLobby = true
end
end
)

S2:Cheat("Checkbox","Use Singleplayer lobbies",
function(State)
if not State then
Singleplayer = false
else
Singleplayer = true
end
end
)

S2:Cheat("Textbox", "Min amt of players needed", function(Value) --Textbox
 if not pcall(function()
   local Val = tonumber(Value)
   if Val > 4 or Val  15 or Val = MinAmt
 end
 game:GetService("ReplicatedStorage").MatchMaker:FireServer(false, false, "Start")
 repeat wait(.1) until ui.YourData.Nam.PlrImage.Timer.Text ~= ""
end


function PlayACard()
ui = plr.PlayerGui.MatchMaker.MainFrame
local g,b = pcall(function()
local Data = Cam.PlrData
local Deck = ui.YourDeck
local Playable = {}
for i,v in pairs(Deck:GetChildren()) do
if v.SelBut.Text ~= "Can't Play" then
table.insert(Playable,v)
end
end

if #Playable < 1 then
game:GetService("ReplicatedStorage").MatchMaker:FireServer(false, "PlayCard", {[1] = "Draw",[2] = ""})
wait(.5)
repeat wait() until ui.YourData.Nam.PlrImage.Timer.Text ~= ""
wait(.5)
game:GetService("ReplicatedStorage").MatchMaker:FireServer(false, "PlayCard", {[1] = "Play"})
wait(.3)
local Highest = FindHighest()
local ColorNumber = {["Red"] = 1,["Yellow"] = 2,["Green"] = 3,["Blue"] = 4,["Wild"] = math.random(1,4)}
game:GetService("ReplicatedStorage").MatchMaker:FireServer(false, "PlayCard", {[1] = "ColorPick",[2] = ColorNumber[Highest]})
return
end


local CloseToUno = false

for i,v in pairs(Data:GetChildren()) do
if v.Name ~= plr.Name and v.Name ~= "Deck" then
local Counter = 0
for a,b in pairs(v:GetChildren()) do
if b:IsA("Part") then
Counter = Counter + 1
end
end
if Counter = 0 and tonumber(Num.Value)  0 then
      Playable = NewPlayable
      local Highest = FindHighest()
local WillPlay = {[1] = {},[2] = {},[3] = {}} --Priority System
      for i,v in pairs(Playable) do
        local Color = v.Tag.Value
        local Num = v.Tag.Tag.Value
        local Similar = FindSimilar(Num,Color)
if Similar then
table.insert(WillPlay[3],v) --Has a similar card, will play last
elseif Num and tonumber(Num)  0 then
for a,b in pairs(v) do
if b.Tag.Value == Highest then
Play(b)
break
end
end
Play(v[1])
break
end
end
    else
      Play(Playable[1])
    end
else
local WillPlay = {[1] = {},[2] = {},[3] = {},[4] = {}}
for i,v in pairs(Playable) do
local Color = v.Tag.Value
local Num = v.Tag.Tag.Value
if v then
if Color == "+4" then
table.insert(WillPlay[1],v)
break
elseif Num and Num ~= "" and tonumber(Num) == 12 then
table.insert(WillPlay[2],v)
elseif Num and Num ~= "" and tonumber(Num) > 10 then
table.insert(WillPlay[3],v)
else
table.insert(WillPlay[4],v)
end
end
end
for i,v in pairs(WillPlay) do
if #v > 0 then
Play(v[1])
end
end
end
end)
if b then
return b
end
return nil
end

function Play(Card)
if PlayedCard then return end
wait(.5)
Uno = false
if ui.Uno.Position == UDim2.new(0,0,0,0) then
Uno = true
end
if not Card then
print("Card passed through function Play was nil for some reason??? Please fix :(")
local Data = Cam.PlrData
local Deck = ui.YourDeck
local Playable = {}
for i,v in pairs(Deck:GetChildren()) do
if v.SelBut.Text ~= "Can't Play" then
table.insert(Playable,v)
end
end
Card = Playable[1]
end
PlayedCard = true
local Num = Card.Tag.Tag.Value
local Color = Card.Tag.Value
local Highest = FindHighest()
local ColorNumber = {["Red"] = 1,["Yellow"] = 2,["Green"] = 3,["Blue"] = 4,["Wild"] = math.random(1,4)}
if Color == "+4" then
game:GetService("ReplicatedStorage").MatchMaker:FireServer(false, "PlayCard", {[1] = "+4",[2] = "",[3] = Uno})
wait()
game:GetService("ReplicatedStorage").MatchMaker:FireServer(false, "PlayCard", {[1] = "ColorPick",[2] = ColorNumber[Highest]})
elseif Color == "wild" then
game:GetService("ReplicatedStorage").MatchMaker:FireServer(false, "PlayCard", {[1] = "wild",[2] = "",[3] = Uno})
wait()
game:GetService("ReplicatedStorage").MatchMaker:FireServer(false, "PlayCard", {[1] = "ColorPick",[2] = ColorNumber[Highest]})
else
if type(Num) == "number" then
Num = tostring(Num)
end
game:GetService("ReplicatedStorage").MatchMaker:FireServer(false, "PlayCard", {[1] = Color,[2] = Num,[3] = Uno})
end
end

function FindSimilar(Num,Color)
for i,v in pairs(ui.YourDeck:GetChildren()) do
  if v.Tag.Value ~= Color and (v.Tag.Value == "Red" or v.Tag.Value == "Green" or v.Tag.Value == "Blue" or v.Tag.Value == "Yellow") and v.Tag.Tag.Value == Num then
    return v
  end
end
return nil
end

function FindHighest()
--This is done to find what the most amount of a color you would have
--This is because we want to be playing with the most amount of cards when possible
local R,G,B,Y = 0,0,0,0
local Highest,High = 0,nil
for i,v in pairs(ui.YourDeck:GetChildren()) do
  if v.Tag.Value == "Red" then
    R = R + 1
    if R > Highest then Highest = R High = "Red" end
  elseif v.Tag.Value == "Green" then
    G = G + 1
    if G > Highest then Highest = G High = "Green" end
  elseif v.Tag.Value == "Blue" then
    B = B + 1
    if B > Highest then Highest = B High = "Blue" end
  elseif v.Tag.Value == "Yellow" then
    Y = Y + 1
    if Y > Highest then Highest = Y High = "Yellow" end
  end
end
if (R+G+B+Y) == 0 then
  return "Wild"
else
  return High
end
end
				
			

This script for Roblox Uno will basically play uno fully automatic for you! The ‘auto lobby’ will make a lobby that you can’t see. However
you have full control over the game still so you can see it
by clicking on “Join Match”. Overall a pretty impressive script! Enjoy.

Leave a Reply

Your email address will not be published.

Request script

Report Form

READ BEFORE YOU REPORT POST

   – Read Description

   – Make sure you tested script with Synapse X