Example #1
0
 public void PlayerDisconnectedHandler(object sender, Events.PlayerDisconnectedEventArgs e)
 {
     if (!IsOn)
     {
         return;
     }
     if (e.Player.IsPropHuntSeeker)
     {
         if (PropHuntPlayers.Contains(e.Player))
         {
             PropHuntPlayers.Remove(e.Player);
         }
         if (PropHuntPlayers.Count > 1)
         {
             Server.Message("&WThe seeker left the server. A new seeker will be chosen.");
             ChooseSeeker();
         }
         Server.Message("&WThere are not enough players to continue the game.");
         CheckScore();
     }
     if (e.Player.IsSolidBlock)
     {
         RemoveSolid(e.Player);
     }
     RevertPlayer(e.Player);
 }
Example #2
0
 //check if player left server to reset stats
 public static void PlayerLeftServer(object poo, fCraft.Events.PlayerDisconnectedEventArgs e)
 {
     e.Player.Info.isPlayingInfection = false;
     if (e.Player.Info.isInfected)
     {
         e.Player.Info.isInfected = false;
         e.Player.entityChanged   = false;
         e.Player.iName           = null;
     }
 }
Example #3
0
 public static void Player_Disconnected(object sender, Events.PlayerDisconnectedEventArgs e)
 {
     if (e.Player.Info.IsFollowing)
     {
         foreach (Player d in e.Player.World.Map.Dummys)
         {
             if (d.Info.DummyID.ToString() == e.Player.Info.followingID && !d.Info.Static)
             {
                 if (d.Info.IsFollowing)
                 {
                     d.Info.IsFollowing = false;
                     Logger.Log(LogType.SystemActivity, "Dummy '{0}' stopped following {1} (Disconnected)", d.Info.DummyName, e.Player.Name);
                 }
             }
         }
     }
 }
Example #4
0
 static void PlayerDisconnectedHandler( object sender, PlayerDisconnectedEventArgs e ) {
     if( e.Player.HasFullyConnected && ConfigKey.IRCBotAnnounceServerJoins.Enabled() && !e.Player.Info.IsHidden ) {
         ShowPlayerDisconnectedMsg( e.Player, e.LeaveReason );
     }
 }
Example #5
0
        public static void playerDisconnected(object sender, PlayerDisconnectedEventArgs e)
        {
            try
            {
                if (e.Player.World != null)
                {
                    if (e.Player.World.IsLoaded)
                    {
                        Map map = e.Player.World.Map;
                        if (e.Player.orangePortal.Count > 0)
                        {
                            int i = 0;
                            foreach (Vector3I block in e.Player.orangePortal)
                            {
                                map.QueueUpdate(new BlockUpdate(null, block, e.Player.orangeOld[i]));
                                i++;
                            }
                            e.Player.orangeOld.Clear();
                            e.Player.orangePortal.Clear();
                        }

                        if (e.Player.bluePortal.Count > 0)
                        {
                            int i = 0;
                            foreach (Vector3I block in e.Player.bluePortal)
                            {
                                map.QueueUpdate(new BlockUpdate(null, block, e.Player.blueOld[i]));
                                i++;
                            }
                            e.Player.blueOld.Clear();
                            e.Player.bluePortal.Clear();
                        }
                    }
                    else
                    {
                        if (e.Player.bluePortal.Count > 0)
                        {
                            e.Player.World.Map.Blocks[e.Player.World.Map.Index(e.Player.bluePortal[0])] = (byte)e.Player.blueOld[0];
                            e.Player.World.Map.Blocks[e.Player.World.Map.Index(e.Player.bluePortal[1])] = (byte)e.Player.blueOld[1];
                        }
                        if (e.Player.orangePortal.Count > 0)
                        {
                            e.Player.WorldMap.Blocks[e.Player.WorldMap.Index(e.Player.orangePortal[0])] = (byte)e.Player.orangeOld[0];
                            e.Player.WorldMap.Blocks[e.Player.WorldMap.Index(e.Player.orangePortal[1])] = (byte)e.Player.orangeOld[1];
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Log(LogType.SeriousError, "GunPortalDisconnected: " + ex);
            }
        }
 public void OnPlayerDisconnected(object sender, PlayerDisconnectedEventArgs args)
 {
     lock (_lock)
     {
         //try to
         _tracker.RemovePlayer(args.Player);
     }
 }
Example #7
0
 internal static void PlayerDisconnectedHandler(object sender, PlayerDisconnectedEventArgs e)
 {
     if (e.Player.HasFullyConnected && ConfigKey.IRCBotAnnounceServerJoins.Enabled() && (e.IsFake || !e.Player.Info.IsHidden))
     {
         string message = String.Format("{0}&S* {1}&S left the server ({2})",
                          Color.IRCBold,
                          e.Player.ClassyName,
                          e.LeaveReason);
         SendAction(message);
     }
 }
Example #8
0
 public static void PlayerDisconnected(object sender, PlayerDisconnectedEventArgs e)
 {
     if (GameManager.GameIsOn)
     {
         if (GameManager.BlueTeam.Contains(e.Player))
             GameManager.BlueTeam.Remove(e.Player);
         else if (GameManager.RedTeam.Contains(e.Player))
             GameManager.RedTeam.Remove(e.Player);
         else return;
     }
 }
Example #9
0
 public static void Player_Disconnected( object sender, PlayerDisconnectedEventArgs e )
 {
     World world = e.Player.World;
     object o;
     if ( e.Player.PublicAuxStateObjects.TryGetValue( "bug", out o ) ) {
         ExplodingBug b = ( ExplodingBug )o;
         b.Stop();
     }
 }