Exemplo n.º 1
0
 public static void NewPlayerExec3(ClientInfo _cInfo, EntityPlayer _player)
 {
     try
     {
         if (NewPlayer.IsEnabled)
         {
             NewPlayer.Exec(_cInfo);
         }
         if (Motd.IsEnabled)
         {
             Motd.Send(_cInfo);
         }
         if (Bloodmoon.IsEnabled)
         {
             Bloodmoon.Exec(_cInfo);
         }
         if (BattleLogger.IsEnabled)
         {
             BattleLogger.AlertPlayer(_cInfo);
         }
         if (Poll.IsEnabled && PersistentContainer.Instance.PollOpen && !PersistentContainer.Instance.PollVote.ContainsKey(_cInfo.playerId))
         {
             Poll.Message(_cInfo);
         }
         if (Hardcore.IsEnabled)
         {
             if (Hardcore.Optional)
             {
                 if (PersistentContainer.Instance.Players[_cInfo.playerId].HardcoreEnabled)
                 {
                     Hardcore.Check(_cInfo, _player);
                 }
             }
             else if (!PersistentContainer.Instance.Players[_cInfo.playerId].HardcoreEnabled)
             {
                 string[] _hardcoreStats = { _cInfo.playerName, XUiM_Player.GetDeaths(_player).ToString(), "0" };
                 PersistentContainer.Instance.Players[_cInfo.playerId].HardcoreStats   = _hardcoreStats;
                 PersistentContainer.Instance.Players[_cInfo.playerId].HardcoreEnabled = true;
                 Hardcore.Check(_cInfo, _player);
             }
         }
         PersistentContainer.Instance.Players[_cInfo.playerId].OldPlayer = true;
         PersistentContainer.Instance.Save();
     }
     catch (Exception e)
     {
         Log.Out(string.Format("[SERVERTOOLS] Error in API.NewPlayerExec3: {0}", e.Message));
     }
 }
Exemplo n.º 2
0
 public static void ProcessPlayer(ClientInfo _cInfo, EntityPlayer _player)
 {
     try
     {
         string id = _cInfo.CrossplatformId.CombinedString;
         if (NewPlayer.IsEnabled)
         {
             NewPlayer.Exec(_cInfo);
         }
         if (Motd.IsEnabled)
         {
             Motd.Send(_cInfo);
         }
         if (Bloodmoon.IsEnabled)
         {
             Bloodmoon.Exec(_cInfo);
         }
         if (ExitCommand.IsEnabled)
         {
             ExitCommand.AlertPlayer(_cInfo);
         }
         if (Poll.IsEnabled && PersistentContainer.Instance.PollOpen && !PersistentContainer.Instance.PollVote.ContainsKey(id))
         {
             Poll.Message(_cInfo);
         }
         if (Hardcore.IsEnabled)
         {
             if (Hardcore.Optional)
             {
                 if (PersistentContainer.Instance.Players[id].HardcoreEnabled)
                 {
                     Hardcore.Check(_cInfo, _player);
                 }
             }
             else if (!PersistentContainer.Instance.Players[id].HardcoreEnabled)
             {
                 string[] hardcoreStats = { _cInfo.playerName, "0", "0" };
                 PersistentContainer.Instance.Players[id].HardcoreStats   = hardcoreStats;
                 PersistentContainer.Instance.Players[id].HardcoreEnabled = true;
                 PersistentContainer.DataChange = true;
                 Hardcore.Check(_cInfo, _player);
             }
         }
     }
     catch (Exception e)
     {
         Log.Out(string.Format("[SERVERTOOLS] Error in API.ProcessPlayer: {0}", e.Message));
     }
 }
