M
Description
Aut farm d apoio Simulador governo brasileiro Dinheiro teste
GAMEUniversal
UPDATEDOct 28, 2026
ACCESSKeyless
PLATFORMDesktop & Mobile
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 ]]
-- KGS VIP V3
-- Instale como LocalScript em:
-- StarterPlayer > StarterPlayerScripts
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local old = playerGui:FindFirstChild("KGSVIP_V3")
if old then old:Destroy() end
local BLUE = Color3.fromRGB(0, 145, 255)
local DARK = Color3.fromRGB(10, 14, 24)
local PANEL = Color3.fromRGB(25, 32, 48)
local WHITE = Color3.fromRGB(245, 248, 255)
local GREEN = Color3.fromRGB(35, 160, 95)
local RED = Color3.fromRGB(190, 50, 60)
local gui = Instance.new("ScreenGui")
gui.Name = "KGSVIP_V3"
gui.ResetOnSpawn = false
gui.DisplayOrder = 100
gui.Parent = playerGui
local function create(class, props, parent)
local obj = Instance.new(class)
for key, value in pairs(props) do
obj[key] = value
end
obj.Parent = parent
return obj
end
local function round(obj, radius)
create("UICorner", {
CornerRadius = UDim.new(0, radius)
}, obj)
end
local function outline(obj)
create("UIStroke", {
Color = BLUE,
Thickness = 1.5
}, obj)
end
-- Botão flutuante
local bubble = create("TextButton", {
Size = UDim2.fromOffset(60, 60),
Position = UDim2.new(0, 20, 0.5, -30),
BackgroundColor3 = DARK,
Text = "KGS",
TextColor3 = BLUE,
TextSize = 19,
Font = Enum.Font.GothamBold
}, gui)
round(bubble, 30)
outline(bubble)
-- Painel
local panel = create("Frame", {
Size = UDim2.fromOffset(340, 445),
Position = UDim2.new(0.5, -170, 0.5, -222),
BackgroundColor3 = DARK,
Visible = false
}, gui)
round(panel, 12)
outline(panel)
create("TextLabel", {
Size = UDim2.new(1, -55, 0, 42),
Position = UDim2.fromOffset(12, 2),
BackgroundTransparency = 1,
Text = "KGS VIP | NPC SCANNER",
TextColor3 = BLUE,
TextSize = 17,
Font = Enum.Font.GothamBold,
TextXAlignment = Enum.TextXAlignment.Left
}, panel)
local close = create("TextButton", {
Size = UDim2.fromOffset(30, 30),
Position = UDim2.new(1, -38, 0, 7),
BackgroundColor3 = PANEL,
Text = "X",
TextColor3 = WHITE,
Font = Enum.Font.GothamBold
}, panel)
round(close, 6)
local status = create("TextLabel", {
Size = UDim2.new(1, -20, 0, 38),
Position = UDim2.fromOffset(10, 44),
BackgroundColor3 = PANEL,
Text = "Pronto para pesquisar NPCs.",
TextColor3 = WHITE,
TextSize = 12,
TextWrapped = true,
Font = Enum.Font.Gotham
}, panel)
round(status, 6)
local function button(text, x, width, y, color)
local b = create("TextButton", {
Size = UDim2.fromOffset(width, 34),
Position = UDim2.fromOffset(x, y),
BackgroundColor3 = color or PANEL,
Text = text,
TextColor3 = WHITE,
TextSize = 12,
Font = Enum.Font.GothamBold
}, panel)
round(b, 6)
return b
end
local apoio = button("APOIO", 10, 98, 88)
local prestigio = button("PRESTÍGIO", 116, 104, 88)
local todos = button("TODOS", 228, 102, 88)
local refresh = button(
"ATUALIZAR PESQUISA", 10, 320, 128,
Color3.fromRGB(25, 85, 140)
)
local list = create("ScrollingFrame", {
Size = UDim2.new(1, -20, 0, 175),
Position = UDim2.fromOffset(10, 169),
BackgroundColor3 = PANEL,
BorderSizePixel = 0,
ScrollBarThickness = 5,
AutomaticCanvasSize = Enum.AutomaticSize.Y,
CanvasSize = UDim2.new()
}, panel)
round(list, 6)
create("UIListLayout", {
Padding = UDim.new(0, 4),
SortOrder = Enum.SortOrder.LayoutOrder
}, list)
create("UIPadding", {
PaddingTop = UDim.new(0, 5),
PaddingLeft = UDim.new(0, 5),
PaddingRight = UDim.new(0, 5)
}, list)
local teleport = button(
"TELEPORTAR", 10, 155, 351, GREEN
)
local interact = button(
"INTERAGIR", 175, 155, 351,
Color3.fromRGB(30, 90, 155)
)
local stop = button(
"PARAR MONITORAMENTO", 10, 320, 394, RED
)
local category = "TODOS"
local selectedPrompt = nil
local records = {}
local function clearList()
for _, child in ipairs(list:GetChildren()) do
if child:IsA("TextButton") or child:IsA("TextLabel") then
child:Destroy()
end
end
end
local function getPosition(prompt)
local parent = prompt.Parent
if parent and parent:IsA("Attachment") then
return parent.WorldPosition
elseif parent and parent:IsA("BasePart") then
return parent.Position
end
local model = prompt:FindFirstAncestorOfClass("Model")
if model then
local part = model.PrimaryPart
or model:FindFirstChildWhichIsA("BasePart", true)
if part then return part.Position end
end
return nil
end
local function getKind(prompt, model)
local text = (
prompt.Name .. " " ..
prompt.ActionText .. " " ..
prompt.ObjectText .. " " ..
(model and model.Name or "")
):lower()
if text:find("prestígio") or text:find("prestigio") then
return "PRESTÍGIO"
end
if text:find("apoio") or text:find("eleitor")
or text:find("votar") then
return "APOIO"
end
return "OUTRO"
end
local function scan()
clearList()
table.clear(records)
selectedPrompt = nil
local character = player.Character
local root = character and character:FindFirstChild("HumanoidRootPart")
if not root then
status.Text = "Personagem não encontrado."
return
end
for _, obj in ipairs(Workspace:GetDescendants()) do
if obj:IsA("ProximityPrompt") then
local model = obj:FindFirstAncestorOfClass("Model")
local kind = getKind(obj, model)
local position = getPosition(obj)
if position and (category == "TODOS" or category == kind) then
table.insert(records, {
prompt = obj,
model = model,
kind = kind,
position = position
})
end
end
end
table.sort(records, function(a, b)
return (root.Position - a.position).Magnitude
< (root.Position - b.position).Magnitude
end)
for index, record in ipairs(records) do
local distance = (root.Position - record.position).Magnitude
local name = record.model and record.model.Name
or record.prompt.Name
local row = create("TextButton", {
Size = UDim2.new(1, -5, 0, 36),
BackgroundColor3 = DARK,
Text = string.format(
"%s | %s | %.0f studs",
record.kind, name, distance
),
TextColor3 = WHITE,
TextSize = 10,
Font = Enum.Font.Gotham,
TextWrapped = true,
LayoutOrder = index
}, list)
round(row, 5)
row.Activated:Connect(function()
selectedPrompt = record.prompt
status.Text = "Selecionado: " .. name
for _, child in ipairs(list:GetChildren()) do
if child:IsA("TextButton") then
child.BackgroundColor3 = DARK
end
end
row.BackgroundColor3 = Color3.fromRGB(25, 75, 120)
end)
end
status.Text = string.format(
"%s: %d interação(ões) encontrada(s).",
category, #records
)
end
apoio.Activated:Connect(function()
category = "APOIO"
scan()
end)
prestigio.Activated:Connect(function()
category = "PRESTÍGIO"
scan()
end)
todos.Activated:Connect(function()
category = "TODOS"
scan()
end)
refresh.Activated:Connect(scan)
bubble.Activated:Connect(function()
panel.Visible = not panel.Visible
if panel.Visible then scan() end
end)
close.Activated:Connect(function()
panel.Visible = false
end)
-- Teleporte para teste no seu próprio projeto.
teleport.Activated:Connect(function()
if not selectedPrompt or not selectedPrompt:IsDescendantOf(Workspace) then
status.Text = "Selecione um NPC na lista primeiro."
return
end
local character = player.Character
local root = character and character:FindFirstChild("HumanoidRootPart")
local position = getPosition(selectedPrompt)
if not root or not position then
status.Text = "Não foi possível localizar o NPC."
return
end
-- Para testes locais no Studio; valide o teleporte no servidor
-- antes de usar em um jogo publicado.
root.CFrame = CFrame.new(position + Vector3.new(0, 3, 5))
status.Text = "Teleporte de teste realizado."
end)
-- Solicita interação normal quando o prompt está disponível
interact.Activated:Connect(function()
if not selectedPrompt
or not selectedPrompt:IsDescendantOf(Workspace) then
status.Text = "Selecione uma interação primeiro."
return
end
local character = player.Character
local root = character and character:FindFirstChild("HumanoidRootPart")
local position = getPosition(selectedPrompt)
if not root or not position then
status.Text = "Personagem ou interação indisponível."
return
end
local distance = (root.Position - position).Magnitude
if not selectedPrompt.Enabled then
status.Text = "Esta interação está desativada."
elseif distance > selectedPrompt.MaxActivationDistance then
status.Text = "Muito longe. Aproxime-se do NPC."
else
status.Text = "Pressione a tecla E para interagir."
end
end)
stop.Activated:Connect(function()
status.Text = "Monitoramento parado. Use Atualizar para pesquisar."
end)
-- Arrastar o botão KGS
local dragging = false
local dragStart
local startPosition
bubble.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPosition = bubble.Position
end
end)
UIS.InputChanged:Connect(function(input)
if dragging and (
input.UserInputType == Enum.UserInputType.MouseMovement
or input.UserInputType == Enum.UserInputType.Touch
) then
local delta = input.Position - dragStart
bubble.Position = UDim2.new(
startPosition.X.Scale,
startPosition.X.Offset + delta.X,
startPosition.Y.Scale,
startPosition.Y.Offset + delta.Y
)
end
end)
UIS.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
dragging = false
end
end)
print("[KGS VIP V3] Carregado.")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