Exemple #1
0
 static void Validar_Clave_Acceso(SessionInstance Session, string[,] Parameters)
 {
     if (Session.User != null)
     {
         if (Session.User.PreLock__Proteccion_SQL == true)
         {
             return;
         }
         if (Session.User.Sala != null)
         {
             return;
         }
         mysql   client = new mysql();
         DataRow row    = client.ExecuteQueryRow("SELECT * FROM escenarios_privados WHERE id = '" + int.Parse(Parameters[0, 0]) + "'");
         if (row != null)
         {
             EscenarioInstance Escenario = new EscenarioInstance(row);
             if (Escenario.categoria != 2)
             {
                 return;
             }
             if (!string.IsNullOrEmpty(Escenario.Clave))
             {
                 if (Escenario.Clave != Parameters[1, 0])
                 {
                     Packet_189_123(Session);
                     return;
                 }
             }
             SalasManager.IrAlli(Session, Escenario.es_categoria, Escenario.id, null, true);
         }
         Session.User.PreLock__Proteccion_SQL = true;
     }
 }
Exemple #2
0
 static void GoRoom(SessionInstance Session, string[,] Parameters)
 {
     Thread.Sleep(new TimeSpan(0, 0, 0, 0, 500));
     if (Session.User != null)
     {
         if (Session.User.Sala != null)
         {
             return;
         }
         int id_sala = int.Parse(Parameters[1, 0]);
         if (int.Parse(Parameters[1, 0]) == 30 && int.Parse(Parameters[0, 0]) == 1)//Cementerio Entradas
         {
             Random rd    = new Random();
             int[]  areas = { 50, 46, 26, 30 };
             id_sala = areas[rd.Next(0, 4)];                                             //0+1+2+3
         }
         else if (int.Parse(Parameters[1, 0]) == 78 && int.Parse(Parameters[0, 0]) == 1) //Madriguera Entradas
         {
             Random rd    = new Random();
             int[]  areas = { 83, 82, 90, 84 };
             id_sala = areas[rd.Next(0, 4)];                                             //0+1+2+3
         }
         else if (int.Parse(Parameters[1, 0]) == 57 && int.Parse(Parameters[0, 0]) == 1) //Bosque Nevado Entradas
         {
             Random rd    = new Random();
             int[]  areas = { 60, 64, 72, 63 };
             id_sala = areas[rd.Next(0, 4)]; //0+1+2+3
         }
         if (!SalasManager.IrAlli(Session, int.Parse(Parameters[0, 0]), id_sala))
         {
             Packet_128_120(Session);
             Session.User.PreLock__Spamm_Areas = true;
         }
     }
 }
Exemple #3
0
 static void Main(string[] args)
 {
     try
     {
         UpdateTitle();
         Output.WriteLine($"Emulador Enterprise Edition {vercion}");
         SessionManager.Initialize(server);
         HandlerManager.Initialize();
         SalasManager.Initialize();
         Output.WriteLine("Visualizar la conexión de usuarios: " + (ver_conexion_usuarios == true ? "true" : "false"));
         Output.WriteLine("Servidor iniciado correctamente!");
         Output.WriteLine("_________________________________________________");
         ServerThreads.Initialize();
         Console.Beep();
         if (control_panel == true)
         {
             panel_control form = new panel_control();
             form.ShowDialog();
         }
     }
     catch (Exception ex)
     {
         Output.WriteLine(ex.ToString()); Program.EditorialResponse(ex);
         Console.ReadKey();
     }
 }
Exemple #4
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);
         }
     }
 }
Exemple #5
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
     {
     }
 }
Exemple #6
0
 static void GoRoom_Subareas(SessionInstance Session, string[,] Parameters)
 {
     Thread.Sleep(new TimeSpan(0, 0, 0, 0, 500));
     if (Session.User != null)
     {
         int Categoria = int.Parse(Parameters[0, 0]);
         if (Categoria == -1)
         {
             Categoria = 1;
         }
         if (Session.User.PreLock__Spamm_Areas == true)
         {
             return;
         }
         if (!SalasManager.IrAlli(Session, int.Parse(Parameters[0, 0]), int.Parse(Parameters[1, 0]), null, false))
         {
             Packet_128_120(Session);
             Session.User.PreLock__Spamm_Areas = true;
         }
     }
 }
