state("Denshattack_Proto-Win64-Shipping") { } startup { Assembly.Load(File.ReadAllBytes("Components/uhara10")).CreateInstance("Main"); vars.Uhara.AlertLoadless(); } init { vars.Utils = vars.Uhara.CreateTool("UnrealEngine", "Utils"); vars.Resolver.Watch("GSync", vars.Utils.GSync); vars.Resolver.Watch("TrainCharacterPtr", vars.Utils.GEngine, 0x1248, 0x38, 0x0, 0x30, 0x2f8); vars.Resolver.Watch("ReachedEnd", vars.Utils.GEngine, 0x1248, 0x38, 0x0, 0x30, 0x2f8, 0x2820); vars.Resolver.Watch("WorldFName", vars.Utils.GWorld, 0x18); current.World = ""; } update { vars.Uhara.Update(); var world = vars.Utils.FNameToString(current.WorldFName); if (!string.IsNullOrEmpty(world) && world != "None") current.World = world; } isLoading { return current.GSync || current.WorldFName == 0; } start { return old.World == "MainLevel" && current.World != old.World; } split { return current.TrainCharacterPtr != 0 && old.ReachedEnd == false && current.ReachedEnd == true; }