Exemplo n.º 1
0
 static void SalirSala(SessionInstance Session, string[,] Parameters)
 {
     if (Session.User != null)
     {
         if (Session.User.Sala != null)
         {
             if (Session.User.block_upper == true)
             {
                 Session.User.block_upper = false;
                 Session.User.colores     = Session.User.colores_old;
                 Session.User.colores_old = "";
             }
             if (SalaInstance.UsuariosEnObjetos.ContainsKey(Session.User.id))
             {
                 SalaInstance.UsuariosEnObjetos.Remove(Session.User.id);
             }
             SalasManager.Salir_Sala(Session);
         }
     }
 }
Exemplo n.º 2
0
 public void ExpusarUsuarios()
 {
     try
     {
         while (Usuarios.Count >= 1)
         {
             List <SessionInstance> SessionToRemove = new List <SessionInstance>();
             foreach (var Session in Usuarios.Values)
             {
                 SessionToRemove.Add(Session);
             }
             foreach (var Session in SessionToRemove)
             {
                 SalasManager.Salir_Sala(Session, true);
             }
         }
     }
     catch
     {
     }
 }
Exemplo n.º 3
0
        static void Pocion_Tiempo_Manager()
        {
            foreach (SessionInstance Session in UserManager.UsuariosOnline.Values)
            {
                if (Session.User.comprobar_conexion > 0)
                {
                    Session.User.comprobar_conexion--;
                }
                if (Session.User.comprobar_conexion == 0)
                {
                    Session.User.comprobar_conexion = 10;
                }
                if (Session.User.TiempoPocion > 0 && Session.User.Efecto != 0)
                {
                    Session.User.TiempoPocion -= 1;
                }
                else if (Session.User.TiempoPocion == 0 && Session.User.Efecto != 0)
                {
                    if (Session.User.PreLock_Interactuando == true)
                    {
                        return;
                    }

                    if (PocionesHandler.Pociones_FlowerPower.Contains(Session.User.Efecto))
                    {
                        SalasManager.Salir_Sala(Session, true);
                    }
                    else if (Session.User.Efecto == 11 || Session.User.Efecto == 12)
                    {
                        PocionesHandler.QuitarPocion_FE(Session);
                    }
                    else
                    {
                        PocionesHandler.QuitarPocion_FE(Session);
                    }
                    Session.User.Efecto = 0;
                }
            }
        }
Exemplo n.º 4
0
 static void ExpulsarUsuario(SessionInstance Session, string[,] Parameters)
 {
     if (Session.User != null)
     {
         if (Session.User.Sala != null)
         {
             if (EscenariosManager.ControlDeSeguridad(Session.User, Session.User.Sala.Escenario))
             {
                 SessionInstance SessionToKick = UserManager.ObtenerSession(int.Parse(Parameters[1, 0]));
                 if (SessionToKick != null)
                 {
                     SessionInstance SessionToKick_2 = Session.User.Sala.ObtenerSession(SessionToKick.User.IDEspacial);
                     if (SessionToKick_2 != null)
                     {
                         if (SessionToKick_2.User.id == SessionToKick.User.id)
                         {
                             SalasManager.Salir_Sala(SessionToKick, true);
                         }
                     }
                 }
             }
         }
     }
 }
Exemplo n.º 5
0
        public static void Banear_Usuario_Autoclick_Manager(int Usuario_ID, bool Auto)
        {
            string mensaje = "";

            if (Auto == true)
            {
                mensaje = "El uso de Autoclick esta prohibido en BoomBang. Podras volver a conectarte en 1 hora. Créditos: -100 de oro";
            }
            if (Auto == false)
            {
                mensaje = "El uso de Programas esta prohibido en BoomBang. Podras volver a conectarte en 1 hora. Créditos: -100 de oro";
            }
            foreach (SessionInstance Session in UserManager.UsuariosOnline.Values)
            {
                SessionInstance OtherSession = UserManager.ObtenerSession(Usuario_ID);
                if (OtherSession.User.Sala != null)
                {
                    OtherSession.User.baneo = Time.GetCurrentAndAdd(AddType.Horas, 1);
                    using (mysql client = new mysql())
                    {
                        client.ExecuteNonQuery("UPDATE usuarios SET baneo = '" + OtherSession.User.baneo + "' WHERE id = '" + OtherSession.User.id + "'");
                    }
                    ServerMessage ban = new ServerMessage();
                    ban.AddHead(185);
                    ban.AddHead(0);
                    ban.AppendParameter(mensaje);
                    OtherSession.SendData(ban);
                    OtherSession.User.Contar_Auto = 0;
                    UserManager.Creditos(OtherSession.User, true, false, 100);
                    OtherSession.User.contador_baneo++;
                    UserManager.ActualizarEstadisticas(OtherSession.User);
                    SalasManager.Salir_Sala(OtherSession);
                    UserManager.Desactivar_Usuario(OtherSession);
                }
            }
        }