Example #1
0
        void IniciarCocos()
        {
            Iniciado = true;
            int          TotalRondas = 7;
            List <Point> Puntos      = new List <Point>();

            while (TotalRondas > 0)
            {
                Puntos.Clear();
                for (int i = 1; i <= TotalRondas; i++)
                {
                    Point PosGeneratedByMap = sala.GetRandomPlace();
                    while (Puntos.Contains(PosGeneratedByMap) || !sala.Caminable(new Posicion(PosGeneratedByMap.X, PosGeneratedByMap.Y)))
                    {
                        PosGeneratedByMap = sala.GetRandomPlace();
                    }
                    Puntos.Add(PosGeneratedByMap);
                }
                TotalRondas--;
                Thread.Sleep(new TimeSpan(0, 0, 5));
                foreach (Point PointToShow in Puntos)
                {
                    ServerMessage server_1 = new ServerMessage();
                    server_1.AddHead(124);
                    server_1.AddHead(120);
                    server_1.AppendParameter(PointToShow.X);
                    server_1.AppendParameter(PointToShow.Y);
                    server_1.AppendParameter(1);
                    sala.SendData(server_1);
                }
                Thread.Sleep(new TimeSpan(0, 0, 5));
                foreach (Point PointToHidden in Puntos)
                {
                    ServerMessage server_2 = new ServerMessage();
                    server_2.AddHead(124);
                    server_2.AddHead(121);
                    server_2.AppendParameter(PointToHidden.X);
                    server_2.AppendParameter(PointToHidden.Y);
                    server_2.AppendParameter(1);
                    sala.SendData(server_2);
                }
                ServerMessage server_3 = new ServerMessage();
                server_3.AddHead(160);
                server_3.AddHead(125);
                server_3.AppendParameter(30);
                sala.SendData(server_3);
                sala.PathFinder = true;
                Thread.Sleep(new TimeSpan(0, 0, 30));
                sala.PathFinder = false;
                List <SessionInstance> ParaDescalificar = new List <SessionInstance>();
                foreach (SessionInstance Session in Participantes.Values)
                {
                    if (!Puntos.Contains(new Point(Session.User.Posicion.x, Session.User.Posicion.y)))
                    {
                        ParaDescalificar.Add(Session);
                    }
                }
                foreach (SessionInstance Session in ParaDescalificar)
                {
                    Descalificar(Session);
                    LanzarCoco(Session);
                    UserManager.Sumar_Cocos(Session.User, 1);

                    RankingsManager.agregar_user_ranking(Session.User.id, 2, 2, 1);

                    //using (mysql client = new mysql())
                    //{
                    //    string Nombre = Session.User.nombre;
                    //    if (Nombre == "") { Session.User.nombre = Session.User.nombre_halloween; }
                    //    DataRow comprobar_usuario = client.ExecuteQueryRow("SELECT * FROM coco_semanal WHERE usuario = '" + Nombre + "'");
                    //    if (comprobar_usuario != null)
                    //    {
                    //        int goldens = (int)comprobar_usuario["goldens"];
                    //        int actualizar_goldens = goldens + 1;
                    //        client.ExecuteNonQuery("UPDATE coco_semanal SET goldens = '" + actualizar_goldens + "' WHERE usuario = '" + Nombre + "'");
                    //    }
                    //    else
                    //    {
                    //        client.SetParameter("usuario", Nombre);
                    //        client.SetParameter("goldens", 1);
                    //        client.ExecuteNonQuery("INSERT INTO coco_semanal (`usuario`, `goldens`) VALUES (@usuario, @goldens)");
                    //    }
                    //}
                }
                Thread.Sleep(new TimeSpan(0, 0, 10));
                if (Participantes.Count == 0 || Participantes.Count == 1)
                {
                    break;
                }
            }
            if (Participantes.Count == 0)
            {
                ServerMessage server_4 = new ServerMessage();
                server_4.AddHead(160);
                server_4.AddHead(124);
                server_4.AppendParameter("Ups!, al parecer no hay ganadores en esta ronda...");
                sala.SendData(server_4);
            }
            else
            {
                SessionInstance SessionWin = null;
                foreach (SessionInstance Session in Participantes.Values)
                {
                    SessionWin = Session;
                }
                if (SessionWin != null)
                {
                    Participantes.Remove(SessionWin.User.id);
                    switch (sala.Escenario.id)
                    {
                    case 8:

                        ServerMessage server_5 = new ServerMessage();
                        server_5.AddHead(160);
                        server_5.AddHead(129);
                        server_5.AppendParameter(1);
                        server_5.AppendParameter(SessionWin.User.id);
                        server_5.AppendParameter(SessionWin.User.nombre);
                        server_5.AppendParameter("Ha ganado: " + Recompensa_Golden + " créditos! y Suma " + 3 + " puntos y está más cerca de conseguir un nuevo coco!");
                        sala.SendData(server_5);

                        RankingsManager.agregar_user_ranking(SessionWin.User.id, 2, 2, 3);

                        UserManager.Creditos(SessionWin.User, true, true, Recompensa_Golden);
                        UserManager.Sumar_Cocos(SessionWin.User, 3);
                        SessionWin.User.torneos_coco++;
                        if (SessionWin.User.torneos_coco == 300)
                        {
                            using (mysql client = new mysql())
                            {
                                client.SetParameter("usuario_id", SessionWin.User.id);
                                client.SetParameter("objeto_id", 3069);
                                client.ExecuteNonQuery("INSERT INTO objetos_comprados (`usuario_id`, `objeto_id`) VALUES (@usuario_id, @objeto_id)");
                            }
                        }
                        UserManager.ActualizarEstadisticas(SessionWin.User);
                        break;

                    case 9:
                        ServerMessage server_6 = new ServerMessage();
                        server_6.AddHead(160);
                        server_6.AddHead(129);
                        server_6.AppendParameter(1);
                        server_6.AppendParameter(SessionWin.User.id);
                        server_6.AppendParameter(SessionWin.User.nombre);
                        server_6.AppendParameter("Ha ganado: " + Recompensa_Silver + " monedas de plata! y Suma " + 1 + " puntos y está más cerca de conseguir un nuevo coco!");
                        sala.SendData(server_6);
                        UserManager.Creditos(SessionWin.User, false, true, Recompensa_Silver);
                        UserManager.Sumar_Cocos(SessionWin.User, 1);
                        break;
                    }
                    SessionWin.User.Jugando = false;
                }
            }
            FinalizarCocos();
        }
