コード例 #1
0
 static void Uppert_Kick(SessionInstance Session, SalaInstance Sala)
 {
     Thread.Sleep(new TimeSpan(0, 0, 5));
     if (Session.User.Sala.id == Sala.id && Session.User.Sala.Escenario.es_categoria == Sala.Escenario.es_categoria)
     {
         SalasManager.Salir_Sala(Session, true);
     }
 }
コード例 #2
0
        public static int Visitantes(IslaInstance Isla)
        {
            int num = 0;

            foreach (EscenarioInstance Zona in ZonasIsla(Isla))
            {
                num += SalasManager.UsuariosEnSala(Zona);
            }
            return(num);
        }
コード例 #3
0
        public static void EliminarEscenario(EscenarioInstance Escenario)
        {
            using (mysql client = new mysql())
            {
                client.SetParameter("id", Escenario.id);
                if (Escenario.es_categoria == 0)
                {
                    client.ExecuteNonQuery("DELETE FROM escenarios_privados WHERE id = @id");
                    client.SetParameter("id", Escenario.id);
                    foreach (DataRow row in client.ExecuteQueryTable("SELECT * FROM objetos_comprados WHERE sala_id = @id").Rows)
                    {
                        BuyObjectInstance Compra  = new BuyObjectInstance(row);
                        SessionInstance   Session = UserManager.ObtenerSession(Compra.usuario_id);
                        if (Session != null)
                        {
                            ServerMessage añadir_mochila = new ServerMessage();
                            añadir_mochila.AddHead(189);
                            añadir_mochila.AddHead(139);
                            añadir_mochila.AppendParameter(Compra.id);
                            añadir_mochila.AppendParameter(Compra.objeto_id);
                            añadir_mochila.AppendParameter(Compra.colores_hex);
                            añadir_mochila.AppendParameter(Compra.colores_rgb);
                            añadir_mochila.AppendParameter(0);
                            añadir_mochila.AppendParameter(0);
                            añadir_mochila.AppendParameter(Compra.tam);
                            añadir_mochila.AppendParameter(0);
                            añadir_mochila.AppendParameter(0);
                            añadir_mochila.AppendParameter(0);
                            añadir_mochila.AppendParameter(1);//CantidadObjetos
                            Session.SendData(añadir_mochila);
                        }
                        else
                        {
                            break;
                        }
                    }
                    client.SetParameter("id", Escenario.id);
                    client.ExecuteNonQuery("UPDATE objetos_comprados SET sala_id = '0' WHERE sala_id = @id");
                }
                if (Escenario.es_categoria == 1)
                {
                    client.ExecuteNonQuery("DELETE FROM escenarios_publicos WHERE id = @id");
                }
            }
            SalaInstance Sala = SalasManager.ObtenerSala(Escenario);

            if (Sala != null)
            {
                SalasManager.EliminarSala(Sala);
            }
        }
コード例 #4
0
        public static void RenombrarEscenario(EscenarioInstance Escenario, string nombre)
        {
            using (mysql client = new mysql())
            {
                client.SetParameter("id", Escenario.id);
                client.SetParameter("nombre", nombre);
                if (Escenario.es_categoria == 0)
                {
                    client.ExecuteNonQuery("UPDATE escenarios_privados SET nombre = @nombre WHERE id = @id");
                }
            }
            SalaInstance Sala = SalasManager.ObtenerSala(Escenario);

            if (Sala != null)
            {
                Sala.Escenario.nombre = nombre;
            }
        }
コード例 #5
0
 public static void CerrarSesion(SessionInstance Session, string error)
 {
     if (Session.User != null)
     {
         UserManager.Ajustar_Remuneracion(Session.User);
         MiniGamesManager.CancelarInscripciones(Session.User);
         if (Session.User.Sala != null)
         {
             SalasManager.Salir_Sala(Session);
         }
         UsuariosOnline.Remove(Session.User.id);
         if (Program.ver_conexion_usuarios == true)
         {
             Output.WriteLine("[UserManager] -> Se ha desconectado " + Session.User.nombre + ". > " + error);
         }
         ActualizarUsuarios();
         Program.UpdateTitle();
     }
 }