Exemple #7
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;
                }
            }
        }
Exemple #8
0
        private static void Packet_154_32(SessionInstance Session)
        {
            mysql client = new mysql();
            Dictionary <int, int> areas  = new Dictionary <int, int>();
            ServerMessage         server = new ServerMessage();

            server.AddHead(154);
            server.AddHead(32);
            foreach (DataRow row in client.ExecuteQueryTable("SELECT * FROM escenarios_publicos WHERE visible = '1' ORDER BY prioridad ASC").Rows)
            {
                areas.Add((int)row["id"], SalasManager.UsuariosEnSala(new EscenarioInstance(row)));
            }
            foreach (var escenario in areas.OrderByDescending(x => x.Value))
            {
                client.SetParameter("id", escenario.Key);
                DataRow row = client.ExecuteQueryRow("SELECT * FROM escenarios_publicos WHERE id = @id");
                server.AppendParameter(row["categoria"]);
                server.AppendParameter(row["es_categoria"]);
                server.AppendParameter(row["id"]);
                server.AppendParameter(row["nombre"]);
                server.AppendParameter(SalasManager.UsuariosEnSala(new EscenarioInstance(row)));
            }
            Session.SendDataProtected(server);
        }
Exemple #9
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);
                         }
                     }
                 }
             }
         }
     }
 }
Exemple #10
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);
                }
            }
        }