Example #2
0
        private static void Method_132_122(SessionInstance Session, string[,] Parameters)
        {
            Thread.Sleep(100);
            Cargar_Bpad(Session);
            ServerMessage server = new ServerMessage();

            server.AddHead(132);
            server.AddHead(122);
            using (mysql client = new mysql())
            {
                client.SetParameter("UserID", Session.User.id);
                foreach (DataRow row in client.ExecuteQueryTable("SELECT * FROM bpad_amigos WHERE ID_1 = @UserID AND Solicitud = '0'").Rows)
                {
                    UserInstance FriendUser = UserManager.ObtenerUsuario((int)row["ID_2"]);
                    if (FriendUser != null)
                    {
                        server.AppendParameter(FriendUser.id);
                        if (UserManager.UsuariosOnline.ContainsKey(FriendUser.id))
                        {
                            SessionInstance SessionAmigo = UserManager.ObtenerSession(FriendUser.id);
                            if (SessionAmigo != null)
                            {
                                if (SessionAmigo.User.Sala != null)
                                {
                                    if (SessionAmigo.User.Sala.Escenario.id == 70)//Las areas del bosque nevada
                                    {
                                        server.AppendParameter(1);
                                        server.AppendParameter(-1);
                                        server.AppendParameter(0);
                                        server.AppendParameter(0);
                                        server.AppendParameter(0);
                                        server.AppendParameter(-1);
                                        server.AppendParameter(-1);
                                        server.AppendParameter(Session.User.Sala.Escenario.id);
                                    }
                                    else if (SessionAmigo.User.Sala.Escenario.id == 2 && SessionAmigo.User.Sala.Escenario.es_categoria == 2 && SessionAmigo.User.Sala.Escenario.categoria == 5)
                                    {
                                        server.AppendParameter(1);
                                        server.AppendParameter(-1);
                                        server.AppendParameter(SessionAmigo.User.Sala.Escenario.es_categoria);//ES_CATEGORIA
                                        server.AppendParameter(0);
                                        server.AppendParameter(0);
                                        server.AppendParameter(SessionAmigo.User.Sala.id);
                                        server.AppendParameter(0);
                                        server.AppendParameter(SessionAmigo.User.Sala.Escenario.nombre);
                                    }
                                    else
                                    {
                                        server.AppendParameter(1);
                                        server.AppendParameter(-1);
                                        server.AppendParameter(SessionAmigo.User.Sala.Escenario.es_categoria);//ES_CATEGORIA
                                        server.AppendParameter(0);
                                        server.AppendParameter(0);
                                        if (Session.User.Sala != null)
                                        {
                                            if (Session.User.Sala.Escenario.IrAlli == 0)
                                            {
                                                Thread.Sleep(new TimeSpan(0, 0, 0, 0, 500));
                                                server.AppendParameter(-1);
                                            }
                                            else
                                            {
                                                if (Session.User.Sala.Escenario.es_categoria == SessionAmigo.User.Sala.Escenario.es_categoria && Session.User.Sala.id == SessionAmigo.User.Sala.id || SessionAmigo.User.Sala.Escenario.es_categoria == 2)
                                                {
                                                    server.AppendParameter(-1);
                                                }
                                                else
                                                {
                                                    server.AppendParameter(SessionAmigo.User.Sala.id);
                                                }
                                            }
                                        }
                                        else
                                        {
                                            server.AppendParameter(SessionAmigo.User.Sala.id);
                                        }
                                        server.AppendParameter(0);
                                        server.AppendParameter(SessionAmigo.User.Sala.Escenario.nombre);
                                    }
                                }
                                else
                                {
                                    server.AppendParameter(1);
                                    server.AppendParameter(-1);
                                    server.AppendParameter(0);
                                    server.AppendParameter(0);
                                    server.AppendParameter(0);
                                    server.AppendParameter(-1);
                                    server.AppendParameter(-1);
                                    server.AppendParameter("Flower Power");
                                }
                            }
                        }
                        else
                        {
                            server.AppendParameter(0);
                            server.AppendParameter(0);
                            server.AppendParameter(0);
                            server.AppendParameter(0);
                            server.AppendParameter(0);
                            server.AppendParameter(0);
                            server.AppendParameter(-1);
                            server.AppendParameter(FriendUser.ultima_conexion);
                        }
                    }
                }
            }
            Session.SendData(server);
        }
