예제 #1
0
 public static void Diccionario_AñadirIsla(IslaInstance Isla)
 {
     if (!IslasActivas.ContainsKey(Isla.id))
     {
         IslasActivas.Add(Isla.id, Isla.id);
     }
 }
예제 #2
0
 static void RenombrarIsla(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 (Session.ValidarEntrada(Parameters[1, 0], false))
                 {
                     Packet_189_129(Session, Isla, Parameters[1, 0]);
                 }
                 Session.User.PreLock__Proteccion_SQL = true;
             }
         }
     }
 }
예제 #3
0
 public static void Diccionario_EliminarIsla(IslaInstance Isla)
 {
     if (IslasActivas.ContainsKey(Isla.id))
     {
         IslasActivas.Remove(Isla.id);
     }
 }
예제 #4
0
 static void CambiarDescripcion(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 (Session.ValidarEntrada(Parameters[1, 0], false))
                 {
                     new Thread(() => IslasManager.CambiarDescripcion(Isla, Parameters[1, 0])).Start();
                 }
                 Session.User.PreLock__Proteccion_SQL = true;
             }
         }
     }
 }
예제 #5
0
        private static void Packet_175(SessionInstance Session)//Coco - Upper Ficha
        {
            ServerMessage server = new ServerMessage();

            server.AddHead(175);
            if (Session.User.Sala.Escenario.es_categoria == 2)
            {
                server.AppendParameter(new object[] { 1, -1, 0 });
                server.AppendParameter(new object[] { 2, -1, 0 });
                server.AppendParameter(new object[] { 3, -1, 0 });
            }
            else
            {
                server.AppendParameter(new object[] { 1, 0, 0 });
                server.AppendParameter(new object[] { 2, 0, 0 });
                server.AppendParameter(new object[] { 3, 0, 0 });
            }
            if (Session.User.Sala.Escenario.categoria == 2)
            {
                IslaInstance Isla = IslasManager.ObtenerIsla(Session.User.Sala.Escenario.IslaID);
                if (Isla != null)
                {
                    server.AppendParameter(new object[] { 4, (Isla.uppert == 0 ? -1 : 0), 1 });///Modificado
                    server.AppendParameter(new object[] { 5, 0, 1 });
                }
            }
            else
            {
                server.AppendParameter(new object[] { 4, Session.User.Sala.Escenario.uppert, 1 });
                server.AppendParameter(new object[] { 5, 0, 1 });
            }
            Session.SendDataProtected(server);
        }
예제 #6
0
 public static bool ControlDeSeguridad(UserInstance User, IslaInstance Isla)
 {
     if (Isla.Creador.id == User.id)
     {
         return(true);
     }
     return(false);
 }
예제 #7
0
 public static void CambiarDescripcion(IslaInstance Isla, string texto)
 {
     using (mysql client = new mysql())
     {
         client.SetParameter("id", Isla.id);
         client.SetParameter("texto", texto);
         client.ExecuteNonQuery("UPDATE islas SET descripcion = @texto WHERE id = @id");
     }
 }
예제 #8
0
        public static int Visitantes(IslaInstance Isla)
        {
            int num = 0;

            foreach (EscenarioInstance Zona in ZonasIsla(Isla))
            {
                num += SalasManager.UsuariosEnSala(Zona);
            }
            return(num);
        }
예제 #9
0
        private static void Packet_187(SessionInstance Session)
        {
            ServerMessage server = new ServerMessage();

            server.AddHead(187);
            foreach (SalaInstance Sala in SalasManager.Salas_Privadas.Values)
            {
                if (Sala.Escenario.categoria != 4)
                {
                    continue;
                }
                if (Sala.Escenario.modelo != 25)
                {
                    continue;
                }
                if (CasasManager.UsuariosEnSala(Sala.Escenario) <= 0)
                {
                    continue;
                }
                server.AppendParameter(4);
                server.AppendParameter(0);
                server.AppendParameter(Sala.Escenario.id);
                server.AppendParameter(0);
                server.AppendParameter(Sala.Escenario.id);
                server.AppendParameter(0);
                server.AppendParameter(Sala.Escenario.nombre);
                server.AppendParameter(0);
                server.AppendParameter(CasasManager.UsuariosEnSala(Sala.Escenario)); //visitantes
                server.AppendParameter(0);
            }
            foreach (var IslaID in IslasManager.IslasActivas.Values)
            {
                IslaInstance Isla = IslasManager.ObtenerIsla(IslaID);
                if (Isla != null)
                {
                    if (IslasManager.Visitantes(Isla) > 0)
                    {
                        server.AppendParameter(0);
                        server.AppendParameter(0);
                        server.AppendParameter(Isla.id);
                        server.AppendParameter(0);
                        server.AppendParameter(0);
                        server.AppendParameter(0);
                        server.AppendParameter(Isla.nombre);
                        server.AppendParameter(0);
                        server.AppendParameter(IslasManager.Visitantes(Isla)); //visitantes
                        server.AppendParameter(0);
                    }
                }
            }
            Session.SendDataProtected(server);
        }