Exemple #11
0
        public void LoadObjects(SessionInstance Session)
        {
            ServerMessage server = new ServerMessage();
            Random        rd     = new Random();

            if (Escenario.es_categoria == 2)
            {
                server.AddHead(128);
                server.AddHead(121);
                server.AddHead(122);
                server.AppendParameter(1);
                if (Escenario.modelo == 2 || Escenario.modelo == 3)
                {
                    server.AppendParameter(1);
                }
                if (Escenario.modelo == 6 || Escenario.modelo == 7)
                {
                    server.AppendParameter(1);
                }
                if (Escenario.modelo == 8)
                {
                    server.AppendParameter(1);
                }
                if (Escenario.modelo == 9)
                {
                    server.AppendParameter(1);
                }
                if (Escenario.modelo == 12 || Escenario.modelo == 13)
                {
                    server.AppendParameter(1);
                }
                server.AppendParameter(0);
            }
            if (Escenario.es_categoria == 1)
            {
                server.AddHead(128);
                server.AddHead(121);
                server.AddHead(120);
                npcManager.ObtenerNPC(server, Session.User.Sala.Escenario.id);
            }
            if (Escenario.es_categoria == 0)
            {
                server.AddHead(128);
                server.AddHead(121);
                server.AddHead(121);
                if (Escenario.categoria == 2)
                {
                    server.AppendParameter(1);
                }
                if (Escenario.categoria == 4)
                {
                    server.AppendParameter(3);
                }
                server.AppendParameter(0);
                server.AppendParameter(Escenario.IslaID);
                server.AppendParameter(Escenario.id);
                server.AppendParameter(Escenario.id);
                server.AppendParameter(Escenario.color_1);
                server.AppendParameter(Escenario.color_2);
                server.AppendParameter(0);
                server.AppendParameter(Escenario.Creador.id);
                server.AppendParameter(new object[] { 1, -1, -1, 4, 5, 6, 7, 8, 9, 10, 0, -1, 13, 14, -1, 16 });
                server.AppendParameter(new object[] { 4, -1, -1, 4, 4, 4, 4, 4, 4, 4, 0, -1, 4, 4, -1, 4 });
                server.AppendParameter(new object[] { 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0 });//Puerta Categoría
                server.AppendParameter(CasasManager.Get_Door_Location_Model(Escenario, Escenario.Creador.id));
                server.AppendParameter(new object[] { "puerta_1", "puerta_2", "puerta_3", "puerta_4", "puerta_5", "puerta_6", "puerta_7", "puerta_8", "puerta_9", "puerta_10", "puerta_11", "puerta_12", "puerta_13", "puerta_14", "puerta_15", "puerta_16" });
                server.AppendParameter(CasasManager.Get_Key(Escenario.modelo));
                server.AppendParameter(new object[] { 0, 0, 0, 578, 631, 149, 210, 319, 0, 445, 1120, 0, 0 });//Aqui van las llaves de las casas
                server.AppendParameter(new object[] { Escenario.terreno_something_1, Escenario.object_something_1 });
                server.AppendParameter(new object[] { Escenario.terreno_something_2, Escenario.object_something_2 });
                server.AppendParameter(new object[] { Escenario.terreno_something_3, Escenario.object_something_3 });
                server.AppendParameter(new object[] { Escenario.terreno_config, Escenario.object_config });
                server.AppendParameter(new object[] { Escenario.terreno_colores, Escenario.object_colores });
                server.AppendParameter(new object[] { Escenario.terreno_rgb, Escenario.object_rgb });

                LoadObjects();
                server.AppendParameter(ObjetosEnSala.Count);
                foreach (BuyObjectInstance Item in ObjetosEnSala.Values)
                {
                    if (listas.Plantas.Contains(Item.objeto_id))
                    {
                        PlantasManager.cargar_planta(Session, Item);
                    }
                    server.AppendParameter(Item.id);
                    server.AppendParameter(Item.objeto_id);
                    server.AppendParameter(Item.posX);
                    server.AppendParameter(Item.posY);
                    server.AppendParameter(Item.rotation);//rotation
                    server.AppendParameter(Item.tam);
                    server.AppendParameter(0);
                    if (CatalogoManager.lianas_cocos.Contains(Item.objeto_id))
                    {
                        server.AppendParameter(""); //Espacio Ocupado
                    }
                    else
                    {
                        server.AppendParameter(Item.espacio_ocupado); //Espacio Ocupado
                    }
                    server.AppendParameter(Item.colores_hex);         //color_1
                    server.AppendParameter(Item.colores_rgb);         //color_2
                    server.AppendParameter("0");                      //Data
                    server.AppendParameter("0");                      //Other
                    if (Item.objeto_id == 370)                        //Contador de visitas de islas
                    {
                        mysql client         = new mysql();
                        int   contador_islas = Convert.ToInt32(Item.data) + 1;
                        Item.data = Convert.ToString(contador_islas);
                        client.SetParameter("id", Item.id);
                        client.SetParameter("data", Item.data);
                        client.ExecuteNonQuery("UPDATE objetos_comprados SET data = @data WHERE id = @id");
                        server.AppendParameter(Item.data);
                    }
                    else if (listas.Objetos_Area.Contains(Item.objeto_id))
                    {
                        mysql client = new mysql();
                        client.SetParameter("id", Item.id);
                        DataRow objeto = client.ExecuteQueryRow("SELECT * FROM objetos_comprados WHERE id = @id");
                        if (objeto != null)
                        {
                            client.SetParameter("id", Item.id);
                            DataRow row = client.ExecuteQueryRow("SELECT * FROM escenarios_privados WHERE objeto_id = @id");
                            if (row != null)
                            {
                                Item.open = (int)objeto["open"];
                                server.AppendParameter(new object[] { Item.id, 0, Item.data, Item.open == 0 ? "": "1",
                                                                      Item.data, 12, SalasManager.UsuariosEnSala(new EscenarioInstance(row)) });
                            }
                        }
                    }
                    else
                    {
                        server.AppendParameter(Item.data);
                    }
                }
                server.AppendParameter(0);
                server.AppendParameter(Usuarios.Count);
            }
            foreach (SessionInstance OtherSession in Usuarios.Values)
            {
                server.AppendParameter(OtherSession.User.IDEspacial);
                server.AppendParameter(OtherSession.User.nombre);
                server.AppendParameter((OtherSession.User.ModoNinja ? 12 : OtherSession.User.avatar));
                if (Escenario.tipo_evento == 2 && OtherSession.User.nivel_ninja == 0 && OtherSession.User.NinjaColores_Sala == "" || Escenario.tipo_evento_isla == 2 && OtherSession.User.nivel_ninja == 0 && OtherSession.User.NinjaColores_Sala == "")
                {
                    server.AppendParameter((OtherSession.User.ModoNinja ? OtherSession.User.Colores_traje_blanco(Session) : OtherSession.User.colores));
                }
                else if (OtherSession.User.NinjaColores_Sala != "")
                {
                    server.AppendParameter((OtherSession.User.ModoNinja ? OtherSession.User.NinjaColores_Sala : OtherSession.User.colores));
                }
                else
                {
                    server.AppendParameter((OtherSession.User.ModoNinja ? OtherSession.User.Colores_traje(Session) : OtherSession.User.colores));
                }
                server.AppendParameter(OtherSession.User.Posicion.x);
                server.AppendParameter(OtherSession.User.Posicion.y);
                server.AppendParameter(OtherSession.User.Posicion.z);
                server.AppendParameter("BoomBang");
                server.AppendParameter(OtherSession.User.edad);
                server.AppendParameter(MonthDifference(Convert.ToDateTime(OtherSession.User.fecha_registro), DateTime.Now));//Tiempo registrado   MonthDifference(DateTime.Now, Convert.ToDateTime(Session.User.fecha_registro))
                server.AppendParameter((OtherSession.User.ModoNinja == true ? 1 : 0));
                if (Session.User.Sala.Escenario.tipo_evento == 2 && OtherSession.User.puntos_ninja < 400 || Escenario.tipo_evento_isla == 2 && OtherSession.User.puntos_ninja < 400)
                {
                    server.AppendParameter(12);//traje ninja
                }
                else
                {
                    server.AppendParameter((OtherSession.User.puntos_ninja >= 400 || OtherSession.User.Traje_Ninja_Principal != 0 ? 12 : 0));//traje ninja
                }
                server.AppendParameter(OtherSession.User.UppertSelect);
                server.AppendParameter(OtherSession.User.UppertLevel());
                server.AppendParameter(OtherSession.User.CocoSelect);
                server.AppendParameter(OtherSession.User.nivel_coco);
                server.AppendParameter(new object[] { OtherSession.User.hobby_1, OtherSession.User.hobby_2, OtherSession.User.hobby_3 });
                server.AppendParameter(new object[] { OtherSession.User.deseo_1, OtherSession.User.deseo_2, OtherSession.User.deseo_3 });
                server.AppendParameter(new object[] { OtherSession.User.Votos_Legal, OtherSession.User.Votos_Sexy, OtherSession.User.Votos_Simpatico });
                server.AppendParameter(OtherSession.User.bocadillo);
                server.AppendParameter(new object[] { OtherSession.User.besos_enviados, OtherSession.User.besos_recibidos, OtherSession.User.jugos_enviados, OtherSession.User.jugos_recibidos, OtherSession.User.flores_enviadas, OtherSession.User.flores_recibidas, OtherSession.User.uppers_enviados, OtherSession.User.uppers_recibidos, OtherSession.User.cocos_enviados, OtherSession.User.cocos_recibidos, "0³" + OtherSession.User.rings_ganados + "³1³1³1³" + Session.User.senderos_ganados + "³1³1³" + (OtherSession.User.nivel_coco + 1) + "³" + OtherSession.User.puntos_cocos + "³1³" + OtherSession.User.puntos_coco_limite + "³" + OtherSession.User.nivel_ninja + "³" + OtherSession.User.puntos_ninja + "³1³" + OtherSession.User.puntos_ninja_limite });
                server.AppendParameter((OtherSession.User.toneos_ring >= 2000 && OtherSession.User.vip <= 0 ? 1: OtherSession.User.admin)); //Ficha dorada para las personas con mas de 2k torneos
                server.AppendParameter(OtherSession.User.vip);                                                                              //vip
                server.AppendParameter(OtherSession.User.Cambios);                                                                          //cambios
                server.AppendParameter(Escenario.id == 2 || OtherSession.User.Sala.Ring != null || OtherSession.User.Sala.Cocos != null || OtherSession.User.Sala.Sendero != null || OtherSession.User.Sala.Camino != null ? 0 : OtherSession.User.Efecto);
                server.AppendParameter(OtherSession.User.id);
            }
            if (Escenario.es_categoria == 0)
            {
                server.AppendParameter(0);
                server.AppendParameter(0);
                server.AppendParameter(0);
                server.AppendParameter(0);
                server.AppendParameter(0);
            }
            Session.SendData(server);
            if (Escenario.Clave != "")
            {
                new Thread(() => Cerar_Ceradura(Session, Escenario)).Start();
            }
        }