Example #3
0
        public static void Inscribir(SessionInstance Session, int ID)
        {
            ServerMessage server = new ServerMessage();

            server.AddHead(160);
            server.AddHead(121);
            server.AppendParameter(ID);
            try
            {
                if (!FiltroDePago(Session, ID) && MiniGamesHandler.Desactivar_Golden_Minijuegos == false)
                {
                    if (ID == 8)//Golden
                    {
                        if (Session.User.oro >= CocosInstance.Precio_Golden)
                        {
                            if (!MiniGamesManager.Inscripciones_CocosLocos.ContainsKey(Session.User.id))
                            {
                                MiniGamesManager.Inscripciones_CocosLocos.Add(Session.User.id, new Inscripcion(Session, 8));
                                if (MiniGamesManager.Inscripciones_CocosLocos.ContainsKey(Session.User.id))
                                {
                                    server.AppendParameter(1);
                                }
                            }
                            else
                            {
                                server.AppendParameter(-1);
                            }
                        }
                        else
                        {
                            server.AppendParameter(2);
                        }
                    }
                    if (ID == 9)//Silver
                    {
                        server.AppendParameter(-1);
                        if (Session.User.plata >= CocosInstance.Precio_Silver)
                        {
                            if (!MiniGamesManager.Inscripciones_CocosLocos.ContainsKey(Session.User.id))
                            {
                                MiniGamesManager.Inscripciones_CocosLocos.Add(Session.User.id, new Inscripcion(Session, 9));
                                if (MiniGamesManager.Inscripciones_CocosLocos.ContainsKey(Session.User.id))
                                {
                                    server.AppendParameter(1);
                                }
                            }
                            else
                            {
                                server.AppendParameter(-1);
                            }
                        }
                        else
                        {
                            server.AppendParameter(2);
                        }
                    }
                }
                else
                {
                    server.AppendParameter(-1);
                }
            }
            catch
            {
                server.AppendParameter(-1);
            }
            Session.SendData(server);
        }