Exemplo n.º 3
0
 public static void OldPlayerJoined(ClientInfo _cInfo)
 {
     if (Hardcore.IsEnabled)
     {
         if (GameManager.Instance.World.Players.dict.ContainsKey(_cInfo.entityId))
         {
             EntityPlayer _player = GameManager.Instance.World.Players.dict[_cInfo.entityId];
             if (_player != null)
             {
                 if (Hardcore.Optional)
                 {
                     if (PersistentContainer.Instance.Players[_cInfo.playerId].HardcoreEnabled)
                     {
                         Hardcore.Check(_cInfo, _player);
                     }
                 }
                 else if (!PersistentContainer.Instance.Players[_cInfo.playerId].HardcoreEnabled)
                 {
                     string[] _hardcoreStats = { _cInfo.playerName, XUiM_Player.GetDeaths(_player).ToString(), "0" };
                     PersistentContainer.Instance.Players[_cInfo.playerId].HardcoreStats   = _hardcoreStats;
                     PersistentContainer.Instance.Players[_cInfo.playerId].HardcoreEnabled = true;
                     Hardcore.Check(_cInfo, _player);
                 }
             }
         }
     }
     if (LoginNotice.IsEnabled && LoginNotice.dict.ContainsKey(_cInfo.playerId))
     {
         LoginNotice.PlayerNotice(_cInfo);
     }
     if (Motd.IsEnabled)
     {
         Motd.Send(_cInfo);
     }
     if (Bloodmoon.IsEnabled)
     {
         Bloodmoon.Exec(_cInfo);
     }
     if (Shutdown.IsEnabled && Shutdown.Alert_On_Login)
     {
         Shutdown.NextShutdown(_cInfo);
     }
     if (BattleLogger.IsEnabled)
     {
         BattleLogger.AlertPlayer(_cInfo);
     }
     if (Poll.IsEnabled && PersistentContainer.Instance.PollOpen && !PersistentContainer.Instance.PollVote.ContainsKey(_cInfo.playerId))
     {
         Poll.Message(_cInfo);
     }
     if (ClanManager.IsEnabled)
     {
         Dictionary <string, string> _clanRequests = PersistentContainer.Instance.Players[_cInfo.playerId].ClanRequestToJoin;
         if (_clanRequests != null && _clanRequests.Count > 0)
         {
             ChatHook.ChatMessage(_cInfo, LoadConfig.Chat_Response_Color + "New clan requests from:[-]", -1, LoadConfig.Server_Response_Name, EChatType.Whisper, null);
             foreach (var _request in _clanRequests)
             {
                 ChatHook.ChatMessage(_cInfo, LoadConfig.Chat_Response_Color + _request.Value + "[-]", -1, LoadConfig.Server_Response_Name, EChatType.Whisper, null);
             }
         }
     }
     if (Event.Open && Event.Teams.ContainsKey(_cInfo.playerId) && PersistentContainer.Instance.Players[_cInfo.playerId].EventSpawn)
     {
         Event.Spawn(_cInfo);
     }
     else if (PersistentContainer.Instance.Players[_cInfo.playerId].EventSpawn)
     {
         PersistentContainer.Instance.Players[_cInfo.playerId].EventSpawn = false;
         PersistentContainer.Instance.Save();
     }
 }
