コード例 #1
0
 private static void Init2(ClientInfo _cInfo)
 {
     API.NewPlayerExec(_cInfo);
 }
コード例 #2
0
 private static void Init2(object sender, ElapsedEventArgs e, ClientInfo _cInfo)
 {
     API.NewPlayerExec(_cInfo);
 }
コード例 #3
0
ファイル: Timers.cs プロジェクト: pharrisee/7dtd-ServerTools
 private static void Exec()
 {
     if (Zones.IsEnabled || Lobby.IsEnabled || Market.IsEnabled)
     {
         PersistentOperations.CheckZone();
     }
     if (Jail.IsEnabled)
     {
         Jail.StatusCheck();
     }
     if (DiscordBot.IsEnabled && DiscordBot.Queue.Count > 0)
     {
         DiscordBot.WebHook();
     }
     if (twoSecondTick >= 2)
     {
         twoSecondTick = 0;
         if (PlayerChecks.GodEnabled || PlayerChecks.SpectatorEnabled || FlyingDetector.IsEnabled || SpeedDetector.IsEnabled)
         {
             PlayerChecks.TwoSecondExec();
         }
         if (WorldRadius.IsEnabled)
         {
             WorldRadius.Exec();
         }
     }
     if (fiveSecondTick >= 5)
     {
         fiveSecondTick = 0;
         if (Zones.IsEnabled)
         {
             Zones.HostileCheck();
         }
         if (PlayerStats.IsEnabled)
         {
             PlayerStats.Exec();
         }
         if (Fps.IsEnabled)
         {
             Fps.LowFPS();
         }
     }
     if (tenSecondTick >= 10)
     {
         tenSecondTick = 0;
         if (EntityCleanup.IsEnabled)
         {
             EntityCleanup.EntityCheck();
         }
     }
     if (twentySecondTick >= 20)
     {
         twentySecondTick = 0;
         if (Track.IsEnabled)
         {
             Track.Exec();
         }
         EventSchedule.Exec();
     }
     if (oneMinTick >= 60)
     {
         oneMinTick = 0;
         if (Jail.IsEnabled && Jail.Jailed.Count > 0)
         {
             Jail.Clear();
         }
         if (Mute.IsEnabled && Mute.Mutes.Count > 0)
         {
             Mute.Clear();
         }
         if (BloodmoonWarrior.IsEnabled)
         {
             BloodmoonWarrior.Exec();
         }
     }
     if (fiveMinTick >= 300)
     {
         fiveMinTick = 0;
         StateManager.Save();
         if (InvalidItems.Check_Storage)
         {
             InvalidItems.CheckStorage();
         }
     }
     if (PersistentOperations.NewPlayerQue.Count > 0)
     {
         newPlayer++;
         if (newPlayer >= 5)
         {
             newPlayer = 0;
             ClientInfo cInfo = PersistentOperations.NewPlayerQue[0];
             PersistentOperations.NewPlayerQue.RemoveAt(0);
             API.NewPlayerExec(cInfo);
         }
     }
     if (RestartVote.IsEnabled && RestartVote.VoteOpen)
     {
         restartVote++;
         if (restartVote >= 60)
         {
             restartVote          = 0;
             RestartVote.VoteOpen = false;
             RestartVote.ProcessRestartVote();
         }
     }
     if (MuteVote.IsEnabled && MuteVote.VoteOpen)
     {
         muteVote++;
         if (muteVote >= 60)
         {
             muteVote          = 0;
             MuteVote.VoteOpen = false;
             MuteVote.ProcessMuteVote();
         }
     }
     if (KickVote.IsEnabled && KickVote.VoteOpen)
     {
         kickVote++;
         if (kickVote >= 60)
         {
             kickVote          = 0;
             KickVote.VoteOpen = false;
             KickVote.ProcessKickVote();
         }
     }
     if (Lottery.IsEnabled && Lottery.OpenLotto)
     {
         lottery++;
         if (lottery == Lottery.Time * 60 - 60)
         {
             Lottery.Alert();
         }
         if (lottery >= Lottery.Time * 60)
         {
             lottery           = 0;
             Lottery.OpenLotto = false;
             Lottery.StartLotto();
         }
     }
     else
     {
         lottery = 0;
     }
     if (Hordes.IsEnabled)
     {
         horde++;
         if (horde >= 1200)
         {
             horde = 0;
             Hordes.Exec();
         }
     }
     else
     {
         horde = 0;
     }
     if (Shutdown.ShuttingDown)
     {
         stopServerSeconds++;
         if (stopServerSeconds >= 60)
         {
             stopServerSeconds = 0;
             StopServerMinutes--;
             if (StopServerMinutes > 1)
             {
                 Shutdown.TimeRemaining(StopServerMinutes);
             }
             else if (StopServerMinutes == 1)
             {
                 Shutdown.OneMinute();
             }
             else if (StopServerMinutes == 0)
             {
                 Shutdown.ShuttingDown = false;
                 Shutdown.Close();
             }
         }
         if (StopServerMinutes == 1)
         {
             if (Shutdown.UI_Lock && stopServerSeconds == 15)
             {
                 Shutdown.Lock();
             }
             else if (stopServerSeconds == 30)
             {
                 Shutdown.Kick();
             }
         }
     }
     else
     {
         stopServerSeconds = 0;
     }
     if (Event.Invited)
     {
         eventInvitation++;
         if (eventInvitation >= 900)
         {
             eventInvitation = 0;
             Event.Invited   = false;
             Event.CheckOpen();
         }
     }
     if (Event.Open)
     {
         eventOpen++;
         if (eventOpen == eventTime / 2)
         {
             Event.HalfTime();
         }
         if (eventOpen == eventTime - 300)
         {
             Event.FiveMin();
         }
         if (eventOpen >= eventTime)
         {
             eventOpen = 0;
             Event.EndEvent();
         }
     }
     else
     {
         eventOpen = 0;
     }
 }