Example #4
0
        private void button2_Click(object sender, EventArgs e)
        {
            string texto = "";

            label23.Text = textBox6.Text;
            label25.Text = textBox7.Text;
            label27.Text = textBox8.Text;
            if (Convert.ToInt32(textBox6.Text) == 0)
            {
                texto = "Error: ID no puede ser nula";
            }
            else
            {
                if (Convert.ToInt32(textBox8.Text) < 0 && Convert.ToInt32(textBox7.Text) < 0)
                {
                    ServerMessage server = new ServerMessage();
                    server.AddHead(Convert.ToByte(textBox6.Text));
                    if (textBox9.Text.Contains(","))
                    {
                        textBox9.Text = textBox9.Text.Replace(",", "³²");
                    }
                    if (textBox9.Text.Contains("."))
                    {
                        textBox9.Text = textBox9.Text.Replace(".", "³");
                    }
                    server.AppendParameter(textBox9.Text);
                    Session.SendData(server);
                    texto = "[" + textBox6.Text + "] > " + textBox9.Text;
                }
                else if (Convert.ToInt32(textBox7.Text) > 0 && Convert.ToInt32(textBox8.Text) < 0)
                {
                    ServerMessage server = new ServerMessage();
                    server.AddHead(Convert.ToByte(textBox6.Text));
                    server.AddHead(Convert.ToByte(textBox7.Text));
                    if (textBox9.Text.Contains(","))
                    {
                        textBox9.Text = textBox9.Text.Replace(",", "³²");
                    }
                    if (textBox9.Text.Contains("."))
                    {
                        textBox9.Text = textBox9.Text.Replace(".", "³");
                    }
                    server.AppendParameter(textBox9.Text);
                    Session.SendData(server);
                    texto = "[" + textBox6.Text + "/" + textBox7.Text + "] > " + textBox9.Text;
                }
                else
                {
                    ServerMessage server = new ServerMessage();
                    server.AddHead(Convert.ToByte(textBox6.Text));
                    server.AddHead(Convert.ToByte(textBox7.Text));
                    server.AddHead(Convert.ToByte(textBox8.Text));
                    if (textBox9.Text.Contains(","))
                    {
                        textBox9.Text = textBox9.Text.Replace(",", "³²");
                    }
                    if (textBox9.Text.Contains("."))
                    {
                        textBox9.Text = textBox9.Text.Replace(".", "³");
                    }
                    server.AppendParameter(textBox9.Text);
                    Session.SendData(server);
                    texto = "[" + textBox6.Text + "/" + textBox7.Text + "/" + textBox8.Text + "] > " + textBox9.Text;
                }
            }
            console_packets   = console_packets + texto + Environment.NewLine;
            richTextBox2.Text = console_packets;
        }
Example #5
0
        private static void Method_132_129(SessionInstance Session, string[,] Parameters)
        {
            string        Usuario = Parameters[0, 0].ToString();
            ServerMessage server  = new ServerMessage();

            server.AddHead(132);
            server.AddHead(129);
            UserInstance UserRegister = UserManager.ObtenerUsuario(Usuario);

            if (UserRegister != null)
            {
                UserInstance OtherUser = UserManager.ObtenerUsuario(Usuario);
                if (OtherUser != null)
                {
                    server.AppendParameter(1);
                    server.AppendParameter(OtherUser.id);
                    server.AppendParameter(OtherUser.nombre);
                    server.AppendParameter(OtherUser.avatar);
                    server.AppendParameter(OtherUser.colores);
                    if (UserManager.UsuariosOnline.ContainsKey(OtherUser.id))
                    {
                        SessionInstance OtherSession = UserManager.ObtenerSession(OtherUser.id);
                        if (OtherSession != null)
                        {
                            if (OtherSession.User.Sala != null)
                            {
                                server.AppendParameter(1);
                                server.AppendParameter(-1);
                                server.AppendParameter(OtherSession.User.Sala.Escenario.es_categoria);//ES_CATEGORIA
                                server.AppendParameter(OtherSession.User.Sala.id);
                                server.AppendParameter(OtherSession.User.Sala.id);
                                server.AppendParameter(OtherSession.User.Sala.id);
                                server.AppendParameter(OtherSession.User.Sala.Escenario.nombre);
                            }
                            else
                            {
                                server.AppendParameter(2);
                                server.AppendParameter(2);
                                server.AppendParameter(0);
                                server.AppendParameter(0);
                                server.AppendParameter(0);
                                server.AppendParameter(2);
                                server.AppendParameter("Flower Power");
                            }
                        }
                    }
                    else
                    {
                        server.AppendParameter(-2);
                        server.AppendParameter(-2);
                        server.AppendParameter(-2);
                        server.AppendParameter(-2);
                        server.AppendParameter(-2);
                        server.AppendParameter(-2);
                        server.AppendParameter(OtherUser.ultima_conexion);
                    }
                    server.AppendParameter(OtherUser.edad);
                    server.AppendParameter("BoomBang");
                }
            }
            else
            {
                server.AppendParameter(0);
            }
            Session.SendData(server);
        }
