Roblox Script
Roblox Script
game:GetService("ReplicatedStorage").endpoints.client_to_server.vote_start:InvokeSe
rver()
repeat task.wait() until game:GetService("Workspace")
["_waves_started"].Value == true
end
local repo =
'https://raw.githubusercontent.com/violin-suzutsuki/LinoriaLib/main/'
local repo2 = 'https://raw.githubusercontent.com/smtxtx1/smthubzx/main/'
})
local a = 'SMTHUB' -- Paste Name
local b = game:GetService('Players').LocalPlayer.Name ..
'_AnimeAdventures.json'
local Settings = {
Worlds = 0,
Levels = 0,
LevelsDrop = {},
WorldsDrop = {},
upgunit1 = 0,
upgunit2 = 0,
upgunit3 = 0,
upgunit4 = 0,
upgunit5 = 0,
upgunit6 = 0,
upgwave1 = 0,
upgwave2 = 0,
upgwave3 = 0,
upgwave4 = 0,
upgwave5 = 0,
upgwave6 = 0,
MenuKeybind = "End",
autoleaveWaveX = 0,
AutoLeaveWave = false,
OptionsPlace = 0,
autofarm = false,
AutoPlaceUnit2 = false,
KeyPicker = "G",
KeyPicker2 = "H",
KeyPicker3 = "J",
lagsec = 0,
lagstr = 0,
lager = 0,
lager2 = 0,
lagtoggle = false,
Pinglimiter = 0,
}
function saveSettings()
local HttpService = game:GetService('HttpService')
local folderPath = a .. "/"
local filePath = folderPath .. b
writefile(filePath, HttpService:JSONEncode(Settings))
end
function ReadSetting()
local HttpService = game:GetService('HttpService')
local folderPath = a .. "/"
local filePath = folderPath .. b
Settings = ReadSetting()
function antiafk()
pcall(function()
local vu = game:GetService("VirtualUser")
game:GetService("Players").LocalPlayer.Idled:connect(function()
vu:Button2Down(Vector2.new(0,0),workspace.CurrentCamera.CFrame)
wait(1)
vu:Button2Up(Vector2.new(0,0),workspace.CurrentCamera.CFrame)
end)
game:GetService("ReplicatedStorage").endpoints.client_to_server.claim_daily_reward:
InvokeServer()
end)
end
antiafk()
local Tabs = {
Main = Window:AddTab('Main'),
['LAG SWITCH'] = Window:AddTab('LAG & INF Range Settings'),
['UI Settings'] = Window:AddTab('Settings'),
}
local MenuGroup = Tabs['UI Settings']:AddLeftGroupbox('Menu')
Options.MenuKeybind:OnChanged(function() print(Options.MenuKeybind.Value)
Settings.MenuKeybind = Options.MenuKeybind.Value saveSettings() end)
Library.ToggleKeybind = Options.MenuKeybind
local WorldsName
local uuidUnits = {}
local UnitSkillDrops = {}
local MapSelected
local infUnitId1
local infUnitId2
local infUnitId3
game.Players.LocalPlayer.PlayerGui.MessageGui.Enabled = false
function AddWorlds()
if #Settings.WorldsDrop >1 then
Settings.WorldsDrop = {}
end
for i, v in
pairs(game:GetService("ReplicatedStorage").src.Data.Worlds:GetChildren()) do
if v:IsA("ModuleScript") then
local allmodule = require(v)
for _, child in pairs(allmodule) do
print(_, child.name)
table.insert(Settings.WorldsDrop, child.name)
end
end
end
end
AddWorlds()
function AutosUnitAdd()
for i, v in
pairs(game:GetService("ReplicatedStorage").src.Data.Units:GetDescendants()) do
if v:IsA("ModuleScript") then
local getunit = require(v)
for key1, UnitData in pairs(getunit) do
if type(UnitData) == "table" then
if UnitData.active_attack then
table.insert(UnitSkillDrops, UnitData.name)
end
if UnitData.id then
if UnitData.upgrade then
for key2, upgunit in pairs(UnitData.upgrade) do
for key3, getunit in pairs(upgunit) do
if key3 == "active_attack" then
table.insert(UnitSkillDrops,
UnitData.name)
end
end
end
end
end
end
end
end
end
end
AutosUnitAdd()
function LevelSelection()
if #Settings.LevelsDrop >1 then
Settings.LevelsDrop = {}
end
for i, v in
pairs(game:GetService("ReplicatedStorage").src.Data.Levels:GetDescendants()) do
if v:IsA("ModuleScript") then
allLevel = require(v)
for _, childLevels in pairs(allLevel) do
if type(childLevels) == "table" and childLevels.Name ~=
"template" then
if childLevels.world == tostring(MapSelected) then
if childLevels.name then
table.insert(Settings.LevelsDrop,
childLevels.name)
saveSettings()
end
end
end
end
end
end
Options.Levels:SetValues(Settings.LevelsDrop)
end
function placeAny()
local services = require(game.ReplicatedStorage.src.Loader)
local placement_service = services.load_client_service(script,
"PlacementServiceClient")
task.spawn(function()
while task.wait() do
placement_service.can_place = true
end
end)
end
function placeunittwin()
if game.Workspace:WaitForChild("_UNITS") then
for i, v in ipairs(game:GetService("Workspace")
["_UNITS"]:GetChildren()) do
repeat task.wait() until v:WaitForChild("_stats")
if v.Name == name and tostring(v["_stats"].player.Value) ==
game.Players.LocalPlayer.Name and v.Name:FindFirstChild("_hitbox") then
v:Destroy() end
end
end
end
local UnitDrops = {}
function UnitSelection()
UnitDrops = {}
local UnitsModule =
game:GetService("ReplicatedStorage").src.Data.Units
local NameUnits = {} -- Store all NameUnits in a table
if #UnitDrops < 1 then
for i, v in
pairs(game:GetService("Players").LocalPlayer.PlayerGui["spawn_units"].Lives.Frame.U
nits:GetChildren()) do
if v:IsA("ImageButton") then
for _, SpawnUnit in
pairs(v.Main.petimage.WorldModel:GetChildren()) do
local unitName = SpawnUnit.Name
if string.find(unitName, ":") then
unitName = string.gsub(unitName, ":%g+", "") --
Remove ":" and everything after it
end
table.insert(NameUnits, unitName) -- Store each
NameUnit in the table
end
end
end
for _, v in pairs(UnitsModule:GetDescendants()) do
if v:IsA("ModuleScript") then
local UnitsChild = require(v)
for key, UnitsData in pairs(UnitsChild) do
pcall(function()
for _, NameUnit in ipairs(NameUnits) do
if UnitsData.id == NameUnit then
table.insert(UnitDrops,UnitsData.name)
end
end
end)
end
end
end
end
end
UnitSelection()
function LevelsJoin()
for i, v in
pairs(game:GetService("ReplicatedStorage").src.Data.Levels:GetDescendants()) do
if v:IsA("ModuleScript") then
allLevel = require(v)
for _, childLevels in pairs(allLevel) do
if type(childLevels) == "table" and childLevels.Name ~=
"template" then
if childLevels.world == tostring(MapSelected) then
if childLevels.name == LevelsXX then
MapID = childLevels.id
diff = "Normal"
end
if childLevels.name == "Infinite Mode" then
diff = "Hard"
end
end
end
end
end
end
end
end
end
end
end
end
local diff
local MapID
Tab1:AddDropdown('Worlds', {
Values = Settings.WorldsDrop,
Default = Settings.Worlds,
Multi = false,
Text = 'Select Worlds',
Tooltip = 'Select World Before Levels',
})
Tab1:AddDropdown('Levels', {
Values = Settings.LevelsDrop,
Multi = false,
Text = 'Select Level',
Default = Settings.Levels, -- Set the default based on Settings.Levels
index
Callback = function(Value)
for i, v in
pairs(game:GetService("ReplicatedStorage").src.Data.Levels:GetDescendants()) do
if v:IsA("ModuleScript") then
allLevel = require(v)
for _, childLevels in pairs(allLevel) do
if type(childLevels) == "table" and childLevels.Name ~=
"template" then
if childLevels.world == tostring(MapSelected) then
if childLevels.name == Value then
MapID = childLevels.id
diff = "Normal"
end
if childLevels.name == "Infinite Mode" then
diff = "Hard"
end
end
end
end
end
end
end
})
waitthis = Options.Worlds:OnChanged(function(Value)
local index = nil
WorldsName = Value
WorldsSelection()
for i, v in ipairs(Settings.WorldsDrop) do
if v == Value then
index = i
break
end
end
print(index)
if index then
Settings.Worlds = index
end
saveSettings()
LevelSelection()
end)
Options.Levels:OnChanged(function(Value)
local index
for i, v in ipairs(Settings.LevelsDrop) do
if v == Value then
index = i
break
end
end
print(index)
if index then
Settings.Levels = index
end
saveSettings()
for i, v in
pairs(game:GetService("ReplicatedStorage").src.Data.Levels:GetDescendants()) do
if v:IsA("ModuleScript") then
allLevel = require(v)
for _, childLevels in pairs(allLevel) do
if type(childLevels) == "table" and childLevels.Name ~=
"template" then
if childLevels.world == tostring(MapSelected) then
if childLevels.name == Value then
MapID = childLevels.id
diff = "Normal"
end
if childLevels.name == "Infinite Mode" then
diff = "Hard"
end
end
end
end
end
end
end)
part.Parent = workspace
part.Material = Enum.Material.Neon
mouse.Move:Connect(function()
local raycastParams = RaycastParams.new()
raycastParams.FilterType = Enum.RaycastFilterType.Whitelist
raycastParams.FilterDescendantsInstances = {workspace["_terrain"]}
part:Destroy()
screenGui:Destroy()
wait()
end
local function createPart2()
local part = Instance.new("Part")
part.Size = Vector3.new(1, 1, 1)
part.Position = Vector3.new(0, 1.5, 0)
part.Parent = workspace
part.Material = Enum.Material.Neon
mouse.Move:Connect(function()
local raycastParams = RaycastParams.new()
raycastParams.FilterType = Enum.RaycastFilterType.Whitelist
raycastParams.FilterDescendantsInstances = {workspace["_terrain"]}
part:Destroy()
screenGui:Destroy()
wait()
end
local function createPart3()
local part = Instance.new("Part")
part.Size = Vector3.new(1, 1, 1)
part.Position = Vector3.new(0, 1.5, 0)
part.Parent = workspace
part.Material = Enum.Material.Neon
mouse.Move:Connect(function()
local raycastParams = RaycastParams.new()
raycastParams.FilterType = Enum.RaycastFilterType.Whitelist
raycastParams.FilterDescendantsInstances = {workspace["_terrain"]}
part:Destroy()
screenGui:Destroy()
wait()
end
if targetCFrame then
unit.HumanoidRootPart.CFrame = targetCFrame
unit._shadow.CFrame = targetCFrame
unit._hitbox.CFrame = targetCFrame
if unit:FindFirstChild("Range") then
unit.Range.CFrame = targetCFrame
unit.range_sphere.CFrame = targetCFrame
end
end
end
end
end
local Units = {}
local Lane = {}
function Check()
if #uuidUnits <1 then
uuidUnits = {}
end
local DataUnits =
require(game:GetService("ReplicatedStorage").src.Data.Units)
for i, v in pairs(getgenv().profile_data.equipped_units) do
if DataUnits[v.unit_id] and v.equipped_slot then
table.insert(uuidUnits, v.uuid)
print(v.uuid)
end
end
end
function InfCastle()
if game.PlaceId == 8304191830 then
while Toggles.infcastleAT.Value == true do
local FurthestRoom =
game:GetService("Players").LocalPlayer.PlayerGui.InfiniteTowerUI.InfiniteLeaderboar
d.Ranking.Wrapper.Frame.FurthestRoom.V
local CurrentRoom = FurthestRoom.Text
local args = {
[1] = tonumber(CurrentRoom)
}
game:GetService("ReplicatedStorage").endpoints.client_to_server.request_start_infin
ite_tower:InvokeServer(unpack(args))
wait()
Library:Notify('Joining Infinite Castle Room:
'..CurrentRoom)
break
end
end
end
["type"] = "rich",
["color"] = tonumber(0x7269da),
["image"] = {
["url"] = "http://www.roblox.com/Thumbs/Avatar.ashx?
x=150&y=150&Format=Png&username=" ..
tostring(game:GetService("Players").LocalPlayer.Name)
}
}
}
}
local headers = {
["content-type"] = "application/json"
}
requestFunction(requestParams)
end
Tab1:AddToggle('autofarm2', {
Text = 'Auto Farm',
Default = Settings.autofarm,
})
Toggles.autofarm2:OnChanged(function(bool) print(bool) Settings.autofarm =
bool saveSettings() end)
Tab2:AddToggle('autonext', {
Text = 'Auto Next Room',
Default = Settings.autonext,
})
GameFinished:GetPropertyChangedSignal("Value"):Connect(function()
if GameFinished.Value == true then
repeat task.wait() until
game:GetService("Players").LocalPlayer.PlayerGui.ResultsUI.Enabled == true
print("Pressed Replay Worked")
local a={[1]="replay"}
game:GetService("ReplicatedStorage").endpoints.client_to_server.set_game_finished_v
ote:InvokeServer(unpack(a))
end
end)
end)
end
function AutoNext()
task.spawn(function()
local GameFinished =
game:GetService("Workspace"):WaitForChild("_DATA"):WaitForChild("GameFinished")
GameFinished:GetPropertyChangedSignal("Value"):Connect(function()
if GameFinished.Value == true then
local currentINF2 =
game:GetService("Workspace"):FindFirstChild("_MAP_CONFIG"):FindFirstChild("GetLevel
Data"):InvokeServer()["name"]
local numericalPart = currentINF2:match("%d+") --
Extract the numerical part from the string
local incrementedValue = tonumber(numericalPart) + 1 --
Convert to number and increment by 1
local updatedINF = currentINF2:gsub("%d+",
incrementedValue)
repeat task.wait() until
game:GetService("Players").LocalPlayer.PlayerGui.ResultsUI.Enabled == true
local a={[1]="NextRetry"}
game:GetService("ReplicatedStorage").endpoints.client_to_server.request_start_infin
ite_tower_from_game:InvokeServer(unpack(a))
Library:Notify('Joining '..updatedINF)
end
end)
end)
end
Toggles.autonext:OnChanged(function(bool)
print(bool)
Settings.autonext = bool
saveSettings()
wait()
if Toggles.autonext.Value == true then
task.spawn(function()
AutoNext()
end)
end
end)
Toggles.autoreplay:OnChanged(function(bool)
print(bool)
Settings.autoreplay = bool
saveSettings()
if Toggles.autoreplay.Value == true then
task.spawn(function()
AutoReplay()
end)
end
end)
function AutoJoinRoom()
while wait() do
if Toggles.autofarm2.Value == true then
if game.PlaceId == 8304191830 then
pcall(function()
for i, v in pairs(game:GetService("Workspace")
["_LOBBIES"].Story:GetDescendants()) do
if v.Name == "Owner" and v.Value == nil then
local args = { [1] = tostring(v.Parent.Name) }
game:GetService("ReplicatedStorage").endpoints.client_to_server.request_join_lobby:
InvokeServer(unpack(args))
task.wait()
local args = {
[1] = tostring(v.Parent.Name), -- Lobby
[2] = MapID, -- World/Level
[3] = true, -- Friends Only or not
[4] = diff }
game:GetService("ReplicatedStorage").endpoints.client_to_server.request_lock_level:
InvokeServer(unpack(args))
game:GetService("ReplicatedStorage").endpoints.client_to_server.request_start_game:
InvokeServer(unpack(args))
getgenv().door = v.Parent.Name
print(v.Parent.Name) --v.Parent:GetFullName()
break
end
end
end)
end
end
end
end
task.spawn(function()
AutoJoinRoom()
end)
Tabsection3:AddToggle('AutoPlaceUnit2', {
Text = 'Auto Place',
Default = Settings.AutoPlaceUnit2,
Callback = toggleCallback2
})
Toggles.AutoPlaceUnit2:OnChanged(function(bool) print(bool)
Settings.AutoPlaceUnit2 = bool saveSettings() end)
Tabsection3:AddDropdown('OptionsPlace', {
Values = {'Place Front','Place Mid'},
Default = Settings.OptionsPlace,
Multi = false,
Text = 'Place Method',
})
Options.OptionsPlace:OnChanged(function(Value)
local index
for i, v in ipairs({'Place Front','Place Mid'}) do
if v == Value then
index = i
break
end
end
print(index)
if index then
Settings.OptionsPlace = index
end
saveSettings()
end)
Tabsection3:AddInput('autoleaveWaveX', {
Default = Settings.autoleaveWaveX,
Numeric = true,
Finished = true,
Text = 'Leave When Wave: ',
Tooltip = 'Press Enter',
Placeholder = 'Press Enter',
})
Options.autoleaveWaveX:OnChanged(function(value)
Settings.autoleaveWaveX = value
saveSettings()
end)
Tabsection3:AddToggle('AutoLeaveWave', {
Text = 'Auto Leave',
Default = Settings.AutoLeaveWave,
})
other1:AddButton('Lobby',function()
game:GetService("TeleportService"):Teleport(8304191830, game.Players.LocalPlayer)
end)
Toggles.Anywhere:OnChanged(function(bool) print(bool) Settings.Anywhere =
bool saveSettings() end)
task.spawn(function()
placeAny()
placeunittwin()
end)
Toggles.DeleteMap:OnChanged(function(bool)
Settings.DeleteMap = bool
saveSettings()
if bool == true then
repeat wait() until game:IsLoaded()
for _, v in ipairs(workspace:GetDescendants()) do
if v.Name == "terrain" then
for _, child in pairs(v:GetDescendants()) do
child:Destroy()
end
end
end
end
)
Toggles.DeleteHill:OnChanged(function(bool)
Settings.DeleteHill = bool
saveSettings()
if bool == true then
repeat wait() until game:IsLoaded()
for _, v in ipairs(workspace:GetDescendants()) do
other2:AddToggle('autoupgs', {
Text = 'Auto Upgrade Units',
Default = Settings.autoupgs, -- Default value (true / false)
})
Toggles.autoupgs:OnChanged(function(bool) print(bool) Settings.autoupgs =
bool saveSettings() end)
other3:AddSlider('upgunit1', {
Text = 'Unit 1',
Default = Settings.upgunit1,
Min = 0,
Max = 15,
Rounding = 0,
Compact = true,
})
Options.upgunit1:OnChanged(function(Value) print(Value) Settings.upgunit1 =
Value saveSettings() end)
other3:AddSlider('upgwave1', {
Text = 'Upgrade Wave:',
Default = Settings.upgwave1,
Min = 0,
Max = 50,
Rounding = 0,
Compact = true,
})
Options.upgwave1:OnChanged(function(Value) print(Value) Settings.upgwave1 =
Value saveSettings() end)
other3:AddDivider()
other3:AddSlider('upgunit2', {
Text = 'Unit 2',
Default = Settings.upgunit2,
Min = 0,
Max = 15,
Rounding = 0,
Compact = true,
})
Options.upgunit2:OnChanged(function(Value) print(Value) Settings.upgunit2 =
Value saveSettings() end)
other3:AddSlider('upgwave2', {
Text = 'Upgrade Wave:',
Default = Settings.upgwave2,
Min = 0,
Max = 50,
Rounding = 0,
Compact = true,
})
Options.upgwave2:OnChanged(function(Value) print(Value) Settings.upgwave2 =
Value saveSettings() end)
other3:AddDivider()
other3:AddSlider('upgunit3', {
Text = 'Unit 3',
Default = Settings.upgunit3,
Min = 0,
Max = 15,
Rounding = 0,
Compact = true,
})
Options.upgunit3:OnChanged(function(Value) print(Value) Settings.upgunit3 =
Value saveSettings() end)
other3:AddSlider('upgwave3', {
Text = 'Upgrade Wave:',
Default = Settings.upgwave3,
Min = 0,
Max = 50,
Rounding = 0,
Compact = true,
})
Options.upgwave3:OnChanged(function(Value) print(Value) Settings.upgwave3 =
Value saveSettings() end)
other3:AddDivider()
other3:AddSlider('upgunit4', {
Text = 'Unit 4',
Default = Settings.upgunit4,
Min = 0,
Max = 15,
Rounding = 0,
Compact = true,
})
Options.upgunit4:OnChanged(function(Value) print(Value) Settings.upgunit4 =
Value saveSettings() end)
other3:AddSlider('upgwave4', {
Text = 'Upgrade Wave:',
Default = Settings.upgwave4,
Min = 0,
Max = 50,
Rounding = 0,
Compact = true,
})
Options.upgwave4:OnChanged(function(Value) print(Value) Settings.upgwave4 =
Value saveSettings() end)
other3:AddDivider()
other3:AddSlider('upgunit5', {
Text = 'Unit 5',
Default = Settings.upgunit5,
Min = 0,
Max = 15,
Rounding = 0,
Compact = true,
})
Options.upgunit5:OnChanged(function(Value) print(Value) Settings.upgunit5 =
Value saveSettings() end)
other3:AddSlider('upgwave5', {
Text = 'Upgrade Wave:',
Default = Settings.upgwave5,
Min = 0,
Max = 50,
Rounding = 0,
Compact = true,
})
Options.upgwave5:OnChanged(function(Value) print(Value) Settings.upgwave5 =
Value saveSettings() end)
other3:AddDivider()
other3:AddSlider('upgunit6', {
Text = 'Unit 6',
Default = Settings.upgunit6,
Min = 0,
Max = 15,
Rounding = 0,
Compact = true,
})
Options.upgunit6:OnChanged(function(Value) print(Value) Settings.upgunit6 =
Value saveSettings() end)
other3:AddSlider('upgwave6', {
Text = 'Upgrade Wave:',
Default = Settings.upgwave6,
Min = 0,
Max = 50,
Rounding = 0,
Compact = true,
})
Options.upgwave6:OnChanged(function(Value) print(Value) Settings.upgwave6 =
Value saveSettings() end)
function UpgradeCaps()
if game.PlaceId == 8304191830 then
wait()
else
repeat task.wait() until game:GetService("Workspace")
["_waves_started"].Value == true
end
while true do
wait()
repeat task.wait() until game:GetService("Workspace")
["_waves_started"].Value == true
local units =
game:GetService("Players").LocalPlayer.PlayerGui["spawn_units"].Lives.Frame.Units:G
etChildren()
pcall(function()
for _, v in ipairs(units) do
if v:IsA("ImageButton") then
local unitName = tonumber(v.Name)
if unitName then
local unitChildren =
v.Main.petimage.WorldModel:GetChildren()
for _, unit in ipairs(unitChildren) do
if unit.Name then
local waveKey = "upgwave" .. unitName
local unitKey = "upgunit" .. unitName
local upgradeValue =
Options[unitKey].Value
local waveValue =
Options[waveKey].Value
for _, PlacedUnit in
ipairs(game:GetService("Workspace")["_UNITS"]:GetChildren()) do
if PlacedUnit.Name == unit.Name
then
local currentWave =
game:GetService("Workspace")["_wave_num"].Value
game:GetService("ReplicatedStorage").endpoints.client_to_server.upgrade_unit_ingame
:InvokeServer(PlacedUnit)
end
end
end
end
end
end
end
end
end)
end
end
end
task.spawn(function()
UpgradeCaps()
end)
getgenv().profile_data = { equipped_units = {} }
repeat
wait()
for i, v in pairs(getgc(true)) do
if type(v) == "table" and rawget(v, "xp") then
table.insert(getgenv().profile_data.equipped_units, v)
end
end
until #getgenv().profile_data.equipped_units > 0
function getUnitIdByName(name)
name = tostring(name) -- Ensure name is a string
local UnitsModule = game:GetService("ReplicatedStorage").src.Data.Units
for _, v in pairs(UnitsModule:GetDescendants()) do
if v:IsA("ModuleScript") then
local UnitsChild = require(v)
if type(UnitsChild) == "table" then
for key, UnitsData in pairs(UnitsChild) do
if type(UnitsData) == "table" and UnitsData.name ==
name then
for i, unit in
pairs(game:GetService("Players").LocalPlayer.PlayerGui["spawn_units"].Lives.Frame.U
nits:GetDescendants()) do
if string.find(unit.Name,UnitsData.id ) then
print(unit.Name)
return unit.Name
end
end
end
end
end
end
end
return nil
end
function coneinfrange()
pcall(function()
local final_position =
game:GetService("Workspace")._BASES.pve.LANES[1].final.Position
local units = game.Workspace._UNITS:GetChildren()
for _, unit in ipairs(units) do
local unitId = unit.Name
if unitId == infUnitId1 or unitId == infUnitId2 or unitId ==
infUnitId3 then
local closestUnit = nil
local closestDistance = math.huge
local closestToFinal = math.huge
game:GetService("RunService").RenderStepped:Wait()
end
infsection:AddToggle('infrange',{
Text = 'Inf Range',
Default = false,
Callback = function(bool)
while Toggles.infrange.Value == true do
coneinfrange()
end
end
})
infsection:AddSlider('RangeInf', {
Text = 'Range From Enemy',
Default = 0,
Min = 0,
Max = 10,
Rounding = 1,
Compact = false,
})
infsection:AddDropdown('infunit', {
Values = UnitDrops,
Default = 0,
Multi = false,
Text = 'Unit 1',
Callback = function(Value)
infUnitId1 = getUnitIdByName(Value)
end
})
infsection:AddDropdown('infunit2', {
Values = UnitDrops,
Default = 0,
Multi = false,
Text = 'Unit 2',
Callback = function(Value)
infUnitId2 = getUnitIdByName(Value)
end
})
infsection:AddDropdown('infunit3', {
Values = UnitDrops,
Default = 0,
Multi = false,
Text = 'Unit 3',
Callback = function(Value)
infUnitId3 = getUnitIdByName(Value)
end
})
infsection:AddButton('Refresh Units',function()
Options.infunit:SetValue(nil)
Options.infunit2:SetValue(nil)
Options.infunit3:SetValue(nil)
end)
infsection2:AddToggle('manualposi',{
Text = 'Manual Position',
Default = false,
Callback = toggleCallback
})
infsection2:AddLabel('Unit 1'):AddKeyPicker('KeyPicker', {
Default = Settings.KeyPicker,
SyncToggleState = false,
Mode = 'Toggle', -- Modes: Always, Toggle, Hold
Text = 'Change Position', -- Text to display in the keybind menu
NoUI = false,
Callback = function(Value)
createPart()
end,
})
infsection2:AddLabel('Unit 2'):AddKeyPicker('KeyPicker2', {
Default = Settings.KeyPicker2,
SyncToggleState = false,
Mode = 'Toggle', -- Modes: Always, Toggle, Hold
Text = 'Change Position', -- Text to display in the keybind menu
NoUI = false,
Callback = function(Value)
createPart2()
end,
})
infsection2:AddLabel('Unit 3'):AddKeyPicker('KeyPicker3', {
Default = Settings.KeyPicker3,
SyncToggleState = false,
Mode = 'Toggle', -- Modes: Always, Toggle, Hold
Text = 'Change Position', -- Text to display in the keybind menu
NoUI = false,
Callback = function(Value)
createPart3()
end,
})
Options.KeyPicker3:OnChanged(function() print(Options.KeyPicker3.Value)
Settings.KeyPicker3 = Options.KeyPicker3.Value saveSettings() end)
local AutoskillBox = Tabs.Main:AddRightTabbox()
slash = "\\"
local autoskilltab = AutoskillBox:AddTab('Auto Skill')
autoskilltab:AddDropdown('UnitSkills', {
Text = "Select Unit",
Values = UnitSkillDrops,
Default = 0,
Multi = true,
Callback = function(SelectedValues)
for index, value in ipairs(UnitSkillDrops) do
if SelectedValues[value] then
print(value)
end
end
end
})
autoskilltab:AddToggle('AutoSkill',{
Text = 'Auto Skill',
Default = false,
Callback = function(bool) end
})
local offsetRange = 2
local workspaceService = game:GetService("Workspace")
local replicatedStorage = game:GetService("ReplicatedStorage")
while true do
if game.PlaceId == 8304191830 then
wait()
else
if Toggles.AutoPlaceUnit2.Value then
wait(0.8) -- Adjust the delay to your desired value
pcall(function()
for i, v in pairs(lanes) do
if v:IsA("Part") and v.Name ~= "final" and v.Name
~= "spawn" then
local excludePlacement = false
for _, roadPart in pairs(roadParts) do
if roadPart:IsA("Part") and
v.CFrame:PointToObjectSpace(roadPart.Position).Magnitude < 1 then
excludePlacement = true
break
end
end
if not excludePlacement and #uuidUnits > 0 then
for y = 1, 6 do
local jStart, jEnd
if optionsPlaceValue == "Place Front"
then
jStart = y + 1
jEnd = y + 1
else
jStart = y + 5
jEnd = y + 5
end
replicatedStorage.endpoints.client_to_server.spawn_unit:InvokeServer(unpack(args))
end
end
end
end
end
end
if #uuidUnits == 0 then
Check()
end
end)
end
end
wait()
end
end
task.spawn(function()
Autoplace()
end)
--\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ LAG
SECTION \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\--
tabsettings:AddSlider('lager', {
Text = 'LAG VALUE',
Default = Settings.lager,
Min = 0,
Max = 10,
Rounding = 0,
Compact = true, -- If set to true, then it will hide the label
})
Options.lager:OnChanged(function(Value) Value = tonumber(Value)
Settings.lager = Value saveSettings() end)
tabsettings:AddSlider('lager2', {
Text = 'LAG LOOP',
Default = Settings.lager2,
Min = 0,
Max = 10,
Rounding = 0,
Compact = true, -- If set to true, then it will hide the label
})
Options.lager2:OnChanged(function(Value) Value = tonumber(Value)
Settings.lager2 = Value saveSettings() end)
tabsettings:AddSlider('Pinglimiter', {
Text = 'Ping Limit',
Default = Settings.Pinglimiter,
Min = 0,
Max = 10000,
Rounding = 0,
Compact = true,
})
Options.Pinglimiter:OnChanged(function(Value)
Value = tonumber(Value)
Settings.Pinglimiter = Value
saveSettings()
end)
tabsettings:AddToggle('Pingtoggle', {
Default = Settings.Pingtoggle,
Text = 'Ping limiter',
Callback = function(bool)
local pingLimit = tonumber(Options.Pinglimiter.Value)
local lagToggle = Toggles.lagtoggle
while Toggles.Pingtoggle.Value do
wait()
})
-- Define functions
local function calculateMaxValue(val, mainValue)
if type(val) ~= "number" then
return nil
end
local calculatedValue = (mainValue / (val + 2))
return calculatedValue
end
-- Run tasks
task.spawn(function()
while true do
autoToggle = Toggles.lagtoggle.Value
task.wait(0.1)
end
end)
task.spawn(function()
while true do
task.wait(0.1)
if autoToggle then
game:GetService("NetworkClient"):SetOutgoingKBPSLimit(MAX_VALUE)
bomb(Options.lager.Value, Options.lager2.Value, Options.lagstr.Value)
task.wait(Options.lagsec.Value)
end
end
end)
-- Builds our theme menu (with plenty of built in themes) on the left side
-- NOTE: you can also call ThemeManager:ApplyToGroupbox to add it to a specific
groupbox
ThemeManager:ApplyToTab(Tabs['UI Settings'])
Toggles.AutoLeaveWave:OnChanged(function(bool)
Settings.AutoLeaveWave = bool
saveSettings()
if bool == true then
leaveWave()
end
end)