コード例 #4
0
 public static void Init(object sender, ElapsedEventArgs e)
 {
     if (HatchElevator.IsEnabled)
     {
         HatchElevator.AutoHatchCheck();
     }
     if (Jail.IsEnabled)
     {
         Jail.StatusCheck();
     }
     if (UnderWater.IsEnabled)
     {
         UnderWater.Exec();
     }
     if (Jail.Jailed.Count > 0)
     {
         _jR++;
         if (_jR >= 60)
         {
             _jR = 0;
             Jail.Clear();
         }
     }
     else
     {
         _jR = 0;
     }
     if (StopServer.Shutdown)
     {
         _sC++;
         if (_sC >= 60)
         {
             _sC = 0;
             StopServer.FailSafe();
         }
     }
     else
     {
         _sC = 0;
     }
     if (WeatherVote.IsEnabled)
     {
         if (WeatherVote.VoteOpen)
         {
             _wV++;
             if (_wV >= 60)
             {
                 _wV = 0;
                 WeatherVote.CallForVote2();
             }
         }
     }
     else
     {
         _wV = 0;
     }
     if (MutePlayer.IsEnabled && MutePlayer.Mutes.Count > 0)
     {
         _mC++;
         if (_mC >= 60)
         {
             _mC = 0;
             MutePlayer.Clear();
         }
     }
     else
     {
         _mC = 0;
     }
     if (RealWorldTime.IsEnabled)
     {
         _rWT++;
         if (_rWT >= Real_Time_Delay * 60)
         {
             _rWT = 0;
             RealWorldTime.Time();
         }
     }
     else
     {
         _rWT = 0;
     }
     if (Lottery.IsEnabled && Lottery.OpenLotto)
     {
         _l++;
         if (_l == 3300)
         {
             Lottery.Alert();
         }
         if (_l >= 3600)
         {
             _l = 0;
             Lottery.StartLotto();
         }
     }
     else
     {
         _l = 0;
     }
     if (RestartVote.IsEnabled)
     {
         if (RestartVote.VoteOpen)
         {
             _rV++;
             if (_rV >= 60)
             {
                 _rV = 0;
                 RestartVote.CallForVote2();
             }
         }
     }
     else
     {
         _rV = 0;
     }
     if (MuteVote.IsEnabled)
     {
         if (MuteVote.VoteOpen)
         {
             _mV++;
             if (_mV >= 60)
             {
                 _mV = 0;
                 MuteVote.VoteCount();
             }
         }
     }
     else
     {
         _mV = 0;
     }
     if (KickVote.IsEnabled)
     {
         if (KickVote.VoteOpen)
         {
             _kV++;
             if (_kV >= 60)
             {
                 _kV = 0;
                 KickVote.VoteCount();
             }
         }
     }
     else
     {
         _kV = 0;
     }
     if (Hordes.IsEnabled)
     {
         _h++;
         if (_h >= 1200)
         {
             _h = 0;
             Hordes.Exec();
         }
     }
     else
     {
         _h = 0;
     }
     if (EntityCleanup.IsEnabled && (EntityCleanup.BlockIsEnabled || EntityCleanup.FallingTreeEnabled || EntityCleanup.Underground || EntityCleanup.MiniBikes))
     {
         _eC++;
         if (_eC >= 10)
         {
             _eC = 0;
             EntityCleanup.EntityCheck();
         }
     }
     else
     {
         _eC = 0;
     }
     if (Zones.IsEnabled)
     {
         _rE++;
         if (_rE >= 5)
         {
             _rE = 0;
             EntityCleanup.ZombieCheck();
         }
     }
     else
     {
         _rE = 0;
     }
     if (NightAlert.IsEnabled)
     {
         _nA++;
         if (_nA >= Night_Time_Delay * 60)
         {
             _nA = 0;
             NightAlert.Exec();
         }
     }
     else
     {
         _nA = 0;
     }
     if (Watchlist.IsEnabled)
     {
         _wL++;
         if (_wL >= Alert_Delay * 60)
         {
             _wL = 0;
             Watchlist.CheckWatchlist();
         }
     }
     else
     {
         _wL = 0;
     }
     if (PlayerStatCheck.IsEnabled)
     {
         _pSC++;
         if (_pSC >= 5)
         {
             _pSC = 0;
             PlayerStatCheck.PlayerStat();
         }
     }
     else
     {
         _pSC = 0;
     }
     if (ReservedSlots.IsEnabled)
     {
         _rS++;
         if (_rS >= 120)
         {
             _rS = 0;
             int _playerCount = ConnectionManager.Instance.ClientCount();
             if (_playerCount >= API.MaxPlayers - ReservedSlots.Admin_Slots)
             {
                 ReservedSlots.OpenSlot();
             }
         }
     }
     else
     {
         _rS = 0;
     }
     if (Bloodmoon.IsEnabled & Bloodmoon.Auto_Show)
     {
         if (Auto_Show_Bloodmoon_Delay > 0)
         {
             _b++;
             if (_b >= Auto_Show_Bloodmoon_Delay * 60)
             {
                 _b = 0;
                 Bloodmoon.StatusCheck();
             }
         }
     }
     else
     {
         _b = 0;
     }
     if (PlayerLogs.IsEnabled & Player_Log_Interval > 0)
     {
         _pL++;
         if (_pL >= Player_Log_Interval)
         {
             _pL = 0;
             PlayerLogs.Exec();
         }
     }
     else
     {
         _pL = 0;
     }
     if (StopServer.stopServerCountingDown)
     {
         _sSCD++;
         if (_sSCD == 60)
         {
             _sSCD = 0;
             _sSC--;
         }
         if (_sSC == 0)
         {
             _sSCD = 0;
             StopServer.stopServerCountingDown = false;
             StopServer.Stop();
         }
         if (_sSC == 1 && _sSCD == 0)
         {
             StopServer.StartShutdown3();
         }
         if (_sSC > 1 && _sSCD == 0)
         {
             StopServer.StartShutdown2(_sSC);
         }
         if (StopServer.Kick_30_Seconds)
         {
             if (_sSC == 1 && _sSCD == 30)
             {
                 StopServer.Kick30();
             }
         }
         if (StopServer.Ten_Second_Countdown)
         {
             if (_sSC == 1 && _sSCD == 50)
             {
                 StopServer.StartShutdown4();
             }
             if (_sSC == 1 && _sSCD == 55)
             {
                 StopServer.StartShutdown5();
             }
             if (_sSC == 1 && _sSCD == 56)
             {
                 StopServer.StartShutdown6();
             }
             if (_sSC == 1 && _sSCD == 57)
             {
                 StopServer.StartShutdown7();
             }
             if (_sSC == 1 && _sSCD == 58)
             {
                 StopServer.StartShutdown8();
             }
             if (_sSC == 1 && _sSCD == 59)
             {
                 StopServer.StartShutdown9();
             }
         }
     }
     else
     {
         _sSCD = 0;
         _sSC  = 0;
     }
     if (AutoSaveWorld.IsEnabled & Delay_Between_World_Saves > 0)
     {
         _wSD++;
         if (_wSD >= Delay_Between_World_Saves * 60)
         {
             _wSD = 0;
             AutoSaveWorld.Save();
         }
     }
     else
     {
         _wSD = 0;
     }
     if (AutoShutdown.IsEnabled && !AutoShutdown.Bloodmoon && !StopServer.stopServerCountingDown)
     {
         _sD++;
         if (!Event.Open && _sD >= Shutdown_Delay * 60)
         {
             _sD = 0;
             AutoShutdown.CheckBloodmoon();
         }
     }
     else
     {
         _sD = 0;
     }
     if (AutoShutdown.Bloodmoon)
     {
         _aSB++;
         if (_aSB >= 900)
         {
             _aSB = 0;
             AutoShutdown.CheckBloodmoon();
         }
     }
     else
     {
         _aSB = 0;
     }
     if (InfoTicker.IsEnabled)
     {
         _iT++;
         if (_iT >= Infoticker_Delay * 60)
         {
             _iT = 0;
             InfoTicker.StatusCheck();
         }
     }
     else
     {
         _iT = 0;
     }
     if (WorldRadius.IsEnabled)
     {
         _wR++;
         if (_wR >= 2)
         {
             _wR = 0;
             WorldRadius.Exec();
         }
     }
     else
     {
         _wR = 0;
     }
     if (Event.Invited)
     {
         _eI++;
         if (_eI >= 900)
         {
             _eI           = 0;
             Event.Invited = false;
             Event.CheckOpen();
         }
     }
     else
     {
         _eI = 0;
     }
     if (Event.Open)
     {
         _eO++;
         if (_eO == _eventTime / 2)
         {
             Event.HalfTime();
         }
         if (_eO == _eventTime - 300)
         {
             Event.FiveMin();
         }
         if (_eO >= _eventTime)
         {
             _eO = 0;
             Event.EndEvent();
         }
     }
     else
     {
         _eO = 0;
     }
     if (RestartVote.Startup)
     {
         _rVS++;
         if (_rVS >= 1800)
         {
             RestartVote.Startup = false;
         }
     }
     else
     {
         _rVS = 0;
     }
     if (Zones.IsEnabled & Zones.reminder.Count > 0)
     {
         _zR++;
         if (_zR >= Zones.Reminder_Delay * 60)
         {
             _zR = 0;
             Zones.Reminder();
         }
     }
     else
     {
         _zR = 0;
     }
     if (AutoBackup.IsEnabled)
     {
         _tBS++;
         if (_tBS >= AutoBackup.Time_Between_Saves * 60)
         {
             _tBS = 0;
             AutoBackup.BackupExec();
         }
     }
     else
     {
         _tBS = 0;
     }
     if (API.Que.Count > 0)
     {
         _nP++;
         if (_nP >= 5)
         {
             API.NewPlayerExec();
             _nP = 0;
         }
     }
     else
     {
         _nP = 0;
     }
     if (BreakTime.IsEnabled)
     {
         _bT++;
         if (_bT >= BreakTime.Break_Time * 60)
         {
             _bT = 0;
             BreakTime.Exec();
         }
     }
     else
     {
         _bT = 0;
     }
     if (Tracking.IsEnabled)
     {
         _tP++;
         if (_tP >= Tracking.Rate)
         {
             _tP = 0;
             Tracking.Exec();
         }
     }
     else
     {
         _tP = 0;
     }
     if (InventoryCheck.IsEnabled && InventoryCheck.Chest_Checker)
     {
         _cC++;
         if (_cC >= 300)
         {
             _cC = 0;
             InventoryCheck.ChestCheck();
         }
     }
     else
     {
         _cC = 0;
     }
 }