Example #6
0
 private void Ring()
 {
     sala.Entrable = false;
     while (Contador >= 1)
     {
         Contador--;
         ServerMessage server_1 = new ServerMessage();
         server_1.AddHead(160);
         server_1.AddHead(125);
         server_1.AppendParameter(Contador);
         sala.SendData(server_1);
         Thread.Sleep(new TimeSpan(0, 0, 1));
     }
     if (sala.Usuarios.Count == 1)
     {
         this.Iniciado = false;
         this.NSP      = true;
         ServerMessage server_3 = new ServerMessage();
         server_3.AddHead(160);
         server_3.AddHead(124);
         server_3.AppendParameter("No hay suficientes jugadores. No te hemos cobrado la partida.");
         sala.SendData(server_3);
         Contador = 10;
         ServerMessage server_4 = new ServerMessage();
         server_4.AddHead(160);
         server_4.AddHead(125);
         server_4.AppendParameter(Contador);
         sala.SendData(server_4);
     }
     else
     {
         this.Iniciado   = true;
         sala.PathFinder = true;
         ServerMessage server_2 = new ServerMessage();////Sabio pega el taboro fuerte para indicar que ring ha iniciado
         server_2.AddHead(160);
         server_2.AddHead(126);
         sala.SendData(server_2);
         Contador = 0;
         //Contador = 480;
         while (Tiempo_Atas >= 1)
         {
             Tiempo_Atas--;
             if (Tiempo_Atas == 60)
             {
                 ServerMessage server = new ServerMessage();
                 server.AddHead(160);
                 server.AddHead(123);
                 sala.SendData(server);
             }
             if (Tiempo_Atas == 0)
             {
                 ServerMessage server_45 = new ServerMessage();////Sabio pega el taboro fuerte para indicar que ring ha iniciado
                 server_45.AddHead(160);
                 server_45.AddHead(126);
                 sala.SendData(server_45);
             }
             Thread.Sleep(new TimeSpan(0, 0, 1));
         }
         this.Iniciado = false;
         if (!Ganador)
         {
             ServerMessage server_3 = new ServerMessage();
             server_3.AddHead(160);
             server_3.AddHead(124);
             server_3.AppendParameter("Se ha acabado el tiempo...");
             sala.SendData(server_3);
             Contador = 10;
             ServerMessage server_4 = new ServerMessage();
             server_4.AddHead(160);
             server_4.AddHead(125);
             server_4.AppendParameter(Contador);
             sala.SendData(server_4);
         }
         else
         {
             Contador = 30;
         }
     }
     while (Contador >= 1)
     {
         Contador--;
         if (Contador == 10)
         {
             ServerMessage server_4 = new ServerMessage();
             server_4.AddHead(160);
             server_4.AddHead(125);
             server_4.AppendParameter(Contador);
             sala.SendData(server_4);
         }
         Thread.Sleep(new TimeSpan(0, 0, 1));
     }
     sala.ExpusarUsuarios();
     Rings.Remove(sala.id);
 }
Example #7
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);
        }