コード例 #6
0
 void Llamar(List <SessionInstance> Sessiones, SalaInstance Sala)
 {
     foreach (SessionInstance Session in Sessiones)
     {
         if (Session.User == null)
         {
             continue;
         }
         Session.User.Jugando = true;
         if (Session.User.Sala != null)
         {
             if (Session.User.Sala.Escenario.categoria == 5)
             {
                 continue;
             }
         }
         ServerMessage server = new ServerMessage();
         server.AddHead(207);
         Session.SendData(server);
     }
     Thread.Sleep(new TimeSpan(0, 0, 10));
     foreach (SessionInstance Session in Sessiones)
     {
         if (Session.User == null)
         {
             continue;
         }
         if (Session.User.Sala != null)
         {
             if (Session.User.Sala.Escenario.categoria == 5)
             {
                 continue;
             }
         }
         if (SalasManager.Entrar_Sala(Session, Sala, null))
         {
             Sala.CargarEscenario(Session);
         }
     }
 }
コード例 #7
0
 public static void EjecutarTrampa(SessionInstance Session, TrampaInstance Trampa, bool publica)
 {
     if (Session.User != null)
     {
         if (Session.User.Sala != null)
         {
             if (publica == false)
             {
                 mysql client = new mysql();
                 client.SetParameter("modelo", Trampa.modelo);
                 DataRow muchila = client.ExecuteQueryRow("SELECT * FROM objetos_comprados WHERE id = @modelo");
                 if (muchila != null)
                 {
                     int objeto_id = (int)muchila["objeto_id"];
                     if (objeto_id == 1230)//Liana
                     {
                         Session.User.Time_Interactuando = Time.GetCurrentAndAdd(AddType.Segundos, 10);
                         Session.User.Trayectoria.DetenerMovimiento();
                         ServerMessage liana = new ServerMessage();
                         liana.AddHead(147);
                         liana.AppendParameter(Session.User.IDEspacial);
                         Session.User.Sala.SendData(liana);
                         Thread.Sleep(new TimeSpan(0, 0, 10));
                         SalasManager.Salir_Sala(Session, true);
                     }
                     else if (objeto_id == 1229)//Coco
                     {
                         Session.User.Time_Interactuando = Time.GetCurrentAndAdd(AddType.Segundos, 6);
                         Session.User.Trayectoria.DetenerMovimiento();
                         Session.User.Sala.Map[Session.User.Posicion.y, Session.User.Posicion.x].FijarSession(null);
                         ServerMessage coco = new ServerMessage();
                         coco.AddHead(184);
                         coco.AddHead(120);
                         coco.AppendParameter(Session.User.id);
                         coco.AppendParameter(0);
                         coco.AppendParameter(35);
                         Session.User.Sala.SendData(coco);
                         Thread.Sleep(new TimeSpan(0, 0, 6));
                         Session.User.Posicion = Trampa.MoverUsuario;
                         ServerMessage server = new ServerMessage();
                         server.AddHead(135);
                         server.AppendParameter(Session.User.IDEspacial);
                         server.AppendParameter(Session.User.Posicion.x);
                         server.AppendParameter(Session.User.Posicion.y);
                         server.AppendParameter(Session.User.Posicion.z);
                         Session.User.Sala.SendData(server, Session);
                     }
                     else //Portales Magicos
                     {
                         if (Trampa.go_es_categoria >= 0)
                         {
                             if (Trampa.go_escenario_id >= 1)
                             {
                                 Session.User.Time_Interactuando = Time.GetCurrentAndAdd(AddType.Segundos, 1);
                                 Session.User.Trayectoria.DetenerMovimiento();
                                 Thread.Sleep(new TimeSpan(0, 0, 1));
                                 if (Trampa.go_escenario_posicion.x != -1 && Trampa.go_escenario_posicion.y != -1)
                                 {
                                     SalasManager.IrAlli(Session, Trampa.go_es_categoria, Trampa.go_escenario_id, Trampa.go_escenario_posicion);
                                     return;
                                 }
                                 SalasManager.IrAlli(Session, Trampa.go_es_categoria, Trampa.go_escenario_id);
                                 return;
                             }
                         }
                     }
                 }
             }
             else if (publica == true)
             {
                 if (Trampa.go_es_categoria >= 0)
                 {
                     if (Trampa.go_escenario_id >= 1)
                     {
                         Session.User.Time_Interactuando = Time.GetCurrentAndAdd(AddType.Segundos, 1);
                         Session.User.Trayectoria.DetenerMovimiento();
                         Thread.Sleep(new TimeSpan(0, 0, 1));
                         if (Trampa.go_escenario_posicion.x != -1 && Trampa.go_escenario_posicion.y != -1)
                         {
                             SalasManager.IrAlli(Session, Trampa.go_es_categoria, Trampa.go_escenario_id, Trampa.go_escenario_posicion);
                             return;
                         }
                         SalasManager.IrAlli(Session, Trampa.go_es_categoria, Trampa.go_escenario_id);
                         return;
                     }
                 }
             }
         }
     }
 }