Exemplo n.º 4
0
 public override void PlayerSpawnedInWorld(ClientInfo _cInfo, RespawnType _respawnReason, Vector3i _pos)
 {
     if (Motd.IsEnabled & Motd.Show_On_Respawn)
     {
         Motd.Send(_cInfo);
     }
     if (Bloodmoon.Show_On_Login && Bloodmoon.Show_On_Respawn)
     {
         Bloodmoon.GetBloodmoon(_cInfo, false);
     }
     if (_respawnReason == RespawnType.EnterMultiplayer)
     {
         if (NewSpawnTele.IsEnabled)
         {
             NewSpawnTele.TeleNewSpawn(_cInfo);
         }
         if (StartingItems.IsEnabled)
         {
             if (!NewSpawnTele.IsEnabled)
             {
                 StartingItems.StartingItemCheck(_cInfo);
             }
             else if (NewSpawnTele.New_Spawn_Tele_Position != "0,0,0")
             {
                 StartingItems.Que.Add(_cInfo.playerId);
             }
             else
             {
                 StartingItems.StartingItemCheck(_cInfo);
             }
         }
         if (PersistentContainer.Instance.PollOpen && !Poll.PolledYes.Contains(_cInfo.entityId) && !Poll.PolledNo.Contains(_cInfo.entityId))
         {
             Poll.Message(_cInfo);
         }
         if (Hardcore.IsEnabled)
         {
             Hardcore.Announce(_cInfo);
         }
         PersistentContainer.Instance.Players[_cInfo.playerId, true].SessionTime      = 0;
         PersistentContainer.Instance.Players[_cInfo.playerId, true].ZKills           = 0;
         PersistentContainer.Instance.Players[_cInfo.playerId, true].Deaths           = 0;
         PersistentContainer.Instance.Players[_cInfo.playerId, true].Kills            = 0;
         PersistentContainer.Instance.Players[_cInfo.playerId, true].PlayerSpentCoins = 0;
         PersistentContainer.Instance.Players[_cInfo.playerId, true].PlayerName       = _cInfo.playerName;
         PersistentContainer.Instance.Save();
     }
     if (_respawnReason == RespawnType.JoinMultiplayer)
     {
         EntityPlayer _player     = GameManager.Instance.World.Players.dict[_cInfo.entityId];
         int          _zCount     = XUiM_Player.GetZombieKills(_player);
         int          _deathCount = XUiM_Player.GetDeaths(_player);
         int          _killCount  = XUiM_Player.GetPlayerKills(_player);
         Players.FriendList(_cInfo);
         if (PersistentContainer.Instance.PollOpen && !Poll.PolledYes.Contains(_cInfo.entityId) && !Poll.PolledNo.Contains(_cInfo.entityId))
         {
             Poll.Message(_cInfo);
         }
         if (Hardcore.IsEnabled)
         {
             Hardcore.Check(_cInfo);
         }
         if (PersistentContainer.Instance.Players[_cInfo.playerId, true].EventReturn != null)
         {
             Event.OfflineReturn(_cInfo);
         }
         PersistentContainer.Instance.Players[_cInfo.playerId, true].ZKills     = _zCount;
         PersistentContainer.Instance.Players[_cInfo.playerId, true].Deaths     = _deathCount;
         PersistentContainer.Instance.Players[_cInfo.playerId, true].Kills      = _killCount;
         PersistentContainer.Instance.Players[_cInfo.playerId, true].PlayerName = _cInfo.playerName;
         PersistentContainer.Instance.Save();
     }
     if (_respawnReason == RespawnType.Died)
     {
         if (Hardcore.IsEnabled)
         {
             Hardcore.Check(_cInfo);
         }
         EntityPlayer _player = GameManager.Instance.World.Players.dict[_cInfo.entityId];
         PersistentContainer.Instance.Players[_cInfo.playerId, true].Deaths = XUiM_Player.GetDeaths(_player);
         PersistentContainer.Instance.Save();
         if (Event.Open && Event.SpawnList.Contains(_cInfo.entityId))
         {
             Event.Died(_cInfo);
         }
         if (Zones.IsEnabled && Players.Victim.ContainsKey(_cInfo.entityId))
         {
             _cInfo.SendPackage(new NetPackageGameMessage(EnumGameMessages.Chat, string.Format("{0}Type /return to teleport back to your death position. There is a time limit.[-]", Config.Chat_Response_Color), Config.Server_Response_Name, false, "ServerTools", false));
             PersistentContainer.Instance.Players[_cInfo.playerId, true].RespawnTime = DateTime.Now;
             PersistentContainer.Instance.Save();
             if (Players.Forgive.ContainsKey(_cInfo.entityId))
             {
                 _cInfo.SendPackage(new NetPackageGameMessage(EnumGameMessages.Chat, string.Format("{0}Type /forgive to release your killer from jail.[-]", Config.Chat_Response_Color), Config.Server_Response_Name, false, "ServerTools", false));
             }
         }
     }
     if (_respawnReason == RespawnType.Teleport)
     {
         if (StartingItems.IsEnabled && StartingItems.Que.Contains(_cInfo.playerId))
         {
             StartingItems.StartingItemCheck(_cInfo);
             StartingItems.Que.Remove(_cInfo.playerId);
         }
         if (Players.NoFlight.Contains(_cInfo.entityId))
         {
             Players.NoFlight.Remove(_cInfo.entityId);
         }
         if (HatchElevator.IsEnabled)
         {
             HatchElevator.LastPositionY.Remove(_cInfo.entityId);
         }
     }
     if (Players.Dead.Contains(_cInfo.entityId))
     {
         Players.Dead.Remove(_cInfo.entityId);
     }
 }
