// IL2CPP Migration & Rewrite: DarkSlayer [1.0.6] - 2026-10-18 // Game version: Early Access v0.1.4.24 state("TheKarters2") {} init { refreshRate = 60; vars.accumulatedTime = 0D; vars.justFinished = false; // Local state cache vars.sampleReady = false; // Find the race-timer write. ?? skips the address that changes between builds. var module = game.ModulesWow64Safe().First(m => m.ModuleName == "GameAssembly.dll"); var scanner = new SignatureScanner(game, module.BaseAddress, module.ModuleMemorySize); var target = new SigScanTarget(3, "48 8B 05 ?? ?? ?? ?? 48 8B 80 B8 00 00 00 F3 0F 11 70 2C"); var roots = scanner.ScanAll(target).Select(p => p + 4 + BitConverter.ToInt32(memory.ReadBytes(p, 4), 0)).Distinct().ToArray(); if (roots.Length != 1) throw new Exception("Could not uniquely locate the game's race timer."); // Original pointer chain, with the module address found automatically. vars.timer = new DeepPointer(roots[0], 0xB8, 0x2C); vars.active = new DeepPointer(roots[0], 0xB8, 0x29); print("Race timer located at " + roots[0].ToString("X")); } update { float elapsed = 0; byte active = 0; if (!vars.timer.Deref(game, out elapsed) || !vars.active.Deref(game, out active) || float.IsNaN(elapsed) || float.IsInfinity(elapsed) || elapsed < 0 || active > 1) { vars.sampleReady = false; return false; } current.raceTimer = elapsed; current.raceActive = active; if (!vars.sampleReady) { vars.sampleReady = true; return false; } // Keep the original finish and mid-race restart rules. vars.justFinished = old.raceActive == 1 && current.raceActive == 0 && current.raceTimer > 0.0; // Handle time accumulation based on race state transitions if (vars.justFinished) { // Crossed the finish line: append the final successful race time to our master total vars.accumulatedTime += current.raceTimer; } else if (old.raceActive == 1 && current.raceTimer < old.raceTimer) { // Mid-race restart detected: you were actively racing, but the timer suddenly dropped. // Append the aborted attempt's final frame time to the total so it doesn't vanish. vars.accumulatedTime += old.raceTimer; } } start { if (current.raceTimer > 0.0 && old.raceTimer == 0.0) { vars.accumulatedTime = 0D; return true; } } split { return vars.justFinished; } gameTime { // Dynamically render the UI clock based on active racing state if (current.raceActive == 1) { return TimeSpan.FromSeconds(vars.accumulatedTime + current.raceTimer); } return TimeSpan.FromSeconds(vars.accumulatedTime); } isLoading { // Delegate all timing pauses to the gameTime block return true; }