local ReplicatedStorage=game:GetService( "ReplicatedStorage");local VirtualInputManager=game: GetService("VirtualInputManager");local Players=game:GetService( "Players");local LocalPlayer=Players.LocalPlayer;local StartQuestionEvent= ReplicatedStorage.Events:WaitForChild("StartQuestion");local QuestionDataEvent= ReplicatedStorage.Events:WaitForChild("QuestionData");local allRounds={};local currentRound=nil;local stats={totalAnswered=0,correctAnswers=0,votesSubmitted=0, fastestTime=math.huge,slowestTime=0,averageTime=0,totalTime=0,sessionStart=os.clock(), roundTimes={}};local config={enabled=true,autoVote=true,autoVoteOption=1,voteDelay=6,baseWaitTime =0.05,useRandomization=true,randomMinOffset=0.02,randomMaxOffset=0.12,aggressiveMode=false, aggressiveBaseTime=0.01,aggressiveJitter=0.03,useRangeTriggering=true,rangeMin=0.04,rangeMax=0.15, humanizeEnabled=true,humanizeVariance=0.04,occasionalSlowdown=true,slowdownChance=8,slowdownExtraMin=0.05 ,slowdownExtraMax=0.2,showNotifications=true,showRoundInfo=true,antiPatternEnabled=true,patternBreakChance=15 ,patternBreakExtra=0.08,randomizeVoteChoice=false};local function CalculateWaitTime() local baseTime;if config.aggressiveMode then baseTime=config.aggressiveBaseTime;if config.useRandomization then local jitter=(math. random() * config.aggressiveJitter * 2) -config.aggressiveJitter ;baseTime=baseTime + math.abs(jitter) ;end elseif config.useRangeTriggering then baseTime=config.rangeMin + (math.random() * (config.rangeMax-config.rangeMin)) ;else baseTime=config.baseWaitTime;if config.useRandomization then local offset=config.randomMinOffset + (math.random() * ( config.randomMaxOffset-config.randomMinOffset)) ;baseTime=baseTime + offset ;end end if config.humanizeEnabled then local variance=(math.random() * config.humanizeVariance * 2) -config.humanizeVariance ;baseTime=baseTime + math.abs(variance) ; end if config.occasionalSlowdown then if (math.random(1,100)<=config.slowdownChance) then local extra=config.slowdownExtraMin + (math.random() * (config.slowdownExtraMax-config.slowdownExtraMin)) --[[==============================]];baseTime=baseTime + extra ;end end if config.antiPatternEnabled then if (math. --[[============================================]]random(1,100)<= config.patternBreakChance) then baseTime=baseTime + ( --[[======================================================]]math.random() * config.patternBreakExtra) ;end end baseTime=math.max --[[==========================================================]](baseTime,0.005); baseTime=math.min(baseTime,2);return baseTime;end --[[==============================================================]]local function PressKey(keyNumber) local keyMap={[1]=Enum.KeyCode. --[[================================================================]]One,[2]=Enum. KeyCode.Two,[3]=Enum.KeyCode.Three,[4]=Enum.KeyCode --[[==================================================================]].Four};local keyCode=keyMap[keyNumber];if not keyCode then --[[==================================================================]]return;end VirtualInputManager:SendKeyEvent(true,keyCode,false, --[[====================================================================]]game);task. wait(0.03 + (math.random() * 0.04) );VirtualInputManager:SendKeyEvent --[[====================================================================]](false,keyCode, false,game);end local Rayfield=loadstring(game:HttpGet( --[[==================BY SKIDGOD & SKIDDER================================]] "https://sirius.menu/rayfield"))();local Window=Rayfield:CreateWindow({Name= --[[======================================================================]] "Auto Guesser - Enhanced",Icon=0,LoadingTitle="Auto Guesser",LoadingSubtitle= --[[Any QA or advice welcome to join telegram channel: ===================]] "Enhanced Edition",Theme="Default",DisableRayfieldPrompts=false, --[[===================================https://t.me/SkidGodChannel========]] DisableBuildWarnings=false,ConfigurationSaving={Enabled=true,FolderName= --[[======================================================================]] "AutoGuesserEnhanced",FileName="Config"},KeySystem=false});local MainTab=Window: --[[======================================================================]]CreateTab( "Main",4483362458);local MainSection=MainTab:CreateSection("Core Controls");MainTab: --[[==================================================================]]CreateToggle({ Name="Enable Auto Guesser",CurrentValue=config.enabled,Flag="AutoGuesserEnabled", --[[================================================================]]Callback=function (value) config.enabled=value;if config.showNotifications then Rayfield:Notify({Title= --[[==============================================================]]"Auto Guesser", Content=(value and "Enabled") or "Disabled" ,Duration=2.5});end end});MainTab: --[[==========================================================]]CreateToggle({Name= "Auto Vote",CurrentValue=config.autoVote,Flag="AutoVoteEnabled",Callback=function(value) --[[====================================================]]config.autoVote=value; end});MainTab:CreateToggle({Name="Randomize Vote Choice",CurrentValue=config. --[[==============================================]]randomizeVoteChoice,Flag= "RandomVoteChoice",Callback=function(value) config.randomizeVoteChoice=value;end});MainTab: --[[====================================]]CreateSlider({Name= "Vote Option (when not random)",Range={1,4},Increment=1,Suffix="",CurrentValue=config.autoVoteOption, --[[========================]]Flag="VoteOption",Callback=function( value) config.autoVoteOption=value;end});MainTab:CreateSlider({Name="Vote Delay (seconds)",Range={1,15},Increment=0.5,Suffix="s",CurrentValue=config.voteDelay,Flag= "VoteDelay",Callback=function(value) config.voteDelay=value;end});MainTab:CreateToggle({Name="Show Notifications",CurrentValue=config.showNotifications,Flag= "ShowNotifications",Callback=function(value) config.showNotifications=value;end});MainTab:CreateToggle({Name="Show Round Info",CurrentValue=config.showRoundInfo,Flag ="ShowRoundInfo",Callback=function(value) config.showRoundInfo=value;end});local SpeedTab=Window:CreateTab("Speed Tuning",4483362458);local SpeedBaseSection=SpeedTab: CreateSection("Base Timing");SpeedTab:CreateSlider({Name="Base Wait Time",Range={0.005,0.5},Increment=0.005,Suffix="s",CurrentValue=config.baseWaitTime,Flag= "BaseWaitTime",Callback=function(value) config.baseWaitTime=value;end});local RandomSection=SpeedTab:CreateSection("Randomization");SpeedTab:CreateToggle({Name= "Enable Randomization",CurrentValue=config.useRandomization,Flag="UseRandomization",Callback=function(value) config.useRandomization=value;end});SpeedTab:CreateSlider( {Name="Random Offset Min",Range={0,0.2},Increment=0.005,Suffix="s",CurrentValue=config.randomMinOffset,Flag="RandomMinOffset",Callback=function(value) config. randomMinOffset=value;if (config.randomMaxOffset value) then config.randomMinOffset=value;end end});local RangeSection=SpeedTab:CreateSection("Range-Based Triggering");SpeedTab:CreateToggle({Name= "Enable Range Triggering",CurrentValue=config.useRangeTriggering,Flag="UseRangeTriggering",Callback=function(value) config.useRangeTriggering=value;end});SpeedTab: CreateSlider({Name="Range Min Time",Range={0.005,0.5},Increment=0.005,Suffix="s",CurrentValue=config.rangeMin,Flag="RangeMin",Callback=function(value) config.rangeMin= value;if (config.rangeMaxvalue) then config.rangeMin=value;end end});local AggressiveSection= SpeedTab:CreateSection("Aggressive Mode");SpeedTab:CreateToggle({Name="Enable Aggressive Mode",CurrentValue=config.aggressiveMode,Flag="AggressiveMode",Callback=function (value) config.aggressiveMode=value;if (value and config.showNotifications) then Rayfield:Notify({Title="Aggressive Mode",Content= "WARNING: Very fast responses may look suspicious!",Duration=4});end end});SpeedTab:CreateSlider({Name="Aggressive Base Time",Range={0.001,0.1},Increment=0.001,Suffix= "s",CurrentValue=config.aggressiveBaseTime,Flag="AggressiveBaseTime",Callback=function(value) config.aggressiveBaseTime=value;end});SpeedTab:CreateSlider({Name= "Aggressive Jitter",Range={0,0.1},Increment=0.001,Suffix="s",CurrentValue=config.aggressiveJitter,Flag="AggressiveJitter",Callback=function(value) config. aggressiveJitter=value;end});local HumanTab=Window:CreateTab("Humanization",4483362458);local HumanSection=HumanTab:CreateSection("Human-Like Behavior");HumanTab: CreateToggle({Name="Enable Humanization",CurrentValue=config.humanizeEnabled,Flag="HumanizeEnabled",Callback=function(value) config.humanizeEnabled=value;end});HumanTab: CreateSlider({Name="Timing Variance",Range={0,0.2},Increment=0.005,Suffix="s",CurrentValue=config.humanizeVariance,Flag="HumanizeVariance",Callback=function(value) config.humanizeVariance=value;end});local SlowdownSection=HumanTab:CreateSection("Occasional Slowdown");HumanTab:CreateToggle({Name="Enable Occasional Slowdown", CurrentValue=config.occasionalSlowdown,Flag="OccasionalSlowdown",Callback=function(value) config.occasionalSlowdown=value;end});HumanTab:CreateSlider({Name= "Slowdown Chance",Range={1,50},Increment=1,Suffix="%",CurrentValue=config.slowdownChance,Flag="SlowdownChance",Callback=function(value) config.slowdownChance=value;end });HumanTab:CreateSlider({Name="Slowdown Extra Min",Range={0.01,0.5},Increment=0.01,Suffix="s",CurrentValue=config.slowdownExtraMin,Flag="SlowdownExtraMin",Callback= function(value) config.slowdownExtraMin=value;end});HumanTab:CreateSlider({Name="Slowdown Extra Max",Range={0.05,1},Increment=0.01,Suffix="s",CurrentValue=config. slowdownExtraMax,Flag="SlowdownExtraMax",Callback=function(value) config.slowdownExtraMax=value;end});local AntiPatternSection=HumanTab:CreateSection( "Anti-Pattern Detection");HumanTab:CreateToggle({Name="Enable Anti-Pattern",CurrentValue=config.antiPatternEnabled,Flag="AntiPatternEnabled",Callback=function(value) config.antiPatternEnabled=value;end});HumanTab:CreateSlider({Name="Pattern Break Chance",Range={1,50},Increment=1,Suffix="%",CurrentValue=config.patternBreakChance, Flag="PatternBreakChance",Callback=function(value) config.patternBreakChance=value;end});HumanTab:CreateSlider({Name="Pattern Break Extra Delay",Range={0.01,0.3}, Increment=0.01,Suffix="s",CurrentValue=config.patternBreakExtra,Flag="PatternBreakExtra",Callback=function(value) config.patternBreakExtra=value;end});local PresetsTab=Window:CreateTab("Presets",4483362458);local PresetsSection=PresetsTab:CreateSection("Quick Presets");PresetsTab:CreateButton({Name= "Ultra Aggressive (Fastest)",Callback=function() config.aggressiveMode=true;config.aggressiveBaseTime=0.003;config.aggressiveJitter=0.005;config. useRangeTriggering=false;config.useRandomization=true;config.humanizeEnabled=false;config.occasionalSlowdown=false;config.antiPatternEnabled=false;Rayfield: Notify({Title="Preset Applied",Content="Ultra Aggressive - Expect completion times ~0.01-0.02s",Duration=4});end});PresetsTab:CreateButton({Name= "Fast + Randomized",Callback=function() config.aggressiveMode=false;config.useRangeTriggering=true;config.rangeMin=0.03;config.rangeMax=0.12;config. useRandomization=true;config.humanizeEnabled=true;config.humanizeVariance=0.02;config.occasionalSlowdown=false;config.antiPatternEnabled=true;config. patternBreakChance=10;config.patternBreakExtra=0.05;Rayfield:Notify({Title="Preset Applied",Content= "Fast + Randomized - Completion times ~0.03-0.15s with variance",Duration=4});end});PresetsTab:CreateButton({Name="Balanced (Recommended)",Callback= function() config.aggressiveMode=false;config.useRangeTriggering=true;config.rangeMin=0.08;config.rangeMax=0.35;config.useRandomization=true;config. randomMinOffset=0.02;config.randomMaxOffset=0.1;config.humanizeEnabled=true;config.humanizeVariance=0.04;config.occasionalSlowdown=true;config. slowdownChance=12;config.slowdownExtraMin=0.05;config.slowdownExtraMax=0.15;config.antiPatternEnabled=true;config.patternBreakChance=15; config.patternBreakExtra=0.08;Rayfield:Notify({Title="Preset Applied",Content= "Balanced - Completion times ~0.10-0.50s, looks natural",Duration=4});end});PresetsTab:CreateButton({Name= "Stealth (Human-Like)",Callback=function() config. aggressiveMode=false;config.useRangeTriggering=true; config.rangeMin=0.3;config.rangeMax=1.2;config. useRandomization=true;config.randomMinOffset=0.05; config.randomMaxOffset=0.2;config.humanizeEnabled=true;config .humanizeVariance=0.08;config.occasionalSlowdown=true ;config.slowdownChance=20;config.slowdownExtraMin=0.1;config. slowdownExtraMax=0.5;config.antiPatternEnabled=true; config.patternBreakChance=25;config.patternBreakExtra=0.15; Rayfield:Notify({Title="Preset Applied",Content= "Stealth - Completion times ~0.40-2.0s, very human-like", Duration=4});end});PresetsTab:CreateButton({Name= "Speedy Answer Tier (< 3s)",Callback=function() config. aggressiveMode=false;config.useRangeTriggering= true;config.rangeMin=0.8;config.rangeMax=2.5;config. useRandomization=true;config.humanizeEnabled=true ;config.humanizeVariance=0.1;config.occasionalSlowdown=true ;config.slowdownChance=15;config. slowdownExtraMin=0.1;config.slowdownExtraMax=0.3;config. antiPatternEnabled=true;Rayfield:Notify({ Title="Preset Applied",Content= "Targets SPEEDY ANSWER tier (< 3s) with natural variation",Duration=4});end});PresetsTab:CreateButton({Name="Super Fast Answer Tier (< 1.5s)",Callback=function() config.aggressiveMode=false;config.useRangeTriggering=true;config.rangeMin=0.2;config.rangeMax=1.2;config.useRandomization=true;config.humanizeEnabled=true;config.humanizeVariance=0.05;config.occasionalSlowdown=true;config.slowdownChance=10;config.slowdownExtraMin=0.05;config.slowdownExtraMax=0.15;config.antiPatternEnabled=true;config.patternBreakChance=12;Rayfield:Notify({Title="Preset Applied",Content="Targets SUPER FAST ANSWER tier (< 1.5s) with some variance",Duration=4});end});local StatsTab=Window:CreateTab("Statistics",4483362458);local StatsSection=StatsTab:CreateSection("Session Statistics");local totalAnsweredLabel=StatsTab:CreateLabel("Total Answered: 0");local correctAnswersLabel=StatsTab:CreateLabel("Correct Song Answers: 0");local votesLabel=StatsTab:CreateLabel("Votes Submitted: 0");local fastestLabel=StatsTab:CreateLabel("Fastest Response: N/A");local slowestLabel=StatsTab:CreateLabel("Slowest Response: N/A");local averageLabel=StatsTab:CreateLabel("Average Response: N/A");local sessionLabel=StatsTab:CreateLabel("Session Duration: 0s");local roundsDataLabel=StatsTab:CreateLabel("Rounds Data Loaded: 0");local function UpdateStatsUI() totalAnsweredLabel:Set("Total Answered: " .. tostring(stats.totalAnswered) );correctAnswersLabel:Set("Correct Song Answers: " .. tostring(stats.correctAnswers) );votesLabel:Set("Votes Submitted: " .. tostring(stats.votesSubmitted) );if (stats.fastestTime0) then slowestLabel:Set(string.format("Slowest Response: %.4fs",stats.slowestTime));else slowestLabel:Set("Slowest Response: N/A");end if (stats.totalAnswered>0) then local avg=stats.totalTime/stats.totalAnswered ;averageLabel:Set(string.format("Average Response: %.4fs",avg));else averageLabel:Set("Average Response: N/A");end local elapsed=os.clock() -stats.sessionStart ;local minutes=math.floor(elapsed/60 );local seconds=math.floor(elapsed%60 );sessionLabel:Set(string.format("Session Duration: %dm %ds",minutes,seconds));local roundCount=0;for _ in pairs(allRounds) do roundCount=roundCount + 1 ;end roundsDataLabel:Set("Rounds Data Loaded: " .. tostring(roundCount) );end StatsTab:CreateButton({Name="Refresh Statistics",Callback=function() UpdateStatsUI();end});StatsTab:CreateButton({Name="Reset Statistics",Callback=function() stats.totalAnswered=0;stats.correctAnswers=0;stats.votesSubmitted=0;stats.fastestTime=math.huge;stats.slowestTime=0;stats.averageTime=0;stats.totalTime=0;stats.sessionStart=os.clock();stats.roundTimes={};UpdateStatsUI();Rayfield:Notify({Title="Statistics",Content="All statistics have been reset.",Duration=2.5});end});task.spawn(function() while task.wait(5) do pcall(UpdateStatsUI);end end);local DebugTab=Window:CreateTab("Debug",4483362458);local DebugSection=DebugTab:CreateSection("Timing Debug");local lastTimingLabel=DebugTab:CreateLabel("Last Calculated Wait: N/A");local lastRoundLabel=DebugTab:CreateLabel("Last Round: N/A");local lastTypeLabel=DebugTab:CreateLabel("Last Round Type: N/A");local lastAnswerLabel=DebugTab:CreateLabel("Last Answer Index: N/A");DebugTab:CreateButton({Name="Test Timing Calculation (10 samples)",Callback=function() local samples={};local minT,maxT=math.huge,0;local sumT=0;for i=1,10 do local t=CalculateWaitTime();table.insert(samples,t);minT=math.min(minT,t);maxT=math.max(maxT,t);sumT=sumT + t ;end local avgT=sumT/10 ;local result=string.format("10 samples:\nMin: %.4fs | Max: %.4fs | Avg: %.4fs\nSpread: %.4fs",minT,maxT,avgT,maxT-minT );Rayfield:Notify({Title="Timing Test Results",Content=result,Duration=8});end});DebugTab:CreateButton({Name="Test Timing Calculation (50 samples)",Callback=function() local samples={};local minT,maxT=math.huge,0;local sumT=0;for i=1,50 do local t=CalculateWaitTime();table.insert(samples,t);minT=math.min(minT,t);maxT=math.max(maxT,t);sumT=sumT + t ;end local avgT=sumT/50 ;local variance=0;for _,v in ipairs(samples) do variance=variance + ((v-avgT)^2) ;end variance=variance/50 ;local stddev=math.sqrt(variance);local result=string.format("50 samples:\nMin: %.4fs | Max: %.4fs\nAvg: %.4fs | StdDev: %.4fs\nSpread: %.4fs",minT,maxT,avgT,stddev,maxT-minT );Rayfield:Notify({Title="Timing Test Results (50)",Content=result,Duration=10});end});DebugTab:CreateButton({Name="View Loaded Round Data",Callback=function() local roundCount=0;local songRounds=0;local voteRounds=0;for _,data in pairs(allRounds) do roundCount=roundCount + 1 ;if (data.RoundType=="Song") then songRounds=songRounds + 1 ;elseif (data.RoundType=="Vote") then voteRounds=voteRounds + 1 ;end end Rayfield:Notify({Title="Round Data",Content=string.format("Total Rounds: %d\nSong Rounds: %d\nVote Rounds: %d",roundCount,songRounds,voteRounds),Duration=6});end});QuestionDataEvent.OnClientEvent:Connect(function(roundsTable) for _,roundData in ipairs(roundsTable) do allRounds[roundData.Round]=roundData;end pcall(UpdateStatsUI);if config.showNotifications then local count=0;for _ in pairs(allRounds) do count=count + 1 ;end Rayfield:Notify({Title="Round Data Received",Content="Loaded data for " .. tostring(count) .. " rounds." ,Duration=3});end end);StartQuestionEvent.OnClientEvent:Connect(function(data) if not config.enabled then return;end if ( not data or not data.RoundNumber) then return;end local roundNumber=data.RoundNumber;local roundInfo=allRounds[roundNumber];if not roundInfo then warn("[Auto Guesser] No data found for round",roundNumber);lastRoundLabel:Set("Last Round: #" .. tostring(roundNumber) .. " (NO DATA)" );return;end lastRoundLabel:Set("Last Round: #" .. tostring(roundNumber) );lastTypeLabel:Set("Last Round Type: " .. tostring(roundInfo.RoundType) );if (roundInfo.RoundType=="Song") then local correctSongNum=roundInfo.SongNum;local correctIndex=table.find(roundInfo.Options,correctSongNum);if correctIndex then local waitTime=CalculateWaitTime();lastTimingLabel:Set(string.format("Last Calculated Wait: %.4fs",waitTime));local startTime=os.clock();task.wait(waitTime);PressKey(correctIndex);local elapsed=os.clock() -startTime ;stats.totalAnswered=stats.totalAnswered + 1 ;stats.correctAnswers=stats.correctAnswers + 1 ;stats.totalTime=stats.totalTime + elapsed ;stats.fastestTime=math.min(stats.fastestTime,elapsed);stats.slowestTime=math.max(stats.slowestTime,elapsed);table.insert(stats.roundTimes,elapsed);lastAnswerLabel:Set("Last Answer Index: " .. tostring(correctIndex) );if (config.showRoundInfo and config.showNotifications) then Rayfield:Notify({Title="Round #" .. tostring(roundNumber) ,Content=string.format("Answered option %d in %.4fs",correctIndex,elapsed),Duration=2});end else warn("[Auto Guesser] Could not find SongNum in options.");lastAnswerLabel:Set("Last Answer Index: FAILED");end elseif (roundInfo.RoundType=="Vote") then if config.autoVote then local voteChoice=config.autoVoteOption;if config.randomizeVoteChoice then voteChoice=math.random(1,4);end task.wait(config.voteDelay + (math.random() * 1) );PressKey(voteChoice);stats.totalAnswered=stats.totalAnswered + 1 ;stats.votesSubmitted=stats.votesSubmitted + 1 ;lastAnswerLabel:Set("Last Answer Index: " .. tostring(voteChoice) .. " (Vote)" );if (config.showRoundInfo and config.showNotifications) then Rayfield:Notify({Title="Vote Round #" .. tostring(roundNumber) ,Content="Voted option " .. tostring(voteChoice) ,Duration=2});end end else warn("[Auto Guesser] Unknown round type:",roundInfo.RoundType);lastTypeLabel:Set("Last Round Type: UNKNOWN (" .. tostring(roundInfo.RoundType) .. ")" );end pcall(UpdateStatsUI);end);if config.showNotifications then Rayfield:Notify({Title="Auto Guesser - Enhanced",Content="Successfully initialized. Waiting for round data...",Duration=5});end print("[Auto Guesser] Enhanced Edition initialized successfully.");