local SharedRequire = getrenv().shared.require local ReplicatedStorage = game:GetService("ReplicatedStorage") local RunService = game:GetService("RunService") local RemoteFunctions = ReplicatedStorage.remoteFunctions local ClientStatManager = require(ReplicatedStorage.Modules.Client.Game.Managers.ClientStatManager) local Npcs = SharedRequire("NPCs") local Quests = SharedRequire("Quests") local Network = SharedRequire("Network") local Flags = { WantedBuffs = { }, AutoQuest = false, AutoStar = false, AutoTool = false, ShowSettings = false, } local WantedBuffOptions = { "Super Smoothie", "Stinger", "Red Extract", "Blue Extract", "Glue", "Oil", "Enzymes", "Tropical Drink", "Purple Potion" } local BuffTime = 0 local LastCall = {} local CallCooldown = 1.0 local QuestTickAccumulator = 0 local QuestTickInterval = 0.6 local Library = loadstring(game:HttpGet("https://raw.githubusercontent.com/theneutral0ne/wally-modified/refs/heads/main/wally-modified.lua"))() local WindowOptions = { persistwindow = true, itemspacing = 2, togglestyle = "checkmark", underlinecolor = "rainbow", } local MainWindow = Library:CreateWindow("1000x BSS", WindowOptions) local SettingsWindowApi = Library:SettingsWindows({ title = "1000x BSS - Settings", windowOptions = WindowOptions, scriptFolder = "1000xBSS", presets = { extension = ".json", clearOnLoad = true, separateByPlace = true, }, }) local function SetSettingsWindowVisible(State) if SettingsWindowApi and SettingsWindowApi.Window and SettingsWindowApi.Window.object then SettingsWindowApi.Window.object.Visible = (State == true) if State == true then SettingsWindowApi.Window:BringToFront() end end end MainWindow:Section("Automation") MainWindow:Toggle("Auto Tool", { location = Flags, flag = "AutoTool", default = Flags.AutoTool, }) MainWindow:Toggle("Auto Quest", { location = Flags, flag = "AutoQuest", default = Flags.AutoQuest, }) MainWindow:Toggle("Auto Star Saw", { location = Flags, flag = "AutoStar", default = Flags.AutoStar, }) MainWindow:Section("Buffs") MainWindow:MultiSelectList("Wanted Buffs", { location = Flags, flag = "WantedBuffs", list = WantedBuffOptions, default = Flags.WantedBuffs, search = true, sort = true, maxVisibleRows = 7, listHeight = 120, placeholder = "Select buffs to auto-use...", }, function(SelectedMap) Flags.WantedBuffs = SelectedMap end) MainWindow:Section("Misc") MainWindow:Toggle("Show Settings", { location = Flags, flag = "ShowSettings", default = Flags.ShowSettings, }) Library:OnFlagChanged("ShowSettings", function(NewValue) SetSettingsWindowVisible(NewValue == true) end, { location = Flags, }) SetSettingsWindowVisible(Flags.ShowSettings == true) local function CallRemote(RemoteName, Arg) local Ok = pcall(function() Network.ClientCall(RemoteName, Arg) end) if not Ok then pcall(function() Network:ClientCall(RemoteName, Arg) end) end end local function CallLimited(Key, Fn) local Now = os.clock() if LastCall[Key] and (Now - LastCall[Key] < CallCooldown) then return end LastCall[Key] = Now Fn() end local function HandleEvent(NpcName, EventDef, Phase) if not EventDef or not EventDef.Type then return end if EventDef.Type == "Single Quest" and EventDef.Quest then if Phase == "Start" then CallLimited("give:" .. EventDef.Quest, function() CallRemote("GiveQuest", EventDef.Quest) end) elseif Phase == "Finish" then CallLimited("finish:" .. EventDef.Quest, function() CallRemote("CompleteQuest", EventDef.Quest) end) end elseif EventDef.Type == "Repeat Quest" and EventDef.QuestPool then if Phase == "Start" then CallLimited("poolgive:" .. EventDef.QuestPool, function() CallRemote("GiveQuestFromPool", EventDef.QuestPool) end) elseif Phase == "Finish" then CallLimited("poolfinish:" .. EventDef.QuestPool, function() CallRemote("CompleteQuestFromPool", EventDef.QuestPool) end) end end end local NpcNames = {} do local Seen = {} if type(Npcs.GetAll) == "function" then local OkAll, AllNpcs = pcall(function() return Npcs.GetAll() end) if OkAll and type(AllNpcs) == "table" then for Name in pairs(AllNpcs) do if not Seen[Name] then Seen[Name] = true table.insert(NpcNames, Name) end end end end for _, NpcObject in workspace.NPCs:GetChildren() do if not Seen[NpcObject.Name] then Seen[NpcObject.Name] = true table.insert(NpcNames, NpcObject.Name) end end end RunService.RenderStepped:Connect(function(DeltaTime) BuffTime += DeltaTime local Stats = ClientStatManager.getStats() local Buffs = Stats and Stats.Buffs if Flags.AutoTool == true then RemoteFunctions.toolClick:InvokeServer() end if BuffTime < 1 then return end BuffTime = 0 for BuffName, IsSelected in Flags.WantedBuffs do if IsSelected == true and BuffName ~= "" then if not Buffs or not Buffs[BuffName] then RemoteFunctions.PlayerActivesCommand:InvokeServer({ Name = BuffName }) end end end if Flags.AutoStar == true then if not workspace.Particles:FindFirstChild("Star") then for Attempt = 1, 3 do RemoteFunctions.PlayerActivesCommand:InvokeServer({Name = "Stinger"}) end end end end) RunService.Heartbeat:Connect(function(DeltaTime) if Flags.AutoQuest ~= true then QuestTickAccumulator = 0 return end QuestTickAccumulator += DeltaTime if QuestTickAccumulator < QuestTickInterval then return end QuestTickAccumulator = 0 local Data = ClientStatManager.getStats() if not Data or not Data.Quests then return end for _, NpcName in ipairs(NpcNames) do if type(Npcs.ResolveOverrideEvent) == "function" then local OkOverride, OverrideEvent, OverridePhase = pcall(function() return Npcs.ResolveOverrideEvent(NpcName) end) if OkOverride and OverrideEvent then HandleEvent(NpcName, OverrideEvent, OverridePhase) end end if type(Npcs.ResolveEventPhase) == "function" then local OkPhase, EventIndex, Phase = pcall(function() return Npcs.ResolveEventPhase(NpcName) end) if OkPhase and EventIndex and Phase then local OkDefinition, NpcDefinition = pcall(function() return Npcs.Get(NpcName) end) if OkDefinition and NpcDefinition then local EventDefinition = NpcDefinition.Events and NpcDefinition.Events[EventIndex] HandleEvent(NpcName, EventDefinition, Phase) end end end end for _, ActiveQuest in ipairs(Data.Quests.Active or {}) do local QuestName = ActiveQuest.Name if QuestName then local OkCanComplete, CanComplete = pcall(function() return Quests:CanComplete(QuestName, Data) end) if OkCanComplete and CanComplete then CallLimited("directcomplete:" .. QuestName, function() CallRemote("CompleteQuest", QuestName) end) end end end end)