state("P1348-Win64-Shipping"){} startup { Assembly.Load(File.ReadAllBytes("Components/uhara10")).CreateInstance("Main"); } init { vars.Utils = vars.Uhara.CreateTool("UnrealEngine", "Utils"); vars.Events = vars.Uhara.CreateTool("UnrealEngine", "Events"); vars.Resolver.Watch("WorldFName", vars.Utils.GWorld, 0x18); vars.Resolver.Watch("CharacterHiddenFlag", vars.Events.FunctionParentPtr("BPC_FocusSystem_C", "BPC_FocusSystem", ""), 0xA8, 0x58); //Flag for final cutscene vars.Events.FunctionFlag("EndCutscene", "LS_Cutscene_19-End_DirectorBP_C", "LS_Cutscene_19-End_DirectorBP_C", "SequenceEvent__ENTRYPOINTLS_Cutscene_19-End_DirectorBP"); //Loading screen start and end vars.Events.FunctionFlag("LoadStart", "WBP_Screen_Loading_C", "WBP_Screen_Loading_C", "OnInitialized"); vars.Events.FunctionFlag("LoadEnd", "WBP_Screen_Loading_C", "WBP_Screen_Loading_C", "Destruct"); current.AllowedToStart = false; current.WorldName = ""; vars.GameEnded = false; vars.LoadingFlag = false; } update { vars.Uhara.Update(); string worldName = vars.Utils.FNameToString(current.WorldFName); if (!string.IsNullOrEmpty(worldName) && worldName != "None"){ current.WorldName = worldName; } if (current.WorldName == "MAP_MenuStart"){ current.AllowedToStart = true; } //stuff for debuging if (current.WorldName != old.WorldName){ print(current.WorldName); } //Loading paramnter for on load if (vars.Resolver.CheckFlag("LoadStart")) { vars.LoadFlag = true; } if (vars.Resolver.CheckFlag("LoadEnd")) { vars.LoadFlag = false; } } onStart { current.AllowedToStart = false; vars.GameEnded = false; } start { return current.AllowedToStart && current.CharacterHiddenFlag != old.CharacterHiddenFlag && (current.CharacterHiddenFlag & 128) == 0 && (old.CharacterHiddenFlag & 128) != 0; if (current.CharacterHiddenFlag != old.CharacterHiddenFlag){ print(current.CharacterHiddenFlag.ToString()); } } split { if (current.WorldName != old.WorldName && current.WorldName != "MAP_MenuStart" && old.WorldName != "MAP_MenuStart"){ return true; } if (vars.Resolver.CheckFlag("EndCutscene") && vars.GameEnded == false){ vars.GameEnded = true; return true; } } isLoading { return vars.LoadFlag; } reset { return current.WorldName != old.WorldName && current.WorldName == "MAP_MenuStart"; }