Exemple #12
0
        private static void Packet_189_124(SessionInstance Session, int IslaID)
        {
            ServerMessage server = new ServerMessage();

            server.AddHead(189);
            server.AddHead(124);
            IslaInstance Isla = IslasManager.ObtenerIsla(IslaID);

            if (Isla != null)
            {
                IslasManager.Diccionario_AñadirIsla(Isla);
                List <EscenarioInstance> Escenarios = IslasManager.ZonasIsla(Isla);
                server.AppendParameter(Isla.id);
                server.AppendParameter(Isla.nombre);
                server.AppendParameter(Isla.descripcion);
                server.AppendParameter(Isla.modelo);
                server.AppendParameter(Isla.uppert);
                server.AppendParameter(Isla.Creador.id);
                server.AppendParameter(Isla.Creador.nombre);
                server.AppendParameter(Isla.Creador.avatar);
                server.AppendParameter(Isla.Creador.colores);
                server.AppendParameter(Isla.mamigos_1);
                server.AppendParameter(Isla.mamigos_2);
                server.AppendParameter(Isla.mamigos_3);
                server.AppendParameter(Isla.mamigos_4);
                server.AppendParameter(Isla.mamigos_5);
                server.AppendParameter(Isla.mamigos_6);
                server.AppendParameter(Isla.mamigos_7);
                server.AppendParameter(Isla.mamigos_8);
                server.AppendParameter(Isla.noverlo_1);
                server.AppendParameter(Isla.noverlo_2);
                server.AppendParameter(Isla.noverlo_3);
                server.AppendParameter(Isla.noverlo_4);
                server.AppendParameter(Isla.noverlo_5);
                server.AppendParameter(Isla.noverlo_6);
                server.AppendParameter(Isla.noverlo_7);
                server.AppendParameter(Isla.noverlo_8);
                server.AppendParameter(Escenarios.Count);
                foreach (EscenarioInstance Escenario in Escenarios)
                {
                    server.AppendParameter(0);
                    server.AppendParameter(Escenario.es_categoria);
                    server.AppendParameter(Escenario.id);
                    server.AppendParameter(Escenario.id);
                    server.AppendParameter(Escenario.nombre);
                    server.AppendParameter(Escenario.modelo);
                    server.AppendParameter(0);
                    server.AppendParameter(0);
                    server.AppendParameter(0);
                    server.AppendParameter(SalasManager.UsuariosEnSala(Escenario));//Visitantes
                    server.AppendParameter(0);
                    if (Isla.noverlo_1.Contains(Session.User.nombre) || Isla.noverlo_2.Contains(Session.User.nombre) || Isla.noverlo_3.Contains(Session.User.nombre) || Isla.noverlo_4.Contains(Session.User.nombre) || Isla.noverlo_5.Contains(Session.User.nombre) || Isla.noverlo_6.Contains(Session.User.nombre) || Isla.noverlo_7.Contains(Session.User.nombre) || Isla.noverlo_8.Contains(Session.User.nombre))
                    {
                        server.AppendParameter(1);//Usuario no puede acceder a la isla
                        server.AppendParameter(1);
                    }
                    else
                    {
                        if (Isla.mamigos_1.Contains(Session.User.nombre) || Isla.mamigos_2.Contains(Session.User.nombre) || Isla.mamigos_3.Contains(Session.User.nombre) || Isla.mamigos_4.Contains(Session.User.nombre) || Isla.mamigos_5.Contains(Session.User.nombre) || Isla.mamigos_6.Contains(Session.User.nombre) || Isla.mamigos_7.Contains(Session.User.nombre) || Isla.mamigos_8.Contains(Session.User.nombre))
                        {
                            server.AppendParameter(0);
                        }
                        else
                        {
                            server.AppendParameter((string.IsNullOrEmpty(Escenario.Clave) ? 0 : 1));
                        }
                    }
                }
            }
            else
            {
                server.AppendParameter(0);
            }
            Session.SendData(server);
        }