예제 #10
0
 public static bool RenombrarIsla(IslaInstance Isla, string nombre)
 {
     using (mysql client = new mysql())
     {
         client.SetParameter("id", Isla.id);
         client.SetParameter("nombre", nombre);
         if (client.ExecuteNonQuery("UPDATE islas SET nombre = @nombre WHERE id = @id") == 1)
         {
             return(true);
         }
     }
     return(false);
 }
예제 #11
0
        public static List <SalaInstance> Obtener_Salas_Privadas_Isla(IslaInstance Isla)
        {
            List <SalaInstance> Salas = new List <SalaInstance>();

            foreach (var Sala in Salas_Privadas.Values)
            {
                if (Sala.Escenario.IslaID == Isla.id)
                {
                    Salas.Add(Sala);
                }
            }
            return(Salas);
        }
예제 #12
0
 static void NoVerlo(SessionInstance Session, string[,] Parameters)
 {
     if (Session.User != null)
     {
         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 (Parameters[1, 0] == Session.User.nombre)
                 {
                     Parameters[1, 0] = "";
                 }
                 if (Parameters[2, 0] == Session.User.nombre)
                 {
                     Parameters[2, 0] = "";
                 }
                 if (Parameters[3, 0] == Session.User.nombre)
                 {
                     Parameters[3, 0] = "";
                 }
                 if (Parameters[4, 0] == Session.User.nombre)
                 {
                     Parameters[4, 0] = "";
                 }
                 if (Parameters[5, 0] == Session.User.nombre)
                 {
                     Parameters[5, 0] = "";
                 }
                 if (Parameters[6, 0] == Session.User.nombre)
                 {
                     Parameters[6, 0] = "";
                 }
                 if (Parameters[7, 0] == Session.User.nombre)
                 {
                     Parameters[7, 0] = "";
                 }
                 if (Parameters[8, 0] == Session.User.nombre)
                 {
                     Parameters[8, 0] = "";
                 }
                 new Thread(() => IslasManager.AñadirNoVerlo(Isla, Parameters[1, 0], Parameters[2, 0], Parameters[3, 0],
                                                             Parameters[4, 0], Parameters[5, 0], Parameters[6, 0], Parameters[7, 0], Parameters[8, 0])).Start();
             }
         }
     }
 }
예제 #13
0
        public static List <EscenarioInstance> ZonasIsla(IslaInstance Isla)
        {
            List <EscenarioInstance> Escenarios = new List <EscenarioInstance>();

            using (mysql client = new mysql())
            {
                client.SetParameter("id", Isla.id);
                foreach (DataRow row in client.ExecuteQueryTable("SELECT * FROM escenarios_privados WHERE IslaID = @id").Rows)
                {
                    Escenarios.Add(new EscenarioInstance(row));
                }
            }
            return(Escenarios);
        }
예제 #14
0
 public static void AñadirMAmigos(IslaInstance Isla, string nombre1, string nombre2, string nombre3, string nombre4, string nombre5, string nombre6, string nombre7, string nombre8)
 {
     using (mysql client = new mysql())
     {
         client.SetParameter("id", Isla.id);
         client.SetParameter("mamigos_1", nombre1);
         client.SetParameter("mamigos_2", nombre2);
         client.SetParameter("mamigos_3", nombre3);
         client.SetParameter("mamigos_4", nombre4);
         client.SetParameter("mamigos_5", nombre5);
         client.SetParameter("mamigos_6", nombre6);
         client.SetParameter("mamigos_7", nombre7);
         client.SetParameter("mamigos_8", nombre8);
         client.ExecuteNonQuery("UPDATE islas SET mamigos_1 = @mamigos_1, mamigos_2 = @mamigos_2, mamigos_3 = @mamigos_3, mamigos_4 = @mamigos_4, mamigos_5 = @mamigos_5, mamigos_6 = @mamigos_6, mamigos_7 = @mamigos_7, mamigos_8 = @mamigos_8 WHERE id = @id");
     }
 }
예제 #15
0
 public static void AñadirNoVerlo(IslaInstance Isla, string nombre1, string nombre2, string nombre3, string nombre4, string nombre5, string nombre6, string nombre7, string nombre8)
 {
     using (mysql client = new mysql())
     {
         client.SetParameter("id", Isla.id);
         client.SetParameter("noverlo_1", nombre1);
         client.SetParameter("noverlo_2", nombre2);
         client.SetParameter("noverlo_3", nombre3);
         client.SetParameter("noverlo_4", nombre4);
         client.SetParameter("noverlo_5", nombre5);
         client.SetParameter("noverlo_6", nombre6);
         client.SetParameter("noverlo_7", nombre7);
         client.SetParameter("noverlo_8", nombre8);
         client.ExecuteNonQuery("UPDATE islas SET noverlo_1 = @noverlo_1, noverlo_2 = @noverlo_2, noverlo_3 = @noverlo_3, noverlo_4 = @noverlo_4, noverlo_5 = @noverlo_5, noverlo_6 = @noverlo_6, noverlo_7 = @noverlo_7, noverlo_8 = @noverlo_8 WHERE id = @id");
     }
 }