Example #8
0
        private void Sendero()
        {
            sala.Entrable = false;
            while (Contador >= 1)
            {
                Contador--;
                ServerMessage server_1 = new ServerMessage();
                server_1.AddHead(160);
                server_1.AddHead(125);
                server_1.AppendParameter(Contador);
                sala.SendData(server_1);
                Thread.Sleep(new TimeSpan(0, 0, 1));
            }
            if (Participantes.Count <= 1)
            {
                ServerMessage server_5 = new ServerMessage();
                server_5.AddHead(160);
                server_5.AddHead(124);
                server_5.AppendParameter("Ups!, al parecer no hay suficientes jugadores...");
                sala.SendData(server_5);
                this.FinalizarSendero();
                return;
            }
            if (Participantes.Count >= 3)
            {
                this.IniciarSendero();
            }
            this.Iniciado   = true;
            sala.PathFinder = true;
            ServerMessage server_2 = new ServerMessage();

            server_2.AddHead(160);
            server_2.AddHead(126);
            sala.SendData(server_2);
            Contador = 0;
            while (Tiempo >= 1)
            {
                Tiempo--;
                Thread.Sleep(new TimeSpan(0, 0, 1));
            }
            this.Iniciado = false;
            if (!Ganador)
            {
                ServerMessage server_3 = new ServerMessage();
                server_3.AddHead(160);
                server_3.AddHead(124);
                server_3.AppendParameter("Se ha acabado el Contador...");
                sala.SendData(server_3);
                foreach (Point PointToShow in Senderos)
                {
                    ServerMessage server1 = new ServerMessage();
                    server1.AddHead(124);
                    server1.AddHead(120);
                    server1.AppendParameter(PointToShow.X);
                    server1.AppendParameter(PointToShow.Y);
                    server1.AppendParameter(1);
                    sala.SendData(server1);
                }
            }
            Contador = 30;
            while (Contador >= 1)
            {
                Contador--;
                if (Contador == 10)
                {
                    ServerMessage server_4 = new ServerMessage();
                    server_4.AddHead(160);
                    server_4.AddHead(125);
                    server_4.AppendParameter(Contador);
                    sala.SendData(server_4);
                }
                Thread.Sleep(new TimeSpan(0, 0, 1));
            }
            sala.ExpusarUsuarios();
            EndSendero.Remove(sala.id);
        }
Example #9
0
        public void Descalificar(SessionInstance Session)
        {
            if (Participantes.ContainsKey(Session.User.IDEspacial))
            {
                Session.User.Jugando = false;
                if (sala.Escenario.id == 2 && NSP == false)
                {
                    UserManager.Creditos(Session.User, true, false, Precio_Golden);
                    Session.User.sala_especial = false;
                }
                if (sala.Escenario.id == 3 && NSP == false)
                {
                    UserManager.Creditos(Session.User, false, false, Precio_Silver);
                    Session.User.sala_especial = false;
                }
                Participantes.Remove(Session.User.IDEspacial);
                if (MiniGamesManager.Inscripciones_Ring.ContainsKey(Session.User.id))
                {
                    MiniGamesManager.Inscripciones_Ring.Remove(Session.User.id);
                }
                if (Iniciado == true)
                {
                    if (Participantes.Count == 2)
                    {
                        ServerMessage server = new ServerMessage();
                        server.AddHead(160);
                        server.AddHead(123);
                        sala.SendData(server);
                    }
                }
                if (Participantes.Count == 1 && Iniciado == true)
                {
                    Ganador     = true;
                    Tiempo_Atas = 0;
                    SessionInstance SessionWin = null;
                    foreach (var win in Participantes.Values)
                    {
                        SessionWin = win;
                    }
                    CancelarInscripcion(Session);
                    CancelarInscripcion(SessionWin);
                    if (sala.Escenario.id == 2)///Golden Ring
                    {
                        SessionWin.User.sala_especial = false;
                        SessionWin.User.rings_ganados++;
                        SessionWin.User.toneos_ring++;
                        if (InterfazHandler.Cada_X_Goldens.Contains(SessionWin.User.rings_ganados))
                        {
                            RegalosManager.Sistema_Regalos(SessionWin);
                        }
                        SessionWin.User.Sala.ActualizarEstadisticas(SessionWin.User);
                        UserManager.Creditos(SessionWin.User, true, true, Recompensa_Golden);

                        ServerMessage server = new ServerMessage();
                        server.AddHead(160);
                        server.AddHead(129);
                        server.AppendParameter(0);
                        server.AppendParameter(0);
                        server.AppendParameter(SessionWin.User.nombre);
                        server.AppendParameter("Ha ganado: " + Recompensa_Golden + " créditos! Suma una victoria!");
                        sala.SendData(server);

                        RankingsManager.agregar_user_ranking(SessionWin.User.id, 1, 2, 1);
                    }
                    if (sala.Escenario.id == 3)//Silver Ring
                    {
                        SessionWin.User.sala_especial = false;
                        SessionWin.User.rings_ganados++;
                        SessionWin.User.Sala.ActualizarEstadisticas(SessionWin.User);
                        UserManager.Creditos(SessionWin.User, false, true, Recompensa_Silver);

                        if (InterfazHandler.Cada_X_Goldens.Contains(SessionWin.User.rings_ganados))
                        {
                            RegalosManager.Sistema_Regalos(SessionWin);
                        }

                        ServerMessage server = new ServerMessage();
                        server.AddHead(160);
                        server.AddHead(129);
                        server.AppendParameter(0);
                        server.AppendParameter(0);
                        server.AppendParameter(SessionWin.User.nombre);
                        server.AppendParameter("Ha ganado: " + Recompensa_Silver + " monedas de plata! Suma una victoria!");
                        sala.SendData(server);

                        RankingsManager.agregar_user_ranking(SessionWin.User.id, 1, 1, 1);
                    }
                    Participantes.Remove(SessionWin.User.IDEspacial);
                    SessionWin.User.Jugando = false;
                }
            }
        }
Example #10
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.");
            }
        }
Example #11
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;
                     }
                 }
             }
         }
     }
 }
Example #12
0
        public static void Creditos(UserInstance User, bool Oro, bool sumar, int cantidad)
        {
            SessionInstance Session = UserManager.ObtenerSession(User.id);

            using (mysql client = new mysql())
            {
                client.SetParameter("id", User.id);
                client.SetParameter("cantidad", cantidad);
                if (Session != null)
                {
                    if (Oro)
                    {
                        if (sumar)
                        {
                            if (client.ExecuteNonQuery("UPDATE usuarios SET oro = (oro + @cantidad) WHERE id = @id") == 1)
                            {
                                User.oro += cantidad;
                                ServerMessage server = new ServerMessage();
                                server.AddHead(162);
                                server.AppendParameter(cantidad);
                                Session.SendData(server);
                            }
                        }
                        else
                        {
                            try
                            {
                                if (client.ExecuteNonQuery("UPDATE usuarios SET oro = (oro - @cantidad) WHERE id = @id") == 1)
                                {
                                    User.oro -= cantidad;
                                    ServerMessage server = new ServerMessage();
                                    server.AddHead(161);
                                    server.AppendParameter(cantidad);
                                    Session.SendData(server);
                                }
                            }
                            catch (Exception ex)
                            {
                                Output.WriteLine(ex.ToString()); Program.EditorialResponse(ex);
                            }
                        }
                    }
                    else
                    {
                        if (sumar)
                        {
                            if (client.ExecuteNonQuery("UPDATE usuarios SET plata = (plata + @cantidad) WHERE id = @id") == 1)
                            {
                                User.plata += cantidad;
                                ServerMessage server = new ServerMessage();
                                server.AddHead(166);
                                server.AppendParameter(cantidad);
                                Session.SendData(server);
                            }
                        }
                        else
                        {
                            if (client.ExecuteNonQuery("UPDATE usuarios SET plata = (plata - @cantidad) WHERE id = @id") == 1)
                            {
                                User.plata -= cantidad;
                                ServerMessage server = new ServerMessage();
                                server.AddHead(168);
                                server.AppendParameter(cantidad);
                                Session.SendData(server);
                            }
                        }
                    }
                }
            }
        }
Example #13
0
        public static void IniciarSesion(SessionInstance Session, string user, string pass)
        {
            ServerMessage server = new ServerMessage();

            server.AddHead(120);
            server.AddHead(130);

            Session.User = ObtenerUsuario(user, pass);
            if (Session.User != null)
            {
                if (!usuarioOnline(Session.User))
                {
                    UsuariosOnline.Add(Session.User.id, Session);

                    if (Session.User.timespam_regalo_peque == 0)
                    {
                        Session.User.timespam_regalo_peque = Time.GetCurrentAndAdd(AddType.Minutos, 30);
                    }
                    if (Session.User.timespam_desc_cambios != 0)
                    {
                        if (Time.GetDifference(Session.User.timespam_desc_cambios) <= 0)
                        {
                            Session.User.timespam_desc_cambios = 0;
                            Session.User.security = string.Empty;
                            UserManager.ActualizarEstadisticas(Session.User);
                            FlowerHandler.BoomBangTeam(Session, "¡Se ha completado el proceso de desactivación de la clave de seguridad! \rAhora tu cuenta no está totalmente segura.");
                        }
                    }
                    using (mysql client = new mysql())
                    {
                        client.SetParameter("id", Session.User.id);
                        DataRow row = client.ExecuteQueryRow("SELECT * FROM cuentas_desactivadas WHERE id = @id");
                        if (row != null)
                        {
                            server.AppendParameter(4);
                            server.AppendParameter("Has desactivado tu cuenta, para reactivarla, presiona el botón");
                            server.AppendParameter(1);
                            Session.SendDataProtected(server);
                            return;
                        }
                    }
                    ActualizarVipUsuarios(Session);
                    server.AppendParameter(1);
                    server.AppendParameter(Session.User.nombre);
                    server.AppendParameter(Session.User.avatar);
                    server.AppendParameter(Session.User.colores);
                    server.AppendParameter(Session.User.email);
                    server.AppendParameter(Session.User.edad);
                    server.AppendParameter(2);
                    server.AppendParameter("Hola, Soy nuevo en BoomBang.");
                    server.AppendParameter(0);
                    server.AppendParameter(Session.User.id);
                    server.AppendParameter(Session.User.admin);
                    server.AppendParameter(Session.User.oro);
                    server.AppendParameter(Session.User.plata);
                    server.AppendParameter(200);
                    server.AppendParameter(5);
                    server.AppendParameter(0);
                    server.AppendParameter((Time.GetDifference(Session.User.timespam_regalo_peque) <= 0 ? 0 : Time.GetDifference(Session.User.timespam_regalo_peque))); //Regalo pequeño "tiempo de regalo"
                    server.AppendParameter(0);                                                                                                                          //Creo que es contador demrd
                    server.AppendParameter(0);                                                                                                                          //Creo que es contador demrd
                    server.AppendParameter(Session.User.tutorial_islas);
                    server.AppendParameter("ES");
                    server.AppendParameter(1);
                    server.AppendParameter(0);
                    server.AppendParameter(Session.User.vip);
                    server.AppendParameter(Session.User.end_vip);
                    server.AppendParameter((Session.User.ValidarEmail == 0 ? 0 : 1)); ///Validar email / 1 Cambiar Email
                    server.AppendParameter((Session.User.timespam_desc_cambios == 0 ? Session.User.security != "" ? 1 : 0 : 2));
                    server.AppendParameter(0);                                        //Noticia derecha
                    server.AppendParameter(0);
                    server.AppendParameter(new object[] { 1, 0 });
                    server.AppendParameter(0);
                    server.AppendParameter(Session.User.cambio_nombre);//Nombre personaje
                    Session.User.AFKManager = 3600;
                    if (Program.ver_conexion_usuarios == true)
                    {
                        Output.WriteLine("[UserManager] -> Se ha conectado el usuario " + Session.User.nombre + ".");
                    }
                    if (Session.User.avatar >= 1 && Session.User.avatar <= 11 && Session.User.colores.Substring(0, 6) == "000000")
                    {
                        Session.User.colores = Session.User.colores.Replace("000000", "FFFFFF"); ActualizarEstadisticas(Session.User);
                    }
                    if (Session.User.avatar >= 8 && Session.User.avatar <= 9 && Session.User.colores.Substring(6, 6) == "000000")
                    {
                        Session.User.colores = Session.User.colores.Replace("000000", "FFFFFF"); ActualizarEstadisticas(Session.User);
                    }
                    ActualizarUsuarios();
                    Actualizar_conexion(Session.User, Session.IP);
                    repair_gift(Session);

                    new Thread(() => updateOnlineUser(Session)).Start();
                    new Thread(() => AntiScript(Session)).Start();
                }
                else
                {
                    Thread.Sleep(new TimeSpan(0, 0, 0, 0, 500));
                    server.AppendParameter(2);
                }
            }
            else
            {
                Thread.Sleep(new TimeSpan(0, 0, 0, 0, 500));
                server.AppendParameter(0);
            }

            Session.SendDataProtected(server);
            Program.UpdateTitle();
        }
Example #14
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);
     }
 }