
KeylessUniversal

-- Auto JJS de EB até 5000 | Script por ChatGPT
-----------------------------
-- Função para converter número em extenso (até 5000)
-----------------------------
local function numeroPorExtenso(n)
local unidades = {
"zero","um","dois","três","quatro","cinco","seis","sete","oito","nove"
}
local especiais = {
[10]="dez",[11]="onze",[12]="doze",[13]="treze",[14]="quatorze",
[15]="quinze",[16]="dezesseis",[17]="dezessete",[18]="dezoito",[19]="dezenove"
}
local dezenas = {
[2]="vinte",[3]="trinta",[4]="quarenta",[5]="cinquenta",
[6]="sessenta",[7]="setenta",[8]="oitenta",[9]="noventa"
}
local centenas = {
[1]="cem",[2]="duzentos",[3]="trezentos",[4]="quatrocentos",
[5]="quinhentos",[6]="seiscentos",[7]="setecentos",
[8]="oitocentos",[9]="novecentos"
}
local texto
if n < 10 then
texto = unidades[n+1]
elseif n < 20 then
texto = especiais[n]
elseif n < 100 then
local d, u = math.floor(n/10), n%10
if u == 0 then
texto = dezenas[d]
else
texto = dezenas[d].." e "..unidades[u+1]
end
elseif n < 1000 then
local c, resto = math.floor(n/100), n%100
if n == 100 then return "CEM" end
if resto == 0 then
texto = centenas[c]
else
texto = (c==1 and "cento" or centenas[c]).." e "..numeroPorExtenso(resto)
end
elseif n <= 5000 then
local milhar, resto = math.floor(n/1000), n%1000
local prefixo = (milhar==1) and "mil" or (unidades[milhar+1].." mil")
if resto == 0 then
texto = prefixo
else
texto = prefixo.." e "..numeroPorExtenso(resto)
end
else
texto = tostring(n)
end
return texto:upper()
end
-----------------------------
-- Função para enviar mensagens
-----------------------------
local function enviarMensagem(msg)
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Chat V1
local chatEvent = ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents")
if chatEvent and chatEvent:FindFirstChild("SayMessageRequest") then
chatEvent.SayMessageRequest:FireServer(msg, "All")
return
end
-- Chat V2
local TextChatService = game:GetService("TextChatService")
if TextChatService.ChatInputBarConfiguration then
TextChatService.ChatInputBarConfiguration.TargetTextChannel:SendAsync(msg)
return
end
warn("⚠ Não foi possível enviar mensagem (chat não encontrado).")
end
-----------------------------
-- GUI
-----------------------------
local ScreenGui = Instance.new("ScreenGui")
local MainFrame = Instance.new("Frame")
local UICorner = Instance.new("UICorner")
local StartBox = Instance.new("TextBox")
local EndBox = Instance.new("TextBox")
local SufixoBox = Instance.new("TextBox")
local SpeedBox = Instance.new("TextBox")
local StartButton = Instance.new("TextButton")
local StopButton = Instance.new("TextButton")
-- Labels
local StartLabel = Instance.new("TextLabel")
local EndLabel = Instance.new("TextLabel")
local SpeedLabel = Instance.new("TextLabel")
local SufixoLabel = Instance.new("TextLabel")
-- Botão fechar (X)
local CloseButton = Instance.new("TextButton")
-- Botão pequeno para reabrir
local ReOpenButton = Instance.new("TextButton")
ScreenGui.Parent = game:GetService("CoreGui")
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
MainFrame.Parent = ScreenGui
MainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
MainFrame.Position = UDim2.new(0.35, 0, 0.3, 0)
MainFrame.Size = UDim2.new(0, 220, 0, 320)
MainFrame.Visible = true
UICorner.Parent = MainFrame
-- Ativar drag
MainFrame.Active = true
MainFrame.Draggable = true
-- Número inicial
StartLabel.Parent = MainFrame
StartLabel.Text = "Número inicial"
StartLabel.BackgroundTransparency = 1
StartLabel.TextColor3 = Color3.fromRGB(255,255,255)
StartLabel.Position = UDim2.new(0.1,0,0.05,0)
StartLabel.Size = UDim2.new(0,180,0,18)
StartBox.Parent = MainFrame
StartBox.PlaceholderText = "Ex: 0"
StartBox.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
StartBox.TextColor3 = Color3.fromRGB(255, 255, 255)
StartBox.Text = ""
StartBox.Position = UDim2.new(0.1, 0, 0.12, 0)
StartBox.Size = UDim2.new(0, 180, 0, 22)
-- Número final
EndLabel.Parent = MainFrame
EndLabel.Text = "Número final"
EndLabel.BackgroundTransparency = 1
EndLabel.TextColor3 = Color3.fromRGB(255,255,255)
EndLabel.Position = UDim2.new(0.1,0,0.22,0)
EndLabel.Size = UDim2.new(0,180,0,18)
EndBox.Parent = MainFrame
EndBox.PlaceholderText = "Ex: 5000"
EndBox.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
EndBox.TextColor3 = Color3.fromRGB(255, 255, 255)
EndBox.Text = ""
EndBox.Position = UDim2.new(0.1, 0, 0.29, 0)
EndBox.Size = UDim2.new(0, 180, 0, 22)
-- Velocidade
SpeedLabel.Parent = MainFrame
SpeedLabel.Text = "Velocidade da mensagem"
SpeedLabel.BackgroundTransparency = 1
SpeedLabel.TextColor3 = Color3.fromRGB(255,255,255)
SpeedLabel.Position = UDim2.new(0.1,0,0.39,0)
SpeedLabel.Size = UDim2.new(0,180,0,18)
SpeedBox.Parent = MainFrame
SpeedBox.PlaceholderText = "Ex: 1 (segundos)"
SpeedBox.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
SpeedBox.TextColor3 = Color3.fromRGB(255, 255, 255)
SpeedBox.Text = ""
SpeedBox.Position = UDim2.new(0.1, 0, 0.46, 0)
SpeedBox.Size = UDim2.new(0, 180, 0, 22)
-- Sufixo
SufixoLabel.Parent = MainFrame
SufixoLabel.Text = "Sufixo"
SufixoLabel.BackgroundTransparency = 1
SufixoLabel.TextColor3 = Color3.fromRGB(255,255,255)
SufixoLabel.Position = UDim2.new(0.1,0,0.56,0)
SufixoLabel.Size = UDim2.new(0,180,0,18)
SufixoBox.Parent = MainFrame
SufixoBox.PlaceholderText = "Ex: !"
SufixoBox.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
SufixoBox.TextColor3 = Color3.fromRGB(255, 255, 255)
SufixoBox.Text = ""
SufixoBox.Position = UDim2.new(0.1, 0, 0.63, 0)
SufixoBox.Size = UDim2.new(0, 180, 0, 22)
-- Botão iniciar
StartButton.Parent = MainFrame
StartButton.Text = "Iniciar Auto JJS"
StartButton.BackgroundColor3 = Color3.fromRGB(70, 130, 180)
StartButton.TextColor3 = Color3.fromRGB(255, 255, 255)
StartButton.Position = UDim2.new(0.1, 0, 0.75, 0)
StartButton.Size = UDim2.new(0, 180, 0, 28)
-- Botão parar
StopButton.Parent = MainFrame
StopButton.Text = "Parar"
StopButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
StopButton.TextColor3 = Color3.fromRGB(255, 255, 255)
StopButton.Position = UDim2.new(0.1, 0, 0.85, 0)
StopButton.Size = UDim2.new(0, 180, 0, 28)
-- Botão fechar (X)
CloseButton.Parent = MainFrame
CloseButton.Text = "X"
CloseButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseButton.Size = UDim2.new(0, 30, 0, 30)
CloseButton.Position = UDim2.new(1, -35, 0, 5)
-- Botão pequeno JJS (verde embaixo do Roblox)
ReOpenButton.Parent = ScreenGui
ReOpenButton.Text = "JJS"
ReOpenButton.BackgroundColor3 = Color3.fromRGB(0, 200, 0) -- Verde
ReOpenButton.TextColor3 = Color3.fromRGB(255, 255, 255)
ReOpenButton.Size = UDim2.new(0, 50, 0, 30)
ReOpenButton.Position = UDim2.new(0, 10, 0, 70) -- Debaixo do Roblox
ReOpenButton.Visible = true
-- Fechar GUI
CloseButton.MouseButton1Click:Connect(function()
MainFrame.Visible = false
end)
-- Reabrir GUI
ReOpenButton.MouseButton1Click:Connect(function()
MainFrame.Visible = not MainFrame.Visible
end)
-----------------------------
-- Função de Auto JJS
-----------------------------
local rodando = false
StartButton.MouseButton1Click:Connect(function()
if rodando then return end
rodando = true
local inicio = tonumber(StartBox.Text) or 0
local fim = tonumber(EndBox.Text) or 0
if fim > 5000 then fim = 5000 end
local delayTime = tonumber(SpeedBox.Text) or 1
local sufixo = (SufixoBox.Text or ""):upper()
for i = inicio, fim do
if not rodando then break end
local msg = numeroPorExtenso(i).." "..sufixo
enviarMensagem(msg)
task.wait(delayTime)
end
rodando = false
end)
StopButton.MouseButton1Click:Connect(function()
rodando = false
end)No comments yet for this script.

![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)