예제 #16
0
        private static void Packet_189_129(SessionInstance Session, IslaInstance Isla, string Nombre)
        {
            ServerMessage server = new ServerMessage();

            server.AddHead(189);
            server.AddHead(129);
            if (IslasManager.ObtenerIsla(Nombre) == null)
            {
                new Thread(() => IslasManager.RenombrarIsla(Isla, Nombre)).Start();
                server.AppendParameter(1);
            }
            else
            {
                server.AppendParameter(0);
            }
            Session.SendData(server);
        }
예제 #17
0
 static void EliminarIsla(SessionInstance Session, string[,] Parameters)
 {
     if (Session.User != null)
     {
         if (Session.User.Sala != null)
         {
             return;
         }
         IslaInstance Isla = IslasManager.ObtenerIsla(int.Parse(Parameters[0, 0]));
         if (Isla != null)
         {
             if (IslasManager.ControlDeSeguridad(Session.User, Isla))
             {
                 new Thread(() => IslasManager.EliminarIsla(Isla)).Start();
             }
         }
     }
 }
예제 #18
0
 public static int Crear_Zona(IslaInstance Isla, UserInstance User, string nombre, int modelo, string color_1, string color_2)
 {
     using (mysql client = new mysql())
     {
         client.SetParameter("IslaID", Isla.id);
         client.SetParameter("CreadorID", User.id);
         client.SetParameter("nombre", nombre);
         client.SetParameter("modelo", modelo);
         client.SetParameter("color_1", color_1);
         client.SetParameter("color_2", color_2);
         if (client.ExecuteNonQuery("INSERT INTO escenarios_privados (`IslaID`, `nombre`, `modelo`, `color_1`, `color_2`, `CreadorID`) VALUES (@IslaID, @nombre, @modelo, @color_1, @color_2, @CreadorID)") == 1)
         {
             client.SetParameter("IslaID", Isla.id);
             return(Convert.ToInt32(client.ExecuteScalar("SELECT MAX(id) FROM escenarios_privados WHERE IslaID = @IslaID")));
         }
     }
     return(0);
 }
예제 #19
0
        public static List <IslaInstance> ObtenerIslasNombre(string nombre)
        {
            List <IslaInstance> Islas = new List <IslaInstance>();

            using (mysql client = new mysql())
            {
                IslaInstance Isla = IslasManager.ObtenerIsla(nombre);
                if (Isla != null)
                {
                    client.SetParameter("id", Isla.nombre);
                    foreach (DataRow row in client.ExecuteQueryTable("SELECT * FROM islas WHERE nombre = @id").Rows)
                    {
                        Islas.Add(new IslaInstance(row));
                    }
                }
            }
            return(Islas);
        }
예제 #20
0
 public static void EliminarIsla(IslaInstance Isla)
 {
     using (mysql client = new mysql())
     {
         client.SetParameter("id", Isla.id);
         client.ExecuteNonQuery("DELETE FROM Islas WHERE id = @id");
         DataRow ver_islas_favoritas = client.ExecuteQueryRow("SELECT * FROM escenarios_favoritos WHERE sala_id = '" + Isla.id + "'");
         if (ver_islas_favoritas != null)
         {
             client.ExecuteNonQuery("DELETE FROM escenarios_favoritos WHERE sala_id = '" + Isla.id + "'");
         }
     }
     foreach (EscenarioInstance Zona in ZonasIsla(Isla))
     {
         EscenariosManager.EliminarEscenario(Zona);
     }
     Diccionario_EliminarIsla(Isla);
 }
예제 #21
0
 public static void CambiarUppert(IslaInstance Isla, int Estado)
 {
     if (Estado == 1 || Estado == 0)
     {
         using (mysql client = new mysql())
         {
             client.SetParameter("id", Isla.id);
             client.SetParameter("Estado", Estado);
             if (client.ExecuteNonQuery("UPDATE islas SET uppert = @Estado WHERE id = @id") == 1)
             {
                 List <SalaInstance> Salas = new List <SalaInstance>();
                 try
                 {
                     foreach (var Sala in SalasManager.Salas_Privadas.Values)
                     {
                         if (Sala.Escenario.IslaID == Isla.id)
                         {
                             Salas.Add(Sala);
                         }
                     }
                 }
                 catch
                 {
                 }
                 foreach (var Sala in Salas)
                 {
                     if (Sala.Escenario.IslaID == Isla.id)
                     {
                         ServerMessage server = new ServerMessage();
                         server.AddHead(175);
                         server.AppendParameter(new object[] { 4, (Isla.uppert == 1 ? -1 : 0), 1 });
                         Sala.SendData(server);
                     }
                 }
             }
         }
     }
 }
예제 #22
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;
                             }
                         }
                     }
                 }
             }
         }
     }
 }
예제 #23
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);
        }