Example #1
0
 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
         {
         }
     }
 }