M
Description
Governo brasileiro simulador Auto farm
GAMEUniversal
UPDATEDOct 29, 2026
ACCESSKeyless
PLATFORMDesktop
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 ]]
-- KGSVIP | TESTE NO SEU PRÓPRIO JOGO
-- LocalScript em StarterPlayer > StarterPlayerScripts
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local NPC_FOLDER_NAME = "PopulacaoNPC"
local REFRESH_TIME = 3
-- Evita interfaces duplicadas
local oldGui = playerGui:FindFirstChild("KGSVIP")
if oldGui then
oldGui:Destroy()
end
local gui = Instance.new("ScreenGui")
gui.Name = "KGSVIP"
gui.ResetOnSpawn = false
gui.IgnoreGuiInset = true
gui.Parent = playerGui
local selectedIndex = 1
local npcList = {}
local espEnabled = true
local minimized = false
local highlights = {}
local labels = {}
-- Cores
local BLUE = Color3.fromRGB(0, 145, 255)
local DARK = Color3.fromRGB(12, 16, 27)
local PANEL = Color3.fromRGB(20, 27, 43)
local WHITE = Color3.fromRGB(240, 245, 255)
local GREEN = Color3.fromRGB(45, 220, 130)
local RED = Color3.fromRGB(255, 75, 85)
-- Interface principal
local main = Instance.new("Frame")
main.Name = "Main"
main.Size = UDim2.fromOffset(290, 370)
main.Position = UDim2.new(0, 20, 0.5, -185)
main.BackgroundColor3 = DARK
main.BorderSizePixel = 0
main.Parent = gui
local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0, 12)
mainCorner.Parent = main
local stroke = Instance.new("UIStroke")
stroke.Color = BLUE
stroke.Thickness = 2
stroke.Parent = main
-- Cabeçalho
local header = Instance.new("TextLabel")
header.Size = UDim2.new(1, -50, 0, 42)
header.Position = UDim2.fromOffset(12, 0)
header.BackgroundTransparency = 1
header.Text = "KGSVIP | NPC TOOLS"
header.TextColor3 = BLUE
header.Font = Enum.Font.GothamBold
header.TextSize = 15
header.TextXAlignment = Enum.TextXAlignment.Left
header.Parent = main
local minimizeButton = Instance.new("TextButton")
minimizeButton.Size = UDim2.fromOffset(32, 30)
minimizeButton.Position = UDim2.new(1, -39, 0, 6)
minimizeButton.BackgroundColor3 = PANEL
minimizeButton.Text = "—"
minimizeButton.TextColor3 = WHITE
minimizeButton.Font = Enum.Font.GothamBold
minimizeButton.TextSize = 18
minimizeButton.Parent = main
Instance.new("UICorner", minimizeButton).CornerRadius = UDim.new(0, 7)
-- Status
local status = Instance.new("TextLabel")
status.Size = UDim2.new(1, -24, 0, 35)
status.Position = UDim2.fromOffset(12, 48)
status.BackgroundColor3 = PANEL
status.Text = "Procurando NPCs..."
status.TextColor3 = WHITE
status.Font = Enum.Font.Gotham
status.TextSize = 12
status.Parent = main
Instance.new("UICorner", status).CornerRadius = UDim.new(0, 7)
-- Botões
local function createButton(text, y, color)
local button = Instance.new("TextButton")
button.Size = UDim2.new(1, -24, 0, 39)
button.Position = UDim2.fromOffset(12, y)
button.BackgroundColor3 = color or PANEL
button.BorderSizePixel = 0
button.Text = text
button.TextColor3 = WHITE
button.Font = Enum.Font.GothamBold
button.TextSize = 12
button.AutoButtonColor = true
button.Parent = main
Instance.new("UICorner", button).CornerRadius = UDim.new(0, 8)
return button
end
local locateButton = createButton("LOCALIZAR NPCs", 94, BLUE)
local espButton = createButton("ESP: LIGADO", 140, PANEL)
local teleportButton = createButton("TELEPORTE DE TESTE", 186, PANEL)
local nextButton = createButton("PRÓXIMO NPC", 232, PANEL)
local refreshButton = createButton("ATUALIZAR LISTA", 278, PANEL)
local closeButton = createButton("FECHAR INTERFACE", 324, Color3.fromRGB(100, 28, 40))
-- Encontrar pasta
local function getNPCFolder()
return Workspace:FindFirstChild(NPC_FOLDER_NAME)
end
-- Limpar destaques anteriores
local function clearESP()
for npc, highlight in pairs(highlights) do
if highlight then
highlight:Destroy()
end
highlights[npc] = nil
end
for npc, label in pairs(labels) do
if label then
label:Destroy()
end
labels[npc] = nil
end
end
-- Verifica se um modelo tem uma peça utilizável
local function getNPCPart(model)
if not model or not model:IsA("Model") then
return nil
end
return model:FindFirstChild("HumanoidRootPart")
or model.PrimaryPart
or model:FindFirstChildWhichIsA("BasePart", true)
end
-- Reunir NPCs da pasta
local function refreshNPCs()
table.clear(npcList)
local folder = getNPCFolder()
if not folder then
status.Text = "Pasta PopulacaoNPC não encontrada"
clearESP()
return
end
local found = {}
for _, object in ipairs(folder:GetDescendants()) do
if object:IsA("Model") and getNPCPart(object) then
-- Ignora o personagem do próprio jogador
if not player.Character
or not object:IsDescendantOf(player.Character) then
table.insert(found, object)
end
end
end
-- Ordenação pelo nome
table.sort(found, function(a, b)
return a.Name:lower() < b.Name:lower()
end)
for _, npc in ipairs(found) do
table.insert(npcList, npc)
end
if #npcList == 0 then
selectedIndex = 1
status.Text = "Nenhum NPC encontrado"
else
selectedIndex = math.clamp(selectedIndex, 1, #npcList)
status.Text = #npcList .. " NPC(s) encontrado(s)"
end
if espEnabled then
for _, npc in ipairs(npcList) do
addESP(npc)
end
end
end
-- ESP visual
function addESP(npc)
if not espEnabled or not npc or not npc.Parent then
return
end
if not highlights[npc] then
local highlight = Instance.new("Highlight")
highlight.Name = "KGSVIP_Highlight"
highlight.Adornee = npc
highlight.FillColor = BLUE
highlight.OutlineColor = WHITE
highlight.FillTransparency = 0.72
highlight.OutlineTransparency = 0
highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
highlight.Parent = gui
highlights[npc] = highlight
end
local part = getNPCPart(npc)
if part and not labels[npc] then
local billboard = Instance.new("BillboardGui")
billboard.Name = "KGSVIP_Label"
billboard.Adornee = part
billboard.Size = UDim2.fromOffset(180, 30)
billboard.StudsOffset = Vector3.new(0, 3, 0)
billboard.AlwaysOnTop = true
billboard.Parent = gui
local label = Instance.new("TextLabel")
label.Size = UDim2.fromScale(1, 1)
label.BackgroundTransparency = 1
label.Text = npc.Name
label.TextColor3 = WHITE
label.TextStrokeTransparency = 0.25
label.Font = Enum.Font.GothamBold
label.TextSize = 13
label.Parent = billboard
labels[npc] = billboard
end
end
-- Localizar NPCs e atualizar lista
locateButton.Activated:Connect(function()
refreshNPCs()
if #npcList > 0 then
status.Text = "NPCs localizados: " .. #npcList
end
end)
-- Alternar ESP
espButton.Activated:Connect(function()
espEnabled = not espEnabled
if espEnabled then
espButton.Text = "ESP: LIGADO"
espButton.BackgroundColor3 = GREEN
for _, npc in ipairs(npcList) do
addESP(npc)
end
else
espButton.Text = "ESP: DESLIGADO"
espButton.BackgroundColor3 = PANEL
clearESP()
end
end)
-- Teleporte de teste para o NPC selecionado.
-- Funciona apenas quando o personagem e o NPC estão acessíveis
-- no seu próprio ambiente de teste.
teleportButton.Activated:Connect(function()
if #npcList == 0 then
refreshNPCs()
end
local npc = npcList[selectedIndex]
local targetPart = getNPCPart(npc)
local character = player.Character
local root = character and character:FindFirstChild("HumanoidRootPart")
if not targetPart or not root then
status.Text = "NPC ou personagem indisponível"
return
end
-- Deixa o personagem ao lado do NPC, sem sobrepor o modelo.
character:PivotTo(targetPart.CFrame * CFrame.new(0, 0, 4))
status.Text = "Teste: " .. npc.Name
end)
-- Próximo NPC
nextButton.Activated:Connect(function()
if #npcList == 0 then
refreshNPCs()
end
if #npcList == 0 then
return
end
selectedIndex += 1
if selectedIndex > #npcList then
selectedIndex = 1
end
local npc = npcList[selectedIndex]
status.Text = "Selecionado: " .. npc.Name
end)
-- Atualizar manualmente
refreshButton.Activated:Connect(function()
refreshNPCs()
end)
-- Minimizar / restaurar
minimizeButton.Activated:Connect(function()
minimized = not minimized
for _, item in ipairs(main:GetChildren()) do
if item ~= header and item ~= minimizeButton
and not item:IsA("UICorner")
and not item:IsA("UIStroke") then
item.Visible = not minimized
end
end
main.Size = minimized
and UDim2.fromOffset(290, 42)
or UDim2.fromOffset(290, 370)
minimizeButton.Text = minimized and "+" or "—"
end)
-- Fechar interface
closeButton.Activated:Connect(function()
clearESP()
gui:Destroy()
end)
-- Permitir arrastar a interface pelo cabeçalho
local UserInputService = game:GetService("UserInputService")
local dragging = false
local dragStart
local startPosition
header.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPosition = main.Position
end
end)
UserInputService.InputChanged:Connect(function(input)
if dragging and (
input.UserInputType == Enum.UserInputType.MouseMovement
or input.UserInputType == Enum.UserInputType.Touch
) then
local delta = input.Position - dragStart
main.Position = UDim2.new(
startPosition.X.Scale,
startPosition.X.Offset + delta.X,
startPosition.Y.Scale,
startPosition.Y.Offset + delta.Y
)
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
dragging = false
end
end)
-- Inicialização
espButton.BackgroundColor3 = GREEN
refreshNPCs()
-- Atualiza a lista periodicamente
task.spawn(function()
while gui.Parent do
task.wait(REFRESH_TIME)
if gui.Parent then
refreshNPCs()
end
end
end)
print("[KGSVIP] Interface carregada.")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