View Single Post
  #10  
Old 05-27-2011, 09:36 AM
Ataros Ataros is offline
Approved Member
 
Join Date: Jun 2010
Location: USSR
Posts: 2,439
Default

Quote:
Originally Posted by TheEnlightenedFlorist View Post
If you think AI are starting to pile up in your server, try putting the following code into your OnTickGame() method.
Trying to run it (see end of code)

Code:
    public override void OnTickGame()
    {
        if (Time.tickCounter() % 45000 == 9000) // 45000=25 min repeat. 9000=5 min delay. 
        {
            // randomly selects 1 of several submissions excluding the recent one

            Random RandomIncident = new Random();
            int CurrentMissionSelected;

            do
                {
                CurrentMissionSelected = RandomIncident.Next(1, 4);
                }
            while (LastMissionLoaded == CurrentMissionSelected);

            LastMissionLoaded = CurrentMissionSelected;

            switch (CurrentMissionSelected)

            {
            case 1:
                GamePlay.gpPostMissionLoad("missions/Multi/Dogfight/BoF1/BoF1_air01.mis");
                //GamePlay.gpHUDLogCenter("Intel: Enemy activity is expected at E3!");
                    //600
                initTime = 0.0;
                Timeout(initTime += 600, () =>
                {
                    GamePlay.gpHUDLogCenter("Attention! Enemy activity is expected at E3!");
                });
                    //600+600
                Timeout(initTime += 600, () =>
                {
                    GamePlay.gpHUDLogCenter("Attention! Help is needed at E3/D4!");
                });
                break;
            case 2:
                GamePlay.gpPostMissionLoad("missions/Multi/Dogfight/BoF1/BoF1_sea01.mis");
                //GamePlay.gpHUDLogCenter("Intel: Cover your shipping at C4!");
                    //500
                initTime = 0.0;
                Timeout(initTime += 450, () =>
                {
                    GamePlay.gpHUDLogCenter("Attention! Cover your shipping at C4!");
                });
                    //500+300
                Timeout(initTime += 300, () =>
                {
                    GamePlay.gpHUDLogCenter("Attention! Ships are under attack at C4!");
                });
                break;
            case 3:
                GamePlay.gpPostMissionLoad("missions/Multi/Dogfight/BoF1/BoF1_air02.mis");
                //GamePlay.gpHUDLogCenter("Intel: Enemy activity is expected at E2!");
                    //600
                initTime = 0.0;
                Timeout(initTime += 600, () =>
                {
                    GamePlay.gpHUDLogCenter("Attention! Enemy activity is expected at E2!");
                });
                    //600+300
                Timeout(initTime += 300, () =>
                {
                    GamePlay.gpHUDLogCenter("Attention! All fighters please proceed to E2/D3!");
                });
                break;
        }
    }

    ///////////////////////

    //loads small submissions w/o messages
    
     if (Time.tickCounter() % 216000 == 108000) // 216000=120 min repeat. 108000=60 min delay. 
     {
         GamePlay.gpPostMissionLoad("missions/Multi/Dogfight/BoF1/BoF1_small01.mis");
     }

     if (Time.tickCounter() % 216000 == 215999) // 216000=120 min repeat. 215999=120 min delay. 
     {
         GamePlay.gpPostMissionLoad("missions/Multi/Dogfight/BoF1/BoF1_small02.mis");
     }

     /////////// Counts AI groups on the server.

     if (GamePlay.gpAirGroups(1) != null && GamePlay.gpAirGroups(2) != null)
     {
         if (Time.tickCounter() % 9000 == 0)
         {
             int totalAircraft = GamePlay.gpAirGroups(1).Length + GamePlay.gpAirGroups(2).Length;
             GamePlay.gpLogServer(new Player[] { GamePlay.gpPlayer() }, totalAircraft.ToString(), null);
             GamePlay.gpLogServer(GamePlay.gpRemotePlayers(), totalAircraft.ToString(), null);
         }
     }
    }