Exemple #13
0
 static void Pathfinder()
 {
     while (true)
     {
         try
         {
             foreach (SessionInstance Session in UserManager.UsuariosOnline.Values.ToList())
             {
                 if (Session.User.Sala == null)
                 {
                     continue;
                 }
                 if (Session.User.Trayectoria == null)
                 {
                     continue;
                 }
                 if (Session.User.Trayectoria.Movimientos.Count == 0)
                 {
                     continue;
                 }
                 if (Session.User.PreLock_Interactuando == true)
                 {
                     continue;
                 }
                 if (Session.User.PreLock_Caminando == true)
                 {
                     continue;
                 }
                 if (Session.User.Sala.PathFinder == false)
                 {
                     continue;
                 }
                 if (Session.User.contar_pasos > 0)
                 {
                     Session.User.contar_pasos--;
                 }
                 Posicion SiguienteMovimiento = Session.User.Trayectoria.SiguienteMovimiento();
                 if (!Session.User.Trayectoria.MovementIsVerifield(SiguienteMovimiento))
                 {
                     continue;
                 }
                 if (SiguienteMovimiento.y < Session.User.Sala.MapSizeY && SiguienteMovimiento.x < Session.User.Sala.MapSizeX)
                 {
                     if (Session.User.Sala.Caminable(SiguienteMovimiento))
                     {
                         Session.User.Sala.Map[Session.User.Posicion.y, Session.User.Posicion.x].FijarSession(null);
                         Session.User.PreLock_Caminando = true;
                         Session.User.Posicion          = SiguienteMovimiento;
                         Session.User.Sala.Map[Session.User.Posicion.y, Session.User.Posicion.x].FijarSession(Session);
                         ServerMessage server = new ServerMessage();
                         server.AddHead(182);
                         server.AppendParameter(1);
                         server.AppendParameter(Session.User.IDEspacial);
                         server.AppendParameter(SiguienteMovimiento.x);
                         server.AppendParameter(SiguienteMovimiento.y);
                         server.AppendParameter(SiguienteMovimiento.z);
                         server.AppendParameter(750);
                         server.AppendParameter((Session.User.Trayectoria.Movimientos.Count >= 1 ? 1 : 0));
                         Session.User.Sala.SendData(server, Session);
                         new Thread(() => ConcursosManager.BuscarObjetoCaido(Session, Session.User.Sala)).Start();
                         new Thread(() => TrampasManager.BuscarTrampa(Session)).Start();
                         new Thread(() => SalasManager.bosque_oso(Session)).Start();
                         if (Session.User.Sala.Sendero != null)
                         {
                             new Thread(() => Session.User.Sala.Sendero.VerificarMovimiento(Session)).Start();
                         }
                     }
                     else
                     {
                         Session.User.Trayectoria.Movimientos.Clear();
                         Session.User.Trayectoria.BuscarOtroSendero();
                     }
                 }
                 else
                 {
                     Session.User.Trayectoria.Movimientos.Clear();
                     Session.User.Trayectoria.BuscarOtroSendero();
                 }
             }
         }
         catch
         {
             continue;
         }
         Thread.Sleep(1);
     }
 }