Exemple #1
0
 private static void SaveThread()
 {
     while (true)
     {
         Thread.Sleep(8389);
         try
         {
             TSPlayer[] players = TShock.Players;
             foreach (TSPlayer tSPlayer in players)
             {
                 if (tSPlayer != null && SrvPlayers[tSPlayer.Index] != null)
                 {
                     PlayTime[(byte)tSPlayer.Index].Stop();
                     SrvPlayers[tSPlayer.Index].PlayTime += (long)PlayTime[(byte)tSPlayer.Index].Elapsed.TotalSeconds;
                     PlayTime[(byte)tSPlayer.Index].Restart();
                     DataBase.UpdatePlayTime(tSPlayer.Account, SrvPlayers[tSPlayer.Index].PlayTime);
                     DataBase.SrvPlayerUpdate(SrvPlayers[tSPlayer.Index]);
                 }
             }
             Goals.ProgressUpdate();
         }
         catch (Exception)
         {
             //Ignore
         }
     }
 }
Exemple #2
0
        private void OnWorldSave(WorldSaveEventArgs args)
        {
            TSPlayer[] players = TShock.Players;
            foreach (TSPlayer tSPlayer in players)
            {
                if (tSPlayer != null && tSPlayer.Account != null)
                {
                    DataBase.SrvPlayerUpdate(SrvPlayers[tSPlayer.Index]);
                }
            }

            Goals.ProgressUpdate();
        }
Exemple #3
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                Goals.ProgressUpdate();

                ServerApi.Hooks.GameInitialize.Deregister(this, global::SurvivalCore.Economy.Economy.OnInitialize);
                ServerApi.Hooks.WorldSave.Deregister(this, OnWorldSave);
                ServerApi.Hooks.NetGetData.Deregister(this, OnGetData);
                ServerApi.Hooks.ServerJoin.Deregister(this, OnJoin);
                ServerApi.Hooks.ServerLeave.Deregister(this, OnLeave);
                ServerApi.Hooks.ServerConnect.Deregister(this, OnConnect);
                ServerApi.Hooks.NetSendData.Deregister(this, OnSendData);
                AccountHooks.AccountCreate  -= OnAccountC;
                AccountHooks.AccountDelete  -= OnAccountD;
                PlayerHooks.PlayerPostLogin -= OnPlayerPostLogin;
                Hooks.Npc.PostUpdate        -= NpcPostUpdate;
            }
            base.Dispose(disposing);
        }