--Uploaded On https://youtube.com/AhmedMode
--Published on https://ahmedmode.com
--Credits goes to the devs!
--Scripts Below:

--Script

--First Script:

local TowersUHave = {}
for i,v in next, game:GetService("ReplicatedStorage").RemoteFunction:InvokeServer("Session", "Search", "Inventory.Troops") do
    if v.Equipped then
        table.insert(TowersUHave, i)
    end
end
wait(1)
local Library = loadstring(game:HttpGet("https://raw.githubusercontent.com/xHeptc/Kavo-UI-Library/main/source.lua"))()
local Window = Library.CreateLib("Vtds hub Beta 4.0", "BloodTheme")
local Credits = Window:NewTab("Others")
local Lobby = Window:NewTab("Game")
local AutoChain = Lobby:NewSection("AutoAbility")
local turn = false
local CreditsBar = Credits:NewSection("Credits")
CreditsBar:NewLabel("bianhquan12345/bianhquan12345#7794: owner script")
CreditsBar:NewLabel("vinhkhang100/Khang#3082: Others")



local Stack = Lobby:NewSection("Stack")
Stack:NewTextBox("TowerNameHere", "Make sure u stand in the position u want to place", function(txt)
	local args = {
		[1] = "Troops",
		[2] = "Place",
		[3] = txt,
		[4] = {
			["Rotation"] = CFrame.new(0,5,0,0,5,0,0,5,0,0,5,0),
			["Position"] = game.Players.LocalPlayer.character.HumanoidRootPart.Position - Vector3.new(0,5,0)
		}
	}

	game:GetService("ReplicatedStorage").RemoteFunction:InvokeServer(unpack(args))
end)
local Lobbyl = Window:NewTab("Lobby")
local LeaderBoard = Lobbyl:NewSection("Lobby")

LeaderBoard:NewButton("Update leader board", "This will update the leader board", function()

	local A_1 = "Leaderboard"
	local A_2 = "Request"
	local Event = game:GetService("ReplicatedStorage").RemoteFunction
	Event:InvokeServer(A_1, A_2)

end)
local Selling = Lobby:NewSection("Selling")
Selling:NewButton("Sell all towers", "ok", function()
	for index,value in pairs(game.Workspace.Towers:GetChildren()) do
		-- Script generated by R2Sv2
		-- R2Sv2 developed by Luckyxero

		local A_1 = "Troops"
		local A_2 = "Sell"
		local A_3 = 
			{
				["Troop"] = value 
			}
		local Event = game:GetService("ReplicatedStorage").RemoteFunction
		Event:InvokeServer(A_1, A_2, A_3)

	end
	wait()
end)


Selling:NewTextBox("SellAllTowersName", "ok", function(txt)
	for index,value in pairs(game.Workspace.Towers:GetChildren()) do
		if value.Replicator:GetAttribute("Type") == txt then



			local A_1 = "Troops"
			local A_2 = "Sell"
			local A_3 = 
				{
					["Troop"] = value 
				}
			local Event = game:GetService("ReplicatedStorage").RemoteFunction
			Event:InvokeServer(A_1, A_2, A_3)
		end
		wait()
	end


end)
Stack:NewButton("Place weird ace pilot", "This is only work for some map", function()
	local A_1 = "Troops"
	local A_2 = "Place"
	local A_3 = "Ace Pilot"
	local A_4 = 
		{
			["Rotation"] = CFrame.new(0,5,0,0,0,0,0,0,0,0,-90,-90),
			["Position"] = game.Players.LocalPlayer.character.HumanoidRootPart.Position - Vector3.new(0,5,0)
		}
	local Event = game:GetService("ReplicatedStorage").RemoteFunction
	Event:InvokeServer(A_1, A_2, A_3, A_4)
end)

Stack:NewButton("Place weird pursuit", "Same as the ace pilot", function()
	local A_1 = "Troops"
	local A_2 = "Place"
	local A_3 = "Pursuit"
	local A_4 = 
		{
			["Rotation"] = CFrame.new(0,5,0,0,0,0,0,0,0,0,-90,-90), 
			["Position"] = game.Players.LocalPlayer.character.HumanoidRootPart.Position - Vector3.new(0,5,0)
		}
	local Event = game:GetService("ReplicatedStorage").RemoteFunction
	Event:InvokeServer(A_1, A_2, A_3, A_4)
end)
Stack:NewButton("Place weird ace pilot2", "For lay by i guess lol", function()
	local A_1 = "Troops"
	local A_2 = "Place"
	local A_3 = "Ace Pilot"
	local A_4 = 
		{
			["Rotation"] = CFrame.new(0,5,0,0,0,90,-90), 
			["Position"] = game.Players.LocalPlayer.character.HumanoidRootPart.Position - Vector3.new(0,5,0)
		}
	local Event = game:GetService("ReplicatedStorage").RemoteFunction
	Event:InvokeServer(A_1, A_2, A_3, A_4)
end)
Stack:NewButton("Place weird pursuit2", "For lay by i guess lol", function()
	local A_1 = "Troops"
	local A_2 = "Place"
	local A_3 = "Pursuit"
	local A_4 = 
		{
			["Rotation"] = CFrame.new(0,5,0,0,0,90,-90), 
			["Position"] = game.Players.LocalPlayer.character.HumanoidRootPart.Position - Vector3.new(0,5,0)
		}
	local Event = game:GetService("ReplicatedStorage").RemoteFunction
	Event:InvokeServer(A_1, A_2, A_3, A_4)
end)
local Check = 0 local Skipping = Lobby:NewSection("Skipping") Skipping:NewKeybind("SkipKey", "Breh", Enum.KeyCode.F, function() local args = { [1] = "Waves", [2] = "Skip" }

game:GetService("ReplicatedStorage").RemoteFunction:InvokeServer(unpack(args)) end) local CheckEd = false