Exemplo n.º 5
0
 public static void OldPlayerJoined(ClientInfo _cInfo, EntityPlayer _player)
 {
     try
     {
         if (Hardcore.IsEnabled)
         {
             if (GameManager.Instance.World.Players.dict.ContainsKey(_cInfo.entityId))
             {
                 if (Hardcore.Optional)
                 {
                     if (PersistentContainer.Instance.Players[_cInfo.playerId].HardcoreEnabled)
                     {
                         Hardcore.Check(_cInfo, _player);
                     }
                 }
                 else if (!PersistentContainer.Instance.Players[_cInfo.playerId].HardcoreEnabled)
                 {
                     string[] _hardcoreStats = { _cInfo.playerName, XUiM_Player.GetDeaths(_player).ToString(), "0" };
                     PersistentContainer.Instance.Players[_cInfo.playerId].HardcoreStats   = _hardcoreStats;
                     PersistentContainer.Instance.Players[_cInfo.playerId].HardcoreEnabled = true;
                     PersistentContainer.DataChange = true;
                     Hardcore.Check(_cInfo, _player);
                 }
             }
         }
         if (LoginNotice.IsEnabled && LoginNotice.dict.ContainsKey(_cInfo.playerId))
         {
             LoginNotice.PlayerNotice(_cInfo);
         }
         if (Motd.IsEnabled)
         {
             Motd.Send(_cInfo);
         }
         if (Bloodmoon.IsEnabled)
         {
             Bloodmoon.Exec(_cInfo);
         }
         if (Shutdown.IsEnabled && Shutdown.Alert_On_Login)
         {
             Shutdown.NextShutdown(_cInfo);
         }
         if (ExitCommand.IsEnabled)
         {
             ExitCommand.AlertPlayer(_cInfo);
         }
         if (Poll.IsEnabled && PersistentContainer.Instance.PollOpen && !PersistentContainer.Instance.PollVote.ContainsKey(_cInfo.playerId))
         {
             Poll.Message(_cInfo);
         }
         if (ClanManager.IsEnabled)
         {
             Dictionary <string, string> _clanRequests = PersistentContainer.Instance.Players[_cInfo.playerId].ClanRequestToJoin;
             if (_clanRequests != null && _clanRequests.Count > 0)
             {
                 ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + "New clan requests from:[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null);
                 foreach (var _request in _clanRequests)
                 {
                     ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + _request.Value + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null);
                 }
             }
         }
         //If they are in a clan, check if we should get them into a party
         ClanManager.checkClanParty(_cInfo, _player);
         if (Event.Open && Event.Teams.ContainsKey(_cInfo.playerId) && PersistentContainer.Instance.Players[_cInfo.playerId].EventSpawn)
         {
             Event.Spawn(_cInfo);
         }
         else if (PersistentContainer.Instance.Players[_cInfo.playerId].EventSpawn)
         {
             PersistentContainer.Instance.Players[_cInfo.playerId].EventSpawn = false;
             PersistentContainer.DataChange = true;
         }
     }
     catch (Exception e)
     {
         Log.Out(string.Format("[SERVERTOOLS] Error in API.OldPlayerJoined: {0}", e.Message));
     }
 }
