
Key Required

-- [[ 1. THE EMERGENCY LOADER ]]
local function ForceParent()
local success, target = pcall(function() return game:GetService("CoreGui") end)
if not success or not target then
success, target = pcall(function() return game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui") end)
end
return target
end
-- Destroy old versions if they exist to prevent "Ghost GUIs"
for _, v in pairs(ForceParent():GetChildren()) do
if v.Name == "Gojo_Ninja_V4" then v:Destroy() end
end
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "Gojo_Ninja_V4"
ScreenGui.Parent = ForceParent()
ScreenGui.ResetOnSpawn = false
-- [[ 2. MINIMIZE SYSTEM ]]
local customImageID = "rbxassetid://18826457174"
local MaxBtn = Instance.new("ImageButton")
MaxBtn.Size = UDim2.new(0, 60, 0, 60)
MaxBtn.Position = UDim2.new(0.5, -30, 0, 10)
MaxBtn.Image = customImageID
MaxBtn.Visible = false
MaxBtn.Parent = ScreenGui
Instance.new("UIStroke", MaxBtn).Thickness = 2
Instance.new("UICorner", MaxBtn).CornerRadius = UDim.new(0, 10)
-- [[ 3. MAIN FRAME ]]
local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 380, 0, 300)
MainFrame.Position = UDim2.new(0.5, -190, 0.5, -150)
MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 22)
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Parent = ScreenGui
local MainStroke = Instance.new("UIStroke", MainFrame)
MainStroke.Thickness = 3
MainStroke.Color = Color3.fromRGB(80, 80, 150)
Instance.new("UICorner", MainFrame)
-- Minimize Logic
local MiniBtn = Instance.new("TextButton", MainFrame)
MiniBtn.Size = UDim2.new(0, 30, 0, 30)
MiniBtn.Position = UDim2.new(1, -35, 0, 5)
MiniBtn.Text = "-"
MiniBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 60)
MiniBtn.TextColor3 = Color3.new(1, 1, 1)
Instance.new("UICorner", MiniBtn)
MiniBtn.MouseButton1Click:Connect(function()
MainFrame.Visible = false
MaxBtn.Visible = true
end)
MaxBtn.MouseButton1Click:Connect(function()
MainFrame.Visible = true
MaxBtn.Visible = false
end)
-- [[ 4. BUTTONS & UI ]]
local function createToggle(name, parent, yPos, color)
local btn = Instance.new("TextButton", parent)
btn.Size = UDim2.new(1, 0, 0, 35)
btn.Position = UDim2.new(0, 0, 0, yPos)
btn.Text = name .. ": OFF"
btn.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
btn.TextColor3 = Color3.new(1, 1, 1)
btn.Font = Enum.Font.SourceSansBold
Instance.new("UIStroke", btn).Color = color
Instance.new("UICorner", btn)
return btn
end
local LeftSide = Instance.new("Frame", MainFrame)
LeftSide.Size = UDim2.new(0, 170, 0, 200)
LeftSide.Position = UDim2.new(0, 15, 0, 50)
LeftSide.BackgroundTransparency = 1
local RightSide = Instance.new("Frame", MainFrame)
RightSide.Size = UDim2.new(0, 170, 0, 200)
RightSide.Position = UDim2.new(1, -185, 0, 50)
RightSide.BackgroundTransparency = 1
local SwingBtn = createToggle("Auto Swing", LeftSide, 0, Color3.fromRGB(255, 50, 50))
local BeltBtn = createToggle("Auto Belts", RightSide, 0, Color3.fromRGB(50, 255, 50))
local SwordBtn = createToggle("Auto Swords", RightSide, 45, Color3.fromRGB(50, 150, 255))
local SellBtn = createToggle("Auto Sell", RightSide, 90, Color3.fromRGB(255, 150, 50))
-- Inputs
local BurstInput = Instance.new("TextBox", LeftSide)
BurstInput.Size = UDim2.new(1, 0, 0, 30)
BurstInput.Position = UDim2.new(0, 0, 0, 45)
BurstInput.Text = "5"
BurstInput.PlaceholderText = "Burst (Max 50)"
BurstInput.BackgroundColor3 = Color3.fromRGB(30, 30, 40)
BurstInput.TextColor3 = Color3.new(1, 1, 1)
Instance.new("UICorner", BurstInput)
-- [[ 5. AUTO-ACTION LOGIC ]]
local States = {Swing = false, Belts = false, Swords = false, Sell = false}
-- Remote firing function that safely checks for ninjaEvent
local function secureFire(...)
local event = game:GetService("Players").LocalPlayer:FindFirstChild("ninjaEvent")
if event then event:FireServer(...) end
end
-- Teleport Logic (Auto Sell)
task.spawn(function()
while task.wait(0.3) do
if States.Sell then
local p = game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if p then
p.CFrame = CFrame.new(64.68, 2.97, -33.23)
task.wait(0.1)
p.CFrame = CFrame.new(62.62, 2.97, -29.22)
end
end
end
end)
-- Swing Logic
task.spawn(function()
while task.wait() do
if States.Swing then
local b = math.clamp(tonumber(BurstInput.Text) or 1, 1, 50)
for i = 1, b do secureFire("swingKatana") end
end
end
end)
-- Shop Logic
task.spawn(function()
while task.wait(0.8) do
if States.Belts then secureFire("buyAllBelts", "Blazing Vortex Island") end
if States.Swords then secureFire("buyAllSwords", "Blazing Vortex Island") end
end
end)
-- Toggle Connections
local function setup(btn, key, name)
btn.MouseButton1Click:Connect(function()
States[key] = not States[key]
btn.Text = name .. ": " .. (States[key] and "ON" or "OFF")
btn.BackgroundColor3 = States[key] and Color3.fromRGB(40, 100, 40) or Color3.fromRGB(25, 25, 35)
end)
end
setup(SwingBtn, "Swing", "Auto Swing")
setup(BeltBtn, "Belts", "Auto Belts")
setup(SwordBtn, "Swords", "Auto Swords")
setup(SellBtn, "Sell", "Auto Sell")



Just saying, don't set burst to high. It does have a limit of 50 but if it's to high, it could severely lag your game if your on a low end device.
@trahancj9 por que não esconder seu script?
@Flup_style_01 Não faz sentido, especialmente se for feito por IA. Isso também prova que meu script é seguro.
How to used