local lolc = false

AutoChain:NewButton("AutoChain", "Make sure u have at least 3 lv 2 plus commanders", function()

while true do
for index,value in pairs(game.Workspace.Towers:GetChildren()) do if value.Owner.Value == game.Players.LocalPlayer and value.Replicator:GetAttribute("Type") == "Commander" then local args = { [1] = "Troops", [2] = "Abilities", [3] = "Activate", [4] = { ["Name"] = "Call Of Arms", ["Troop"] = value } }

					game:GetService("ReplicatedStorage").RemoteFunction:InvokeServer(unpack(args))
					wait(10.1)
			 end
			 end

end

   end)
Stack:NewDropdown("StackTower", "Alt of stack tower name", TowersUHave, function(currentOption)
    local A_1 = "Troops"
		local A_2 = "Place"
		local A_3 = currentOption
		local A_4 = 
			{
				["Rotation"] = CFrame.new(0,5,0), 
				["Position"] = game.Players.LocalPlayer.character.HumanoidRootPart.Position - Vector3.new(0,5,0)
			}
		local Event = game:GetService("ReplicatedStorage").RemoteFunction
		Event:InvokeServer(A_1, A_2, A_3, A_4)
end)
local CopyDiscordServerLink = Credits:NewSection("Copy Discord server link")
CopyDiscordServerLink:NewButton("Copy", "Why don't you even understand this?", function()
    setclipboard("https://discord.gg/yEBheZxfN7")
end)
local ok = game.Players.LocalPlayer.PlayerGui.GameGui.Health.Wave
Selling:NewButton("Sell all Farms", "breh??ssđssd", function()
local wo = game.Workspace.Towers:GetChildren()
for i,v in pairs(wo) do
if v.Owner.Value == game.Players.LocalPlayer and v.Replicator:GetAttribute("Type") == "Farm" then
		local A_1 = "Troops"
			local A_2 = "Sell"
			local A_3 = 
				{
					["Troop"] = v
				}
			local Event = game:GetService("ReplicatedStorage").RemoteFunction
			Event:InvokeServer(A_1, A_2, A_3)
		
		wait()
	
end
end
end)
local DmCheck = false

AutoChain:NewToggle("Spam Medic ability", "Breh", function(state)
    if state then
        DmCheck = true
    else
        DmCheck = false
    end
end)
while wait(1) do
if DmCheck == true then
local args = {
    [1] = "Troops",
    [2] = "Place",
    [3] = "Medic",
    [4] = {
        ["Rotation"] = CFrame.new(Vector3.new(0, 0, 0), Vector3.new(-0, -0, -1)),
        ["Position"] = game.Players.LocalPlayer.character.HumanoidRootPart.Position - Vector3.new(0,5,0)
    }
}
local Dmagain = game.Workspace.Towers:GetChildren()
game:GetService("ReplicatedStorage").RemoteFunction:InvokeServer(unpack(args))
for i,v in pairs(Dmagain) do
if v.Owner.Value == game.Players.LocalPlayer and v.Replicator:GetAttribute("Type") == "Medic" then
local args = {
    [1] = "Troops",
    [2] = "Upgrade",
    [3] = "Set",
    [4] = {
        ["Troop"] = v
    }
}

game:GetService("ReplicatedStorage").RemoteFunction:InvokeServer(unpack(args))
local args = {
    [1] = "Troops",
    [2] = "Upgrade",
    [3] = "Set",
    [4] = {
        ["Troop"] = v
    }
}

game:GetService("ReplicatedStorage").RemoteFunction:InvokeServer(unpack(args))
local args = {
    [1] = "Troops",
    [2] = "Upgrade",
    [3] = "Set",
    [4] = {
        ["Troop"] = v
    }
}

game:GetService("ReplicatedStorage").RemoteFunction:InvokeServer(unpack(args))
local args = {
    [1] = "Troops",
    [2] = "Upgrade",
    [3] = "Set",
    [4] = {
        ["Troop"] = v
    }
}

game:GetService("ReplicatedStorage").RemoteFunction:InvokeServer(unpack(args))
local args = {
    [1] = "Troops",
    [2] = "Upgrade",
    [3] = "Set",
    [4] = {
        ["Troop"] = v
    }
}

game:GetService("ReplicatedStorage").RemoteFunction:InvokeServer(unpack(args))
wait(0.5)
local args = {
    [1] = "Troops",
    [2] = "Abilities",
    [3] = "Activate",
    [4] = {
        ["Name"] = "Cleansing",
        ["Troop"] = v
    }
}

game:GetService("ReplicatedStorage").RemoteFunction:InvokeServer(unpack(args))
wait(0.1)
local args = {
    [1] = "Troops",
    [2] = "Sell",
    [3] = {
        ["Troop"] = v
    }
}

game:GetService("ReplicatedStorage").RemoteFunction:InvokeServer(unpack(args))
end
end
end
end

LeaderBoard:NewButton("ButtonText", "ButtonInfo", function()
    print("Clicked")
end)