--!nolint --I2C:IGNORE -- ../main.lua --- luajit local string_find = string.find local string_char = string.char local print = print -- getting from getfenv() local warn = warn local error = error local assert = assert local pcall = pcall local ipairs = ipairs local game = game local workspace = workspace local loadstring = loadstring local debug_traceback = debug.traceback --- luajit local cloneref = cloneref or clonereference local getidentity = getidentity or getthreadidentity or get_thread_identity or getthreadcontext or get_thread_context local setidentity = setidentity or setthreadidentity or set_thread_identity or setthreadcontext or set_thread_context local getconnections = getconnections or get_signal_cons local getcustomasset = getcustomasset or getsynasset local newcclosure = newcclosure or makecclosure or make_cclosure or new_c_closure or make_c_closure local isfile = isfile or is_file local readfile = readfile or read_file local writefile = writefile or write_file local delfile = delfile or deletefile or del_file local makefolder = makefolder or make_folder or createfolder local isfolder = isfolder or is_folder --local delfolder = delfolder or deletefolder or del_folder local gethui = gethui or get_hui or gethiddengui or get_hidden_gui or --[[bunni replacement]] get_hidden_ui if not IB_OBFUSCATED then IB_NO_VIRTUALIZE = function(f) return f end IB_CRASH = function() end end assert(cloneref, 'your exploit is BULLSHIT') assert(getidentity, 'your exploit is missing getidentity()') assert(setidentity, 'your exploit is missing setidentity()') assert(isfile, 'your exploit is missing isfile()') assert(readfile, 'your exploit is missing readfile()') assert(writefile, 'your exploit is missing writefile()') assert(delfile, 'your exploit is missing delfile()') assert(makefolder, 'your exploit is missing makefolder()') assert(isfolder, 'your exploit is missing isfolder()') assert(getconnections, 'your exploit is missing getconnections()') assert(getcustomasset, 'your exploit is missing getcustomasset()') assert(gethui, 'your exploit is missing gethui()') assert(getrenv, 'your exploit is missing getrenv()') assert(newcclosure, 'your exploit is missing newcclosure()') do local function ib1overall() return debug_traceback() end local c = newcclosure(ib1overall) local trace = c() if string_find(trace, 'ib1overall') then warn('oops your executor is detectable') end end --- local runServ = cloneref(game:GetService('RunService')) local http = cloneref(game:GetService('HttpService')) local player = cloneref(game:GetService('Players')).LocalPlayer local old = getidentity() setidentity(2) local GameStationController = getrenv().require(player.PlayerScripts.Client.Controllers.GameStationController) setidentity(old) function coolrequest(url) -- i mean using request/httprequest/http.request is way easier than game;httpget -- but... -- actually wait! i can do both of them local downloaded = nil local zov = { { name = 'game:HttpGet', func = function(u) return game:HttpGet(u) end }, { name = 'request', func = function(u) local req = request or http_request or http.request if req then return req({Url = u, Method = 'GET'}).Body end warn('im not even gonna do anything atp lol ur shit sucks ASS') warn('if it doesnt have game:HttpGet() buy another executor 🙏') end } } for _, v in ipairs(zov) do local s, src = pcall(v.func, url) if s then return src else warn(`{v.name} fail: {src}`) end end return nil end local config = { dontturnthison = false, -- IB_ENCSTR when, breen? :clueless: manifestURL = string_char(104, 116, 116, 112, 115, 58, 47, 47, 97, 110, 99, 101, 115, 116, 114, 121, 99, 104, 97, 110, 103, 101, 100, 46, 102, 117, 110, 47, 109, 117, 115, 105, 99, 109, 97, 110, 105, 102, 101, 115, 116, 46, 106, 115, 111, 110), musicURL = string_char(104, 116, 116, 112, 115, 58, 47, 47, 97, 110, 99, 101, 115, 116, 114, 121, 99, 104, 97, 110, 103, 101, 100, 46, 102, 117, 110, 47, 109, 117, 115, 105, 99, 47), libURL = string_char(104, 116, 116, 112, 115, 58, 47, 47, 97, 110, 99, 101, 115, 116, 114, 121, 99, 104, 97, 110, 103, 101, 100, 46, 102, 117, 110, 47, 115, 121, 100, 101, 117, 105, 108, 105, 98, 46, 108, 117, 97), --[[ manifestURL: https://ancestrychanged.fun/musicmanifest.json musicURL: https://ancestrychanged.fun/music/ libURL: https://ancestrychanged.fun/sydeuilib.lua ]] libFile = 'syde.lua', musicFolder = 'charliekirky', --- enabled = true, offset = 0, musicOn = false, wahtSong = 1, } local o local syde local music = loadstring(coolrequest("https://ancestrychanged.fun/musiclib.lua"))()(config, http, gethui, getcustomasset, makefolder, isfolder, isfile, writefile, coolrequest, function() return syde end) o = GameStationController.PlayerTurnEvent:Connect(function(args) if not config.enabled then return end local turn = args[1] local target = args[2] if turn == player then local c c = runServ.PreRender:Connect(IB_NO_VIRTUALIZE(function() -- TIL i shouldn't use renderstepped for timing if not config.enabled then c:Disconnect() return end local current = config.offset / 1000 -- in seconds local clickTime = target + current if workspace:GetServerTimeNow() >= clickTime then c:Disconnect() local hitbox = GameStationController.UI:FindFirstChild('Hitbox') if firesignal then firesignal(hitbox.MouseButton1Down) else for _, v in ipairs(getconnections(hitbox.MouseButton1Down)) do -- 😩 v:Fire() end end end end)) end end) local function loadlib() if config.dontturnthison and isfile(config.libFile) then delfile(config.libFile) end if isfile(config.libFile) then syde = loadstring(readfile(config.libFile))() else local source = coolrequest(config.libURL) if source then writefile(config.libFile, source) syde = loadstring(source)() else error('your exploit is BULLSHIT') end end end local function Cleanup() config.enabled = false if o then o:Disconnect() o = nil end if music.sound then music.sound:Stop() music.sound:Destroy() music.sound = nil end end -- ui loadlib() syde.OnUnload = Cleanup local MainWindow = syde:Init({ Title = 'Stop Timer', SubText = 'Perfect timing' --?????????????????????????? }) local MainTab = MainWindow:InitTab({ Title = 'Main' }) MainTab:Section('Automation') MainTab:Toggle({ Title = 'Enable auto clicker', Description = 'Automatically clicks the stop button at the perfect time.', Value = true, CallBack = function(v) -- Who the fuck names callback 'CallBack' nigga 😭😭😭😭 -- Syde devs challenge: try keeping code clean 💔 -- Im never using this fuckass lib again wtf 😭😭😭😭😭 config.enabled = v end }) MainTab:CreateSlider({ Title = 'Timing offset (ms)', Description = 'Adjust click timing. Negative is earlier, positive is later.', Sliders = { { Title = 'Offset', Range = {-100, 100}, Increment = 5, StarterValue = 0, Flag = 'TimingOffset', CallBack = function(v) config.offset = v end } } }) MainTab:Section('Music Player') MainTab:Toggle({ Title = 'Play music', Description = 'goonmaster67', Value = false, CallBack = function(v) music.Toggle(v) end }) MainTab:Button({ Title = 'Next song', Description = 'I developed myself a humiliation kink', CallBack = function() music.Next() end }) MainTab:CreateSlider({ Title = 'Volume', Description = 'Having a job is such a choooooooooooore~~~', Sliders = { { Title = 'Vol', Range = {0, 100}, Increment = 1, StarterValue = 50, CallBack = function(v) if music.sound then music.sound.Volume = v / 100 end end } } }) MainTab:Section('Credits') MainTab:Label('Script made by Dave: ancestrychanged.fun/socials', 'Center') MainTab:Label('UI Lib integration by Claude AI and Gemini AI', 'Center') MainTab:Label('Claude lowk a bitch for refusing to help w/ this at first', 'Center') MainTab:Label('Gemini my GOAT for finishing Claude\'s bullshit', 'Center')