Exemplo n.º 6
0
 public static void OldPlayerJoined(ClientInfo _cInfo, EntityPlayer _player)
 {
     try
     {
         string id = _cInfo.CrossplatformId.CombinedString;
         if (Hardcore.IsEnabled && PersistentContainer.Instance.Players[id] != null)
         {
             if (Hardcore.Optional)
             {
                 if (PersistentContainer.Instance.Players[id].HardcoreEnabled)
                 {
                     Hardcore.Check(_cInfo, _player);
                 }
             }
             else if (!PersistentContainer.Instance.Players[id].HardcoreEnabled)
             {
                 string[] hardcoreStats = { _cInfo.playerName, "0", "0" };
                 PersistentContainer.Instance.Players[id].HardcoreStats   = hardcoreStats;
                 PersistentContainer.Instance.Players[id].HardcoreEnabled = true;
                 PersistentContainer.DataChange = true;
                 Hardcore.Check(_cInfo, _player);
             }
         }
         if (LoginNotice.IsEnabled && LoginNotice.Dict1.ContainsKey(_cInfo.PlatformId.CombinedString) || LoginNotice.Dict1.ContainsKey(id))
         {
             LoginNotice.PlayerNotice(_cInfo);
         }
         if (Motd.IsEnabled)
         {
             Motd.Send(_cInfo);
         }
         if (Bloodmoon.IsEnabled)
         {
             Bloodmoon.Exec(_cInfo);
         }
         if (Shutdown.IsEnabled && Shutdown.Alert_On_Login)
         {
             Shutdown.NextShutdown(_cInfo);
         }
         if (ExitCommand.IsEnabled)
         {
             ExitCommand.AlertPlayer(_cInfo);
         }
         if (Poll.IsEnabled && PersistentContainer.Instance.PollOpen && !PersistentContainer.Instance.PollVote.ContainsKey(id))
         {
             Poll.Message(_cInfo);
         }
         if (ClanManager.IsEnabled && PersistentContainer.Instance.Players[id] != null)
         {
             Dictionary <string, string> clanRequests = PersistentContainer.Instance.Players[id].ClanRequestToJoin;
             if (clanRequests != null && clanRequests.Count > 0)
             {
                 ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + "New clan requests from:[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null);
                 foreach (var request in clanRequests)
                 {
                     ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + request.Value + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null);
                 }
             }
         }
         if (PersistentContainer.Instance.Players[id] != null)
         {
             if (PersistentContainer.Instance.Players[id].EventSpawn)
             {
                 PersistentContainer.Instance.Players[id].EventSpawn = false;
                 PersistentContainer.DataChange = true;
             }
             if (Wallet.IsEnabled && PersistentContainer.Instance.Players[id].PlayerWallet > 0)
             {
                 Wallet.AddCurrency(id, PersistentContainer.Instance.Players[id].PlayerWallet);
                 PersistentContainer.Instance.Players[id].PlayerWallet = 0;
                 PersistentContainer.DataChange = true;
             }
             if (PersistentContainer.Instance.Players[id].JailRelease)
             {
                 PersistentContainer.Instance.Players[id].JailRelease = false;
                 PersistentContainer.DataChange = true;
                 Vector3[] _pos = GameManager.Instance.World.GetRandomSpawnPointPositions(1);
                 _cInfo.SendPackage(NetPackageManager.GetPackage <NetPackageTeleportPlayer>().Setup(new Vector3(_pos[0].x, _pos[0].y + 1, _pos[0].z), null, false));
                 Phrases.Dict.TryGetValue("Jail2", out string phrase);
                 ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null);
             }
         }
         if (AutoPartyInvite.IsEnabled)
         {
             AutoPartyInvite.Exec(_cInfo, _player);
         }
         if (Event.Open && Event.Teams.ContainsKey(id) && PersistentContainer.Instance.Players[id] != null && PersistentContainer.Instance.Players[id].EventSpawn)
         {
             Event.Spawn(_cInfo);
         }
     }
     catch (Exception e)
     {
         Log.Out(string.Format("[SERVERTOOLS] Error in API.OldPlayerJoined: {0}", e.Message));
     }
 }