local Players=game:GetService("Players")
local RS=game:GetService("ReplicatedStorage")
local RunService=game:GetService("RunService")
local LP=Players.LocalPlayer
local CombatFolder=RS:FindFirstChild("shared/network/CombatNetwork@GlobalCombatEvents")
local CloneAttackRE=CombatFolder and CombatFolder:FindFirstChild("CloneAttack")
local NpcFolder=RS:FindFirstChild("shared/network/RunAreaNPCNetwork@GlobalRunAreaNPCEvents")
local NPCAttackRE=NpcFolder and NpcFolder:FindFirstChild("NPCAttack")
local godMode=false
local godClones=false
if NPCAttackRE and typeof(hookmetamethod)=="function" then
pcall(function()
local oldNc
oldNc=hookmetamethod(game,"__namecall",newcclosure(function(self,...)
if self==NPCAttackRE and getnamecallmethod()=="FireServer" then
local a=(...)
if type(a)=="table" then
if godMode and a.targetType=="player" then return end
if godClones and a.targetType=="clone" then return end
end
end
return oldNc(self,...)
end))
end)
end
local ctrl
local function findCtrl()
if typeof(getgc)~="function" then return nil end
for _,v in ipairs(getgc(true)) do
if type(v)=="table" then
local ok=pcall(function() return v.cachedClones~=nil and v.enemyStates~=nil and v.enemySpatialHash~=nil end)
if ok and type(rawget(v,"cachedClones"))=="table" and type(rawget(v,"enemyStates"))=="table" then return v end
end
end
end
task.spawn(function() while not ctrl do ctrl=findCtrl() task.wait(1) end end)
local function aliveEnemies()
local out={}
if not ctrl then return out end
for npcId,st in pairs(rawget(ctrl,"enemyStates") or {}) do
if type(st)=="table" and not st.isDying and (st.health==nil or st.health>0) and typeof(st.currentPosition)=="Vector3" then
out[#out+1]={id=npcId, pos=st.currentPosition}
end
end
return out
end
local function nearestTo(px,pz,list)
local best,bd
for _,e in ipairs(list) do
local dx,dz=e.pos.X-px,e.pos.Z-pz
local d=dx*dx+dz*dz
if not bd or d<bd then best,bd=e,d end
end
return best
end
local cloneSwing=0
local function cloneSweep()
if not (CloneAttackRE and ctrl) then return 0 end
local clones=rawget(ctrl,"cachedClones")
if type(clones)~="table" then return 0 end
local enemies=aliveEnemies()
if #enemies==0 then return 0 end
cloneSwing=(cloneSwing+1)%4
local n=0
for _,cl in pairs(clones) do
local m=cl.model local pos=cl.position
if m and typeof(pos)=="Vector3" then
local tgt=nearestTo(pos.X,pos.Z,enemies)
if tgt then pcall(function() CloneAttackRE:FireServer(m.Name, tgt.id, cloneSwing, pos) end) n+=1 end
end
end
return n
end
local COL={header=Color3.fromRGB(60,30,120),bg=Color3.fromRGB(15,15,25),off=Color3.fromRGB(40,40,55),
on=Color3.fromRGB(60,30,120),close=Color3.fromRGB(180,50,50),text=Color3.fromRGB(205,205,210),
field=Color3.fromRGB(28,28,40),good=Color3.fromRGB(90,210,120)}
local old=LP.PlayerGui:FindFirstChild("CloneArmyHub") if old then old:Destroy() end
local gui=Instance.new("ScreenGui") gui.Name="CloneArmyHub" gui.ResetOnSpawn=false
gui.ZIndexBehavior=Enum.ZIndexBehavior.Sibling gui.Parent=LP.PlayerGui
local main=Instance.new("Frame") main.Size=UDim2.fromOffset(280,266) main.Position=UDim2.fromScale(0.04,0.25)
main.BackgroundColor3=COL.bg main.BorderSizePixel=0 main.Active=true main.Draggable=true main.Parent=gui
Instance.new("UICorner",main).CornerRadius=UDim.new(0,8)
local header=Instance.new("TextLabel") header.Size=UDim2.new(1,0,0,34) header.BackgroundColor3=COL.header
header.BorderSizePixel=0 header.Font=Enum.Font.GothamBold header.TextSize=13 header.TextColor3=Color3.new(1,1,1)
header.Text=" ⚔️ Command Your Clone Army!" header.TextXAlignment=Enum.TextXAlignment.Left header.Parent=main
Instance.new("UICorner",header).CornerRadius=UDim.new(0,8)
local closeBtn=Instance.new("TextButton") closeBtn.Size=UDim2.fromOffset(26,26) closeBtn.Position=UDim2.new(1,-30,0,4)
closeBtn.BackgroundColor3=COL.close closeBtn.Text="X" closeBtn.Font=Enum.Font.GothamBold closeBtn.TextSize=14
closeBtn.TextColor3=Color3.new(1,1,1) closeBtn.Parent=main Instance.new("UICorner",closeBtn).CornerRadius=UDim.new(0,6)
closeBtn.MouseButton1Click:Connect(function() gui:Destroy() end)
local statusL=Instance.new("TextLabel") statusL.Size=UDim2.new(1,-20,0,30) statusL.Position=UDim2.new(0,10,1,-36)
statusL.BackgroundTransparency=1 statusL.Font=Enum.Font.Code statusL.TextSize=12 statusL.TextColor3=COL.text
statusL.TextXAlignment=Enum.TextXAlignment.Left statusL.TextYAlignment=Enum.TextYAlignment.Top
statusL.TextWrapped=true statusL.Text="loading..." statusL.Parent=main
local function say(t,c) statusL.Text=t statusL.TextColor3=c or COL.text end
local y=44
local function place(o,h) o.Position=UDim2.new(0,10,0,y) o.Size=UDim2.new(1,-20,0,h) y+=h+8 o.Parent=main end
local function toggle(label, get, set)
local b=Instance.new("TextButton") b.BackgroundColor3=get() and COL.on or COL.off b.BorderSizePixel=0
b.Font=Enum.Font.GothamBold b.TextSize=14 b.TextColor3=Color3.new(1,1,1)
b.Text=label.." "..(get() and "ON" or "OFF")
place(b,34) Instance.new("UICorner",b).CornerRadius=UDim.new(0,6)
b.MouseButton1Click:Connect(function()
set(not get())
b.BackgroundColor3=get() and COL.on or COL.off
b.Text=label.." "..(get() and "ON" or "OFF")
end)
end
local autoAtk=false
toggle("🗡 Auto Attack (Max DPS)", function() return autoAtk end, function(v) autoAtk=v end)
toggle("🛡 God Mode (Invincible)", function() return godMode end, function(v)
godMode=v if v and not NPCAttackRE then say("NPCAttack remote missing",COL.text) end end)
toggle("♾ Immortal Army", function() return godClones end, function(v) godClones=v end)
local speed=50 local speedOn=false
local sLbl=Instance.new("TextLabel") sLbl.BackgroundTransparency=1 sLbl.Font=Enum.Font.GothamBold sLbl.TextSize=13
sLbl.TextColor3=COL.text sLbl.TextXAlignment=Enum.TextXAlignment.Left sLbl.Text="🏃 Walk Speed" place(sLbl,16)
local row=Instance.new("Frame") row.BackgroundTransparency=1 place(row,32)
local box=Instance.new("TextBox") box.Size=UDim2.new(0.4,-4,1,0) box.Position=UDim2.new(0,0,0,0)
box.BackgroundColor3=COL.field box.BorderSizePixel=0 box.Font=Enum.Font.GothamBold box.TextSize=16
box.TextColor3=Color3.new(1,1,1) box.Text=tostring(speed) box.ClearTextOnFocus=false box.Parent=row
Instance.new("UICorner",box).CornerRadius=UDim.new(0,6)
box.FocusLost:Connect(function() local n=tonumber(box.Text) if n and n>0 then speed=n else box.Text=tostring(speed) end end)
local sBtn=Instance.new("TextButton") sBtn.Size=UDim2.new(0.6,-4,1,0) sBtn.Position=UDim2.new(0.4,4,0,0)
sBtn.BackgroundColor3=COL.off sBtn.BorderSizePixel=0 sBtn.Font=Enum.Font.GothamBold sBtn.TextSize=14
sBtn.TextColor3=Color3.new(1,1,1) sBtn.Text="Apply OFF" sBtn.Parent=row
Instance.new("UICorner",sBtn).CornerRadius=UDim.new(0,6)
sBtn.MouseButton1Click:Connect(function()
speedOn=not speedOn sBtn.BackgroundColor3=speedOn and COL.on or COL.off sBtn.Text="Apply "..(speedOn and "ON" or "OFF")
if not speedOn then local c=LP.Character local h=c and c:FindFirstChildOfClass("Humanoid") if h then h.WalkSpeed=16 end end
end)
RunService.Heartbeat:Connect(function()
if not gui.Parent then return end
if speedOn then local c=LP.Character local h=c and c:FindFirstChildOfClass("Humanoid") if h and h.WalkSpeed~=speed then h.WalkSpeed=speed end end
end)
task.spawn(function()
while gui.Parent do
if autoAtk then cloneSweep() end
if not ctrl then say("waiting for run (enter a battle)...")
else say("Enemies: "..#aliveEnemies(), autoAtk and COL.good or COL.text) end
task.wait(0.08)
end
end)
Comments
No comments yet
Be the first to share your thoughts!