Get these errors:
Code:
[13:05:14]	Battle starting...[13:05:14]	Server: Battle begins!
[13:05:14]	ok
[13:05:14]	Server to [Server]: 4
[13:05:14]	
[13:05:14]	=================================================
[13:05:14]	System.IndexOutOfRangeException: Индекс находился вне границ массива.
[13:05:14]	
[13:05:14]	Server stack trace: 
[13:05:14]	   в WLxT1kvtHRQOtMZZl62.DRdThMvpbN33CGywFW7.wXZFyNGvcs2(Player[] , Boolean , String , Object[] )
[13:05:14]	   в WLxT1kvtHRQOtMZZl62.DRdThMvpbN33CGywFW7.ppDoUYCpY9HF87vxRBGe(Object , Boolean , Object , Object )
[13:05:14]	   в WLxT1kvtHRQOtMZZl62.DRdThMvpbN33CGywFW7.0AAFyzF3TVd(Player[] , String , Object[] )
[13:05:14]	   в UXx9sZjCf3yc9i99GpR.69j9o82zIn0dDNk0dpm.LogServer(Player[] , String , Object[] )
[13:05:14]	   в maddox.game.GameDef.gpLogServer(Player[] to, String format, Object[] args)
[13:05:14]	   в System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
[13:05:14]	   в System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
[13:05:14]	
[13:05:14]	Exception rethrown at [0]: 
[13:05:14]	   в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
[13:05:14]	   в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
[13:05:14]	   в maddox.game.IGamePlay.gpLogServer(Player[] to, String format, Object[] args)
[13:05:14]	   в Mission.OnTickGame()
[13:05:14]	   в maddox.game.ABattle.OnTickGame()
[13:05:14]	   в maddox.game.world.Strategy.OnTickGame()
[13:05:14]	   в System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
[13:05:14]	   в System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
[13:05:14]	
[13:05:14]	Exception rethrown at [1]: 
[13:05:14]	   в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
[13:05:14]	   в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
[13:05:14]	   в maddox.game.IBattle.OnTickGame()
[13:05:14]	   в maddox.game.GameDef.tickGame()
[13:05:14]	   в 13yXBRPwF6JbN5OXHZ6.NTKTOgPPsXwbvypIj6k.Z37cRDxFulC()
[13:05:14]	   в RKuLtykUFmi8DgWf36W.9FOhqSkweWrYgooHcsk.neSF4RIW4t3(Boolean , Boolean )
[13:05:14]	=================================================
[13:09:43]	Server to [Server]: 4
[13:09:43]	
[13:09:43]	=================================================
[13:09:43]	System.IndexOutOfRangeException: Индекс находился вне границ массива.
[13:09:43]	
[13:09:43]	Server stack trace: 
[13:09:43]	   в WLxT1kvtHRQOtMZZl62.DRdThMvpbN33CGywFW7.wXZFyNGvcs2(Player[] , Boolean , String , Object[] )
[13:09:43]	   в WLxT1kvtHRQOtMZZl62.DRdThMvpbN33CGywFW7.ppDoUYCpY9HF87vxRBGe(Object , Boolean , Object , Object )
[13:09:43]	   в WLxT1kvtHRQOtMZZl62.DRdThMvpbN33CGywFW7.0AAFyzF3TVd(Player[] , String , Object[] )
[13:09:43]	   в UXx9sZjCf3yc9i99GpR.69j9o82zIn0dDNk0dpm.LogServer(Player[] , String , Object[] )
[13:09:43]	   в maddox.game.GameDef.gpLogServer(Player[] to, String format, Object[] args)
[13:09:43]	   в System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
[13:09:43]	   в System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
[13:09:43]	
[13:09:43]	Exception rethrown at [0]: 
[13:09:43]	   в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
[13:09:43]	   в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
[13:09:43]	   в maddox.game.IGamePlay.gpLogServer(Player[] to, String format, Object[] args)
[13:09:43]	   в Mission.OnTickGame()
[13:09:43]	   в maddox.game.ABattle.OnTickGame()
[13:09:43]	   в maddox.game.world.Strategy.OnTickGame()
[13:09:43]	   в System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
[13:09:43]	   в System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
[13:09:43]	
[13:09:43]	Exception rethrown at [1]: 
[13:09:43]	   в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
[13:09:43]	   в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
[13:09:43]	   в maddox.game.IBattle.OnTickGame()
[13:09:43]	   в maddox.game.GameDef.tickGame()
[13:09:43]	   в 13yXBRPwF6JbN5OXHZ6.NTKTOgPPsXwbvypIj6k.Z37cRDxFulC()
[13:09:43]	   в RKuLtykUFmi8DgWf36W.9FOhqSkweWrYgooHcsk.neSF4RIW4t3(Boolean , Boolean )
[13:09:43]	=================================================
[13:09:44]	Loading mission ...
[13:09:44]	Server: A new group of 4 Blue aircraft identified as Ju 87 B-2 was reported in sector >,<.
[13:09:44]	Server: A new group of 2 Red aircraft identified as Walrus was reported in sector C,<.
[13:09:44]	Server: A new group of 4 Red aircraft identified as Blenheim I was reported in sector D,<.
[13:09:44]	Server: A group of Blue 3xDo 215 B-1 just appeared in sector E,4.
[13:09:44]	Mission loaded. time = 0.180
[13:14:18]	Server to [Server]: 8
[13:14:18]	
[13:14:18]	=================================================
[13:14:18]	System.IndexOutOfRangeException: Индекс находился вне границ массива.
[13:14:18]	
[13:14:18]	Server stack trace: 
[13:14:18]	   в WLxT1kvtHRQOtMZZl62.DRdThMvpbN33CGywFW7.wXZFyNGvcs2(Player[] , Boolean , String , Object[] )
[13:14:18]	   в WLxT1kvtHRQOtMZZl62.DRdThMvpbN33CGywFW7.ppDoUYCpY9HF87vxRBGe(Object , Boolean , Object , Object )
[13:14:18]	   в WLxT1kvtHRQOtMZZl62.DRdThMvpbN33CGywFW7.0AAFyzF3TVd(Player[] , String , Object[] )
[13:14:18]	   в UXx9sZjCf3yc9i99GpR.69j9o82zIn0dDNk0dpm.LogServer(Player[] , String , Object[] )
[13:14:18]	   в maddox.game.GameDef.gpLogServer(Player[] to, String format, Object[] args)
[13:14:18]	   в System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
[13:14:18]	   в System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
[13:14:18]	
[13:14:18]	Exception rethrown at [0]: 
[13:14:18]	   в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
[13:14:18]	   в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
[13:14:18]	   в maddox.game.IGamePlay.gpLogServer(Player[] to, String format, Object[] args)
[13:14:18]	   в Mission.OnTickGame()
[13:14:18]	   в maddox.game.ABattle.OnTickGame()
[13:14:18]	   в maddox.game.world.Strategy.OnTickGame()
[13:14:18]	   в System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
[13:14:18]	   в System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
[13:14:18]	
[13:14:18]	Exception rethrown at [1]: 
[13:14:18]	   в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
[13:14:18]	   в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
[13:14:18]	   в maddox.game.IBattle.OnTickGame()
[13:14:18]	   в maddox.game.GameDef.tickGame()
[13:14:18]	   в 13yXBRPwF6JbN5OXHZ6.NTKTOgPPsXwbvypIj6k.Z37cRDxFulC()
[13:14:18]	   в RKuLtykUFmi8DgWf36W.9FOhqSkweWrYgooHcsk.neSF4RIW4t3(Boolean , Boolean )
[13:14:18]	=================================================
[13:16:54]	Server: Bofors murdered the Gunner of a Ju 87 B-2 () (AI).
[13:18:48]	Server to [Server]: 9
[13:18:48]	
[13:18:48]	=================================================
[13:18:48]	System.IndexOutOfRangeException: Индекс находился вне границ массива.
[13:18:48]	
[13:18:48]	Server stack trace: 
[13:18:48]	   в WLxT1kvtHRQOtMZZl62.DRdThMvpbN33CGywFW7.wXZFyNGvcs2(Player[] , Boolean , String , Object[] )
[13:18:48]	   в WLxT1kvtHRQOtMZZl62.DRdThMvpbN33CGywFW7.ppDoUYCpY9HF87vxRBGe(Object , Boolean , Object , Object )
[13:18:48]	   в WLxT1kvtHRQOtMZZl62.DRdThMvpbN33CGywFW7.0AAFyzF3TVd(Player[] , String , Object[] )
[13:18:48]	   в UXx9sZjCf3yc9i99GpR.69j9o82zIn0dDNk0dpm.LogServer(Player[] , String , Object[] )
[13:18:48]	   в maddox.game.GameDef.gpLogServer(Player[] to, String format, Object[] args)
[13:18:48]	   в System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
[13:18:48]	   в System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
[13:18:48]	
[13:18:48]	Exception rethrown at [0]: 
[13:18:48]	   в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
[13:18:48]	   в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
[13:18:48]	   в maddox.game.IGamePlay.gpLogServer(Player[] to, String format, Object[] args)
[13:18:48]	   в Mission.OnTickGame()
[13:18:48]	   в maddox.game.ABattle.OnTickGame()
[13:18:48]	   в maddox.game.world.Strategy.OnTickGame()
[13:18:48]	   в System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
[13:18:48]	   в System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
[13:18:48]	
[13:18:48]	Exception rethrown at [1]: 
[13:18:48]	   в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
[13:18:48]	   в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
[13:18:48]	   в maddox.game.IBattle.OnTickGame()
[13:18:48]	   в maddox.game.GameDef.tickGame()
[13:18:48]	   в 13yXBRPwF6JbN5OXHZ6.NTKTOgPPsXwbvypIj6k.Z37cRDxFulC()
[13:18:48]	   в RKuLtykUFmi8DgWf36W.9FOhqSkweWrYgooHcsk.neSF4RIW4t3(Boolean , Boolean )
[13:18:48]	=================================================
How can it be fixed?
Reply With Quote