static void Functions_OnOnDutyStateChanged(bool onDuty) { if (onDuty) { UpdateChecker.InitialiseUpdateCheckingProcess(); if (DependencyChecker.DependencyCheckMain(PluginName, Albo1125CommonVer, MinimumRPHVersion, MadeForGTAVersion, MadeForLSPDFRVersion, RAGENativeUIVersion, AudioFilesToCheckFor, OtherFilesToCheckFor)) { if (!DependencyChecker.CheckIfFileExists("Plugins/LSPDFR/Traffic Policer.dll", TrafficPolicerVersion)) { Game.LogTrivial("Traffic Policer is out of date for BPS. Aborting. Required version: " + TrafficPolicerVersion.ToString()); Game.DisplayNotification("~r~~h~BritishP.S. detected Traffic Policer version lower than ~b~" + TrafficPolicerVersion.ToString()); ExtensionMethods.DisplayPopupTextBoxWithConfirmation("British Policing Script Dependencies", "BritishP.S. didn't detect Traffic Policer or detected Traffic Policer version lower than " + TrafficPolicerVersion.ToString() + ". Please install the appropriate version of Traffic Policer (link on the BPS download page under Requirements). Unloading British Policing Script...", true); return; } if (!DependencyChecker.CheckIfFileExists("Plugins/LSPDFR/Arrest Manager.dll", ArrestManagerVersion)) { Game.LogTrivial("Arrest Manager is out of date for BPS. Aborting. Required version: " + ArrestManagerVersion.ToString()); Game.DisplayNotification("~r~~H~BritishP.S. detected Arrest Manager version lower than ~b~" + ArrestManagerVersion.ToString()); ExtensionMethods.DisplayPopupTextBoxWithConfirmation("British Policing Script Dependencies", "BritishP.S. didn't detect Arrest Manager or detected Arrest Manager version lower than " + ArrestManagerVersion.ToString() + ". Please install the appropriate version of Arrest Manager (link on the BPS download page under Requirements). Unloading British Policing Script...", true); return; } if (!DependencyChecker.CheckIfFileExists("Plugins/LSPDFR/LSPDFR+.dll", LSPDFRPlusVersion)) { Game.LogTrivial("LSPDFR+ is out of date for BPS. Aborting. Required version: " + LSPDFRPlusVersion.ToString()); Game.DisplayNotification("~r~~H~BritishP.S. detected LSPDFR+ version lower than ~b~" + LSPDFRPlusVersion.ToString()); ExtensionMethods.DisplayPopupTextBoxWithConfirmation("British Policing Script Dependencies", "BritishP.S. didn't detect LSPDFR+ or detected LSPDFR+ version lower than " + LSPDFRPlusVersion.ToString() + ". Please install the appropriate version of LSPDFR+ (link on the BPS download page under Requirements). Unloading British Policing Script...", true); return; } GameFiber.StartNew(delegate { int WaitCount = 0; while (!IsLSPDFRPluginRunning("Traffic Policer", TrafficPolicerVersion) || !IsLSPDFRPluginRunning("Arrest Manager", ArrestManagerVersion) || !IsLSPDFRPluginRunning("LSPDFR+", LSPDFRPlusVersion)) { GameFiber.Yield(); WaitCount++; if (WaitCount > 1500) { Game.DisplayNotification("B.P.Script unable to find correct version Traffic Policer/Arrest Manager/LSPDFR+"); Game.LogTrivial("B.P.Script unable to find correct version of Traffic Police/Arrest Manager/LSPDFR+"); Game.LogTrivial("TP: " + IsLSPDFRPluginRunning("Traffic Policer", TrafficPolicerVersion).ToString()); Game.LogTrivial("AM: " + IsLSPDFRPluginRunning("Arrest Manager", ArrestManagerVersion).ToString()); Game.LogTrivial("LSPDFRPLUS: " + IsLSPDFRPluginRunning("LSPDFR + ", LSPDFRPlusVersion).ToString()); return; } } EntryPoint.Initialise(); ; }); } else { } } }