Exemplo n.º 1
0
 static void Poner_Clave(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[1, 0]) + "'");
         if (row != null)
         {
             EscenarioInstance Escenario = new EscenarioInstance(row);
             if (Escenario.Creador.id == Session.User.id || Session.User.admin == 1)
             {
                 if (client.ExecuteNonQuery("UPDATE escenarios_privados SET clave = '" + Parameters[2, 0] + "' WHERE id = '" + Escenario.id + "'") == 1)
                 {
                     if (SalasManager.Salas_Privadas.ContainsKey(int.Parse(Parameters[1, 0])))
                     {
                         SalaInstance Sala = SalasManager.Salas_Privadas[int.Parse(Parameters[1, 0])];
                         Sala.Escenario.Clave = Parameters[2, 0];
                     }
                 }
             }
         }
         Session.User.PreLock__Proteccion_SQL = true;
     }
 }
Exemplo n.º 2
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;
     }
 }
Exemplo n.º 3
0
 public static void Diccionario_EliminarCasa(EscenarioInstance Zona)
 {
     if (CasasActivas.ContainsKey(Zona.id))
     {
         CasasActivas.Remove(Zona.id);
     }
 }
Exemplo n.º 4
0
 static void RenombrarZona(SessionInstance Session, string[,] Parameters)
 {
     if (Session.User != null)
     {
         if (Session.User.PreLock__Proteccion_SQL == true)
         {
             return;
         }
         if (Session.User.Sala != null)
         {
             return;
         }
         EscenarioInstance Escenario = EscenariosManager.ObtenerEscenario(0, int.Parse(Parameters[1, 0]));
         if (Escenario != null)
         {
             if (EscenariosManager.ControlDeSeguridad(Session.User, Escenario))
             {
                 if (Session.ValidarEntrada(Parameters[2, 0], false))
                 {
                     EscenariosManager.RenombrarEscenario(Escenario, Parameters[2, 0]);
                 }
                 Session.User.PreLock__Proteccion_SQL = true;
             }
         }
     }
 }
Exemplo n.º 5
0
 public static bool ControlDeSeguridad(UserInstance User, EscenarioInstance Escenario)
 {
     if (Escenario.Creador.id == User.id)
     {
         return(true);
     }
     return(false);
 }
Exemplo n.º 6
0
 public static void Diccionario_AñadirCasa(EscenarioInstance Zona)
 {
     if (Zona.modelo != 25)
     {
         return;
     }
     if (!CasasActivas.ContainsKey(Zona.id))
     {
         CasasActivas.Add(Zona.id, Zona);
     }
 }
Exemplo n.º 7
0
        private static void Packet_189_121(SessionInstance Session, EscenarioInstance Escenario)
        {
            ServerMessage server = new ServerMessage();

            server.AddHead(189);
            server.AddHead(121);
            server.AppendParameter(0);
            server.AppendParameter(Escenario.es_categoria);
            server.AppendParameter(0);
            server.AppendParameter(0);
            server.AppendParameter(Escenario.id);
            Session.SendData(server);
        }
Exemplo n.º 8
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);
            }
        }
Exemplo n.º 9
0
 public static bool CambiarColores(EscenarioInstance Escenario, string HEX, string DEC)
 {
     using (mysql client = new mysql())
     {
         client.SetParameter("id", Escenario.id);
         client.SetParameter("color_1", HEX);
         client.SetParameter("color_2", DEC);
         if (client.ExecuteNonQuery("UPDATE escenarios_privados SET color_1 = @color_1, color_2 = @color_2 WHERE id = @id") == 1)
         {
             Escenario.color_1 = HEX;
             Escenario.color_2 = DEC;
             return(true);
         }
     }
     return(false);
 }
Exemplo n.º 10
0
        public static int UsuariosEnSala(EscenarioInstance area)
        {
            int num = 0;

            foreach (SalaInstance Sala in SalasManager.Salas_Privadas.Values)
            {
                if (Sala.Escenario.categoria != 4)
                {
                    continue;
                }
                if (Sala.Escenario.Creador.id == area.Creador.id)
                {
                    num += Sala.Usuarios.Count;
                }
            }
            return(num);
        }
Exemplo n.º 11
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;
            }
        }
Exemplo n.º 12
0
 static void EliminarZona(SessionInstance Session, string[,] Parameters)
 {
     if (Session.User != null)
     {
         if (Session.User.Sala != null)
         {
             return;
         }
         EscenarioInstance Escenario = EscenariosManager.ObtenerEscenario(0, int.Parse(Parameters[0, 0]));
         if (Escenario != null)
         {
             if (EscenariosManager.ControlDeSeguridad(Session.User, Escenario))
             {
                 EscenariosManager.EliminarEscenario(Escenario);
             }
         }
     }
 }
Exemplo n.º 13
0
 public static SalaInstance ObtenerSala(EscenarioInstance Escenario)
 {
     if (Escenario.es_categoria == 0)
     {
         if (Salas_Privadas.ContainsKey(Escenario.id))
         {
             return(Salas_Privadas[Escenario.id]);
         }
     }
     if (Escenario.es_categoria == 1)
     {
         if (Salas_Publicas.ContainsKey(Escenario.id))
         {
             return(Salas_Publicas[Escenario.id]);
         }
     }
     return(null);
 }
Exemplo n.º 14
0
        public static List <EscenarioInstance> ObtenerCasasNombre(string nombre)
        {
            List <EscenarioInstance> Casas = new List <EscenarioInstance>();

            using (mysql client = new mysql())
            {
                EscenarioInstance Casa = ObtenerCasa(nombre);
                if (Casa != null)
                {
                    client.SetParameter("id", Casa.nombre);
                    client.SetParameter("modelo", 25);
                    foreach (DataRow row in client.ExecuteQueryTable("SELECT * FROM escenarios_privados WHERE nombre = @id AND modelo = @modelo").Rows)
                    {
                        Casas.Add(new EscenarioInstance(row));
                    }
                }
            }
            return(Casas);
        }
Exemplo n.º 15
0
 static void CrearZona(SessionInstance Session, string[,] Parameters)
 {
     if (Session.User != null)
     {
         if (Session.User.PreLock__Proteccion_SQL == true)
         {
             return;
         }
         if (Session.User.Sala != null)
         {
             return;
         }
         IslaInstance Isla = IslasManager.ObtenerIsla(int.Parse(Parameters[0, 0]));
         if (Isla != null)
         {
             if (IslasManager.ControlDeSeguridad(Session.User, Isla))
             {
                 if (IslasManager.ZonasIsla(Isla).Count <= 4)
                 {
                     if (Session.ValidarEntrada(Parameters[1, 0], false))
                     {
                         int ZonaID = IslasManager.Crear_Zona(Isla, Session.User, Parameters[1, 0], int.Parse(Parameters[6, 0]),
                                                              Parameters[7, 0], Parameters[8, 0]);
                         if (ZonaID >= 1)
                         {
                             EscenarioInstance Escenario = EscenariosManager.ObtenerEscenario(0, ZonaID);
                             if (Escenario != null)
                             {
                                 Packet_189_121(Session, Escenario);
                                 Session.User.PreLock__Proteccion_SQL = true;
                             }
                         }
                     }
                 }
             }
         }
     }
 }
Exemplo n.º 16
0
 public static bool CrearSala(EscenarioInstance Escenario)
 {
     if (Escenario != null)
     {
         if (Escenario.es_categoria == 1 && Escenario.categoria == 1) //publico
         {
             if (!Salas_Publicas.ContainsKey(Escenario.id))
             {
                 Salas_Publicas.Add(Escenario.id, new SalaInstance(Escenario.id, Escenario));
                 return(true);
             }
         }
         if (Escenario.es_categoria == 0 && Escenario.categoria == 4 || Escenario.es_categoria == 0 && Escenario.categoria == 2)  //privada
         {
             if (!Salas_Privadas.ContainsKey(Escenario.id))
             {
                 Salas_Privadas.Add(Escenario.id, new SalaInstance(Escenario.id, Escenario));
                 return(true);
             }
         }
     }
     return(false);
 }
Exemplo n.º 17
0
        public static Posicion ObtenerPuerta(EscenarioInstance info, int IDEspacial)
        {
            if (info.id == 2 || info.id == 3)
            {
                switch (IDEspacial)
                {
                case 1:
                    return(new Posicion(12, 12));

                case 2:
                    return(new Posicion(14, 14));

                case 3:
                    return(new Posicion(16, 16));

                case 4:
                    return(new Posicion(18, 16));

                case 5:
                    return(new Posicion(18, 14));

                case 6:
                    return(new Posicion(16, 12));

                case 7:
                    return(new Posicion(14, 10));

                case 8:
                    return(new Posicion(12, 10));
                }
            }
            if (info.id == 6 || info.id == 7)
            {
                switch (IDEspacial)
                {
                case 1:
                    return(new Posicion(8, 18));

                case 2:
                    return(new Posicion(9, 19));

                case 3:
                    return(new Posicion(10, 20));
                }
            }
            if (info.id == 8 || info.id == 9)
            {
                switch (IDEspacial)
                {
                case 1:
                    return(new Posicion(9, 16));

                case 2:
                    return(new Posicion(9, 17));

                case 3:
                    return(new Posicion(9, 18));

                case 4:
                    return(new Posicion(9, 19));

                case 5:
                    return(new Posicion(10, 20));

                case 6:
                    return(new Posicion(11, 20));

                case 7:
                    return(new Posicion(12, 21));

                case 8:
                    return(new Posicion(13, 21));
                }
            }
            if (info.id == 12 || info.id == 13)
            {
                switch (IDEspacial)
                {
                case 1:
                    return(new Posicion(7, 16));

                case 2:
                    return(new Posicion(8, 17));

                case 3:
                    return(new Posicion(9, 18));

                case 4:
                    return(new Posicion(10, 19));

                case 5:
                    return(new Posicion(11, 20));
                }
            }
            return(null);
        }
Exemplo n.º 18
0
 public static object[] Get_Door_Location_Model(EscenarioInstance area, int UserID)
 {
     if (area.modelo == 25)
     {
         return new object[] { GetZoneID(UserID, 2) }
     }
     ;
     if (area.modelo == 26)
     {
         return new object[] { (area.Puerta_1 == 1 ? GetZoneID(UserID, 3) : -1), (area.Puerta_2 == 1 ? GetZoneID(UserID, 14) : -1), (area.Puerta_3 == 1 ? GetZoneID(UserID, 15) : -1), (area.Puerta_4 == 1 ? GetZoneID(UserID, 7) : -1), (area.Puerta_5 == 1 ? GetZoneID(UserID, 11) : -1), (area.Puerta_6 == 1 ? GetZoneID(UserID, 8) : -1), (area.Puerta_7 == 1 ? GetZoneID(UserID, 4) : -1), (area.Puerta_8 == 1 ? GetZoneID(UserID, 6) : -1), (area.Puerta_9 == 1 ? GetZoneID(UserID, 5) : -1), (area.Puerta_10 == 1 ? GetZoneID(UserID, 9) : -1), (area.Puerta_11 == 1 ? -1 : -1), (area.Puerta_12 == 1 ? GetZoneID(UserID, 16) : -1), (area.Puerta_13 == 1 ? GetZoneID(UserID, 12) : -1), (area.Puerta_14 == 1 ? GetZoneID(UserID, 10) : -1), (area.Puerta_15 == 1 ? GetZoneID(UserID, 13) : -1), (area.Puerta_16 == 1 ? GetZoneID(UserID, 1) : -1) }
     }
     ;
     if (area.modelo == 27)
     {
         return new object[] { GetZoneID(UserID, 2) }
     }
     ;
     if (area.modelo == 28)
     {
         return new object[] { GetZoneID(UserID, 2) }
     }
     ;
     if (area.modelo == 29)
     {
         return new object[] { GetZoneID(UserID, 2) }
     }
     ;
     if (area.modelo == 30)
     {
         return new object[] { GetZoneID(UserID, 2), 0 }
     }
     ;
     if (area.modelo == 31)
     {
         return new object[] { GetZoneID(UserID, 2) }
     }
     ;
     if (area.modelo == 32)
     {
         return new object[] { GetZoneID(UserID, 2), 0 }
     }
     ;
     if (area.modelo == 33)
     {
         return new object[] { GetZoneID(UserID, 2), 0 }
     }
     ;
     if (area.modelo == 34)
     {
         return new object[] { GetZoneID(UserID, 2) }
     }
     ;
     if (area.modelo == 35)
     {
         return new object[] { GetZoneID(UserID, 2) }
     }
     ;
     if (area.modelo == 36)
     {
         return new object[] { GetZoneID(UserID, 2) }
     }
     ;
     if (area.modelo == 40)
     {
         return new object[] { GetZoneID(UserID, 2), GetZoneID(UserID, 2) }
     }
     ;
     if (area.modelo == 41)
     {
         return new object[] { GetZoneID(UserID, 2), GetZoneID(UserID, 2) }
     }
     ;
     if (area.modelo == 42)
     {
         return new object[] { GetZoneID(UserID, 2) }
     }
     ;
     if (area.modelo == 43)
     {
         return new object[] { GetZoneID(UserID, 2) }
     }
     ;
     return(null);
 }
Exemplo n.º 19
0
        private static void Open_Puertas(SessionInstance Session, string[,] Parameters)
        {
            mysql client = new mysql();

            int[]    llaves  = { 0, 0, 0, 578, 631, 149, 210, 319, 0, 445, 1120, 0, 0 };
            string[] puertas = { "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" };
            int      id      = Convert.ToInt32(Parameters[0, 0]);

            client.SetParameter("id", llaves[id - 1]);
            client.SetParameter("user", Session.User.id);
            DataRow muchila = client.ExecuteQueryRow("SELECT * FROM objetos_comprados WHERE objeto_id = @id AND usuario_id = @user");

            if (muchila != null)
            {
                client.SetParameter("user", Session.User.id);
                client.SetParameter("sala", Session.User.Sala.id);
                client.ExecuteNonQuery("UPDATE escenarios_privados SET " + puertas[id - 1] + " = 1 WHERE CreadorID = @user AND id = @sala AND modelo = 26");

                client.SetParameter("user", Session.User.id);
                client.SetParameter("objeto", llaves[id - 1]);
                client.ExecuteNonQuery("DELETE FROM objetos_comprados WHERE objeto_id = @objeto AND usuario_id = @user");

                ServerMessage Handler_189_175 = new ServerMessage();
                Handler_189_175.AddHead(189);
                Handler_189_175.AddHead(175);
                Handler_189_175.AppendParameter(1);
                Handler_189_175.AppendParameter(1);
                Session.SendData(Handler_189_175);

                ServerMessage borrar_llave = new ServerMessage();
                borrar_llave.AddHead(189);
                borrar_llave.AddHead(169);
                borrar_llave.AppendParameter(-1);
                borrar_llave.AppendParameter(llaves[id - 1]);
                borrar_llave.AppendParameter(1);
                Session.SendData(borrar_llave);

                ServerMessage server = new ServerMessage();
                server.AddHead(203);
                server.AddHead(120);
                server.AppendParameter(id);
                server.AppendParameter(4);
                server.AppendParameter(0);
                server.AppendParameter(Session.User.Sala.Escenario.id);
                server.AppendParameter("Puerta1");
                server.AppendParameter(1);
                server.AppendParameter(0);
                Session.SendData(server);
                //ServerMessage message2 = new ServerMessage(203, 120);
                //message2.AppendParameter($"{ide}³²4³²0³²{Session.Doors[ide - 1]}³²Puerta1³²1³²0", false);
                //instance.BroadcastMessage(message2);

                SalasManager.Salas_Privadas.Remove(Session.User.Sala.Escenario.id);
                client.SetParameter("id", Session.User.Sala.Escenario.id);
                DataRow           row       = client.ExecuteQueryRow("SELECT * FROM escenarios_privados WHERE id = @id");
                EscenarioInstance Escenario = new EscenarioInstance(row);
                SalasManager.Salas_Privadas.Add(Session.User.Sala.Escenario.id, new SalaInstance(Escenario.id, Escenario));

                NotificacionesManager.NotifiChat(Session, "Sabio: Sal al jardin de casita y vuelve a entrar para poder acceder a la puerta.");
            }
        }
Exemplo n.º 20
0
        public static int UsuariosEnSala(EscenarioInstance Escenario)
        {
            int num = 0;

            if (Escenario != null)
            {
                if (Escenario.es_categoria == 1)
                {
                    if (Escenario.id == 30)//Cementerio contador global
                    {
                        foreach (var sala in Salas_Publicas.Values)
                        {
                            if (sala.Escenario.id >= 26 && sala.Escenario.id <= 55)
                            {
                                num += Salas_Publicas[sala.id].Visitantes;
                            }
                        }
                    }
                    else if (Escenario.id == 57)//Bosque nevado contador global
                    {
                        foreach (var sala in Salas_Publicas.Values)
                        {
                            if (sala.Escenario.id >= 57 && sala.Escenario.id <= 74)
                            {
                                num += Salas_Publicas[sala.id].Visitantes;
                            }
                        }
                    }
                    else if (Escenario.id == 78) //Madriguera contador global
                    {
                        foreach (var sala in Salas_Publicas.Values)
                        {
                            if (sala.Escenario.id >= 78 && sala.Escenario.id <= 96)
                            {
                                num += Salas_Publicas[sala.id].Visitantes;
                            }
                        }
                    }
                    else if (Escenario.id == 214) //Isla Perdida
                    {
                        foreach (var sala in Salas_Publicas.Values)
                        {
                            if (sala.Escenario.id >= 214 && sala.Escenario.id <= 238)
                            {
                                num += Salas_Publicas[sala.id].Visitantes;
                            }
                        }
                    }
                    else
                    {
                        if (Salas_Publicas.ContainsKey(Escenario.id))
                        {
                            num += Salas_Publicas[Escenario.id].Visitantes;
                        }
                    }
                }
                if (Escenario.es_categoria == 0)
                {
                    if (Salas_Privadas.ContainsKey(Escenario.id))
                    {
                        num += Salas_Privadas[Escenario.id].Visitantes;
                        SalaInstance sala = Salas_Privadas[Escenario.id];
                        foreach (BuyObjectInstance Item in sala.ObjetosEnSala.Values)
                        {
                            if (listas.Objetos_Area.Contains(Item.objeto_id) && Salas_Privadas.ContainsKey(Convert.ToInt32(Item.data)))
                            {
                                num += Salas_Privadas[Convert.ToInt32(Item.data)].Visitantes;
                            }
                        }
                    }
                }
                if (Escenario.es_categoria == 2)
                {
                    return(RingInstance.Jugadores);
                }
                if (Escenario.es_categoria == 8)
                {
                    return(CocosInstance.Jugadores);
                }
                if (Escenario.es_categoria == 6)
                {
                    return(SenderoInstance.Jugadores);
                }
                if (Escenario.es_categoria == 12)
                {
                    return(CaminoInstance.Jugadores);
                }
            }
            return(num);
        }