示例#1
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;
             }
         }
     }
 }
示例#2
0
 private static void Primer_Usuario_Manager(SessionInstance Session, int Item, bool pm, string Mensaje, int x, int y)
 {
     using (mysql efecto = new mysql())
     {
         DataRow ver_objeto = efecto.ExecuteQueryRow("SELECT * FROM objetos WHERE id = '" + Item + "'");
         if (ver_objeto != null)
         {
             string categoria_objeto = (string)ver_objeto["categoria"];
             string nombre_objeto    = (string)ver_objeto["titulo"];
             if (categoria_objeto.Contains("7") || categoria_objeto.Contains("8"))
             {
                 Packet_133(Session, string.Format("{0} abre un " + nombre_objeto + "", Session.User.nombre), true);
             }
             else if (categoria_objeto.Contains("4"))
             {
                 Packet_133(Session, string.Format("{0} consume una poción de " + nombre_objeto + "", Session.User.nombre), true);
             }
             else
             {
                 Packet_133(Session, string.Format("{0} consume una pocion", Session.User.nombre), true);
             }
             Pociones_Manager(Session, Item, Session.User.id, pm, Mensaje, x, y);
         }
     }
 }
示例#3
0
 private static void Colores_Black(SessionInstance Session)
 {
     if (Session.User.PreLock_Disfraz == true)
     {
         return;
     }
     if (Session.User.ModoNinja == true)
     {
         return;
     }
     if (Session.User.Efecto != 0)
     {
         return;
     }
     Session.User.PreLock_Disfraz = true;
     Session.User.Trayectoria.DetenerMovimiento();
     if (Session.User.avatar >= 1 && Session.User.avatar <= 11 && Session.User.colores_old == "" && Session.User.avatar != 8 && Session.User.avatar != 9)
     {
         Session.User.colores_old = Session.User.colores; Session.User.colores = "000000" + Session.User.colores.Substring(6, 6) + Session.User.colores.Substring(12, 6) + Session.User.colores.Substring(18, 6) + Session.User.colores.Substring(24, 6) + Session.User.colores.Substring(30, 6) + Session.User.colores.Substring(36, 6); Session.User.block_coco = true; Session.User.Sala.Alerta("Sabio: Usuario " + Session.User.nombre + " ha activado anti upper."); Session.User.block_upper = true;
     }
     else if (Session.User.avatar == 8 && Session.User.colores_old == "")
     {
         Session.User.colores_old = Session.User.colores; Session.User.colores = Session.User.colores.Substring(0, 6) + "000000" + Session.User.colores.Substring(12, 6) + Session.User.colores.Substring(18, 6) + Session.User.colores.Substring(24, 6) + Session.User.colores.Substring(30, 6) + Session.User.colores.Substring(36, 6); Session.User.block_coco = true; Session.User.Sala.Alerta("Sabio: Usuario " + Session.User.nombre + " ha activado anti upper."); Session.User.block_upper = true;
     }
     else if (Session.User.avatar == 9 && Session.User.colores_old == "")
     {
         Session.User.colores_old = Session.User.colores; Session.User.colores = Session.User.colores.Substring(0, 6) + "000000" + Session.User.colores.Substring(12, 6) + Session.User.colores.Substring(18, 6) + Session.User.colores.Substring(24, 6) + Session.User.colores.Substring(30, 6) + Session.User.colores.Substring(36, 6); Session.User.block_coco = true; Session.User.Sala.Alerta("Sabio: Usuario " + Session.User.nombre + " ha activado anti upper."); Session.User.block_upper = true;
     }
     else
     {
         Session.User.colores = Session.User.colores_old; Session.User.colores_old = ""; Session.User.block_coco = false; Session.User.Sala.Alerta("Sabio: Usuario " + Session.User.nombre + " ha desactivado anti upper."); Session.User.block_upper = false;
     }
     Packet_125_120(Session, Session.User.id, Session.User.avatar, Session.User.colores, true);
 }
示例#4
0
        public HttpResponseMessage SendMessage([FromBody] SendMessageFormModel sendMessageData)
        {
            try
            {
                if (sendMessageData == null)
                {
                    return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ErrorMessages.ERR_NO_FORM_DATA));
                }

                SessionInstance mySession = SessionManager.Instance.GetSessionByToken(sendMessageData.Token);
                if (mySession == null)
                {
                    return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ErrorMessages.ERR_NOT_LOGGED_IN));
                }

                this.dataAccess.SendMessage(
                    mySession.AccounData.UserId,
                    sendMessageData.To_Name,
                    sendMessageData.Message,
                    this.Request.GetRemoteIPAddress());

                return(HttpResponseFactory.Response200Plain(StatusKeys.MESSAGE, StatusMessages.MESSAGE_SENT));
            }
            catch (PR2Exception ex)
            {
                return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ex.Message));
            }
            catch (Exception ex)
            {
                return(HttpResponseFactory.Response500Plain(ex.Message));
            }
        }
示例#5
0
        static void PonerObjetos(SessionInstance Session, string[,] Parameters)
        {
            int id        = int.Parse(Parameters[0, 0]);
            int compra_id = int.Parse(Parameters[1, 0]);
            int objetoID  = int.Parse(Parameters[2, 0]);
            IntercambioInstance Intercambio = IntercambiosManager.ObtenerIntercambio(id);

            if (Intercambio != null)
            {
                //if (CatalogoManager.ObtenerCatalogo(objetoID) == null) return;
                // 199121-> ±Ç³y³²1³²-1³²3103³²2³²°   Pocion
                //±Ç³y³²1³²13619³²1885³²1³²° Objeto
                BuyObjectInstance Compra = CatalogoManager.ObtenerCompra(compra_id);
                if (Compra != null)
                {
                    if (Compra.usuario_id != Session.User.id)
                    {
                        return;
                    }
                    if (Compra.sala_id != 0)
                    {
                        return;
                    }
                    Intercambio.PonerObjeto(Session, Compra);
                }
            }
        }
示例#6
0
        private static void Method_132_124(SessionInstance Session, string[,] Parameters)
        {
            int          OtherUser  = int.Parse(Parameters[0, 0]);
            UserInstance UserFriend = UserManager.ObtenerUsuario(OtherUser);

            if (UserFriend != null)
            {
                if (AceptarSolicitud(Session, UserFriend))
                {
                    ServerMessage server_1 = new ServerMessage();
                    server_1.AddHead(132);
                    server_1.AddHead(124);
                    server_1.AppendParameter(OtherUser);
                    Session.SendData(server_1);

                    ServerMessage server_2 = new ServerMessage();
                    server_2.AddHead(132);
                    server_2.AddHead(131);
                    server_2.AppendParameter(1);
                    server_2.AppendParameter(OtherUser);
                    Session.SendData(server_2);

                    if (UserManager.UsuariosOnline.ContainsKey(UserFriend.id))
                    {
                        SessionInstance SessionFriend = UserManager.ObtenerSession(UserFriend.id);
                        if (SessionFriend != null)
                        {
                            SessionFriend.SendData(Cargar_Bpad(SessionFriend));
                            Session.SendData(Cargar_Bpad(Session));
                        }
                    }
                }
            }
        }
示例#7
0
        static ServerMessage Cargar_Bpad(SessionInstance Session)
        {
            ServerMessage server = new ServerMessage();

            server.AddHead(132);
            server.AddHead(120);
            using (mysql client = new mysql())
            {
                int NumeroAmigos = Convert.ToInt32(client.ExecuteScalar("SELECT COUNT(*) FROM bpad_amigos WHERE (ID_1 = '" + Session.User.id + "')"));
                server.AppendParameter(NumeroAmigos);
                List <int> ID_amigos = new List <int>();
                foreach (DataRow row in client.ExecuteQueryTable("SELECT * FROM bpad_amigos WHERE ID_1 = '" + Session.User.id + "'").Rows)
                {
                    //if (!ID_amigos.Contains((int)row[""]))
                    UserInstance UserFriend = UserManager.ObtenerUsuario((int)row["ID_2"]);
                    if (UserFriend != null)
                    {
                        server.AppendParameter(UserFriend.id);
                        server.AppendParameter(UserFriend.nombre);
                        server.AppendParameter(UserFriend.bocadillo);
                        server.AppendParameter(UserFriend.avatar);
                        server.AppendParameter(UserFriend.colores);
                        server.AppendParameter(UserFriend.edad);
                        server.AppendParameter("BurBian");
                        server.AppendParameter((string)row["Nota"]);
                        server.AppendParameter((int)row["Marquilla"]);
                        server.AppendParameter((int)row["Solicitud"]);
                    }
                }
            }
            return(server);
        }
示例#8
0
        public static void cargar_planta(SessionInstance Session, BuyObjectInstance objeto)
        {
            mysql client = new mysql();

            client.SetParameter("id", objeto.id);
            DataRow           objetos_comprado = client.ExecuteQueryRow("SELECT * FROM objetos_comprados WHERE id = @id");
            BuyObjectInstance Compra           = CatalogoManager.ObtenerCompra((int)objetos_comprado["id"]);

            if (Compra.Planta_agua - Compra.Planta_sol < 0 && Time.GetDifference(Compra.Planta_sol) <= 0)//planta murio
            {
                Compra.Planta_agua = 0;
                Compra.Planta_sol  = 0;
                planta_sql(Compra);
                return;
            }
            if (Time.GetDifference(Compra.Planta_sol) <= 0 && Time.GetDifference(Compra.Planta_agua) > 0 && Compra.Planta_sol != 0)//Planta ha crecido
            {
                Compra.Planta_agua = 0;
                Compra.Planta_sol  = 0;
                planta_sql(Compra);
                actualizar_planta(Compra.id, Compra, Session);
                return;
            }
            if (Time.GetDifference(Compra.Planta_agua) <= 0)//Planta ha muerto
            {
                Compra.Planta_agua = 0;
                Compra.Planta_sol  = 0;
                planta_sql(Compra);
                return;
            }
            new Thread(() => Packet_189_173(Session, Compra)).Start();
        }
示例#9
0
        public HttpResponseMessage UploadLevel([FromBody] UploadLevelFormModel levelData)
        {
            try
            {
                if (levelData == null)
                {
                    return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ErrorMessages.ERR_NO_FORM_DATA));
                }

                SessionInstance mySession = SessionManager.Instance.GetSessionByToken(levelData.Token);
                if (mySession == null)
                {
                    return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ErrorMessages.ERR_NOT_LOGGED_IN));
                }

                this.levelsDAL.SaveLevel(mySession.AccounData.UserId, mySession.AccounData.Username, levelData.ToDTO(), this.Request.GetRemoteIPAddress());

                return(HttpResponseFactory.Response200Plain(StatusKeys.MESSAGE, StatusMessages.SAVE_SUCCESSFUL));
            }
            catch (PR2Exception ex)
            {
                return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ex.Message));
            }
            catch (Exception ex)
            {
                return(HttpResponseFactory.Response500Plain(ex.Message));
            }
        }
示例#10
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;
     }
 }
示例#11
0
        private static void mGame12_ClickPerson(SessionInstance Session, string[,] Parameters)
        {
            int KekoID = int.Parse(Parameters[0, 0]);

            if (Session.User.Sala != null)
            {
                if (Session.User.Sala.Camino != null)
                {
                    if (Session.User.Sala.Camino.Iniciado)
                    {
                        KekosLanzados Keko = Session.User.Sala.Camino.ObtenerKekoInfo(KekoID);
                        if (Keko != null)
                        {
                            Session.User.mGame12ActualPoints += Keko.Puntos;
                            ServerMessage server = new ServerMessage();
                            server.AddHead(160);
                            server.AddHead(138);
                            server.AddHead(122);
                            server.AppendParameter(Session.User.id);
                            server.AppendParameter(KekoID);
                            server.AppendParameter(Keko.Puntos);
                            server.AppendParameter(Session.User.mGame12ActualPoints);
                            Session.User.Sala.SendData(server, Session);
                            Session.User.Sala.Camino.KekosParaLanzar.Remove(KekoID);
                            if (Session.User.mGame12ActualPoints >= 100)
                            {
                                Session.User.Sala.Camino.DeclararGanador(Session);
                            }
                        }
                    }
                }
            }
        }
示例#12
0
        private static void Packet_189_120(SessionInstance Session, string Nombre, int Modelo)
        {
            ServerMessage server = new ServerMessage();

            server.AddHead(189);
            server.AddHead(120);
            if (IslasManager.IslasCreadas(Session.User) < 25)
            {
                if (Nombre == "")
                {
                    Session.FinalizarConexion("Packet_189_120"); return;
                }
                if (Session.ValidarEntrada(Nombre, false))
                {
                    if (IslasManager.ObtenerIsla(Nombre) == null)
                    {
                        server.AppendParameter(IslasManager.CrearIsla(Session.User, Nombre, Modelo));
                    }
                    else
                    {
                        server.AppendParameter(0);
                    }
                }
            }
            else
            {
                server.AppendParameter(0);
            }
            Session.SendData(server);
        }
示例#13
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;
     }
 }
示例#14
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;
             }
         }
     }
 }
        public void Create_A_Recordable_Instance_Has_Session_Id()
        {
            Session         session         = new Session("10FA82BC-7456-4A8C-BCA0-47CB262F8AA0", "Session 1", DateTime.Parse("2018/02/23"), DateTime.Parse("2018/02/25"));
            SessionInstance sessionInstance = session.CreateRecordableInstance();

            Assert.AreEqual(session.Id, sessionInstance.SessionId);
        }
示例#16
0
        public HttpResponseMessage DeleteLevel([FromBody] DeleteLevelFormModel levelData)
        {
            try
            {
                if (levelData == null || !levelData.Level_Id.HasValue)
                {
                    return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ErrorMessages.ERR_NO_FORM_DATA));
                }

                SessionInstance mySession = SessionManager.Instance.GetSessionByToken(levelData.Token);
                if (mySession == null)
                {
                    return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ErrorMessages.ERR_NOT_LOGGED_IN));
                }

                this.levelsDAL.SoftDeleteLevel(mySession.AccounData.UserId, levelData.Level_Id.Value);

                return(HttpResponseFactory.Response200Plain(StatusKeys.SUCCESS, StatusMessages.TRUE));
            }
            catch (PR2Exception ex)
            {
                return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ex.Message));
            }
            catch (Exception ex)
            {
                return(HttpResponseFactory.Response500Plain(ex.Message));
            }
        }
示例#17
0
 private static void compartir(SessionInstance Session, string[,] Parameters)
 {
     try
     {
         mysql client = new mysql();
         foreach (DataRow row in client.ExecuteQueryTable("SELECT * FROM bpad_amigos WHERE ID_1 = '" + Session.User.id + "'").Rows)
         {
             UserInstance    amigo         = UserManager.ObtenerUsuario((int)row["ID_2"]);
             SessionInstance SessionFriend = UserManager.ObtenerSession(amigo.id);
             string          Fecha         = Convert.ToString(DateTime.Now).Substring(0, 16);
             client.SetParameter("Emisor", Session.User.id);
             client.SetParameter("Receptor", amigo.id);
             client.SetParameter("Mensaje", Session.User.levelup);
             client.SetParameter("Fecha", Fecha);
             client.SetParameter("Tipo", 3);
             client.ExecuteNonQuery("INSERT INTO bpad_mensajes (`Emisor`, `Mensaje`, `Receptor`, `Tipo`, `Fecha`) VALUES (@Emisor, @Mensaje, @Receptor, @Tipo, @Fecha)");
             client.SetParameter("UserID", Session.User.id);
             int           GetMessageID = Convert.ToInt32(client.ExecuteScalar("SELECT MAX(id) FROM bpad_mensajes WHERE Emisor = @UserID"));
             ServerMessage server       = new ServerMessage();
             server.AddHead(132);
             server.AddHead(127);
             server.AppendParameter(GetMessageID);
             server.AppendParameter(Session.User.id);
             server.AppendParameter(Fecha);
             server.AppendParameter(Session.User.levelup);
             server.AppendParameter(3);
             SessionFriend.SendData(server);
         }
         Session.User.levelup = "";
     }
     catch (Exception e)
     {
         Console.WriteLine(e); Program.EditorialResponse(e);
     }
 }
示例#18
0
        public HttpResponseMessage SubmitRating([FromBody] SubmitRatingFormModel ratingData)
        {
            try
            {
                if (ratingData == null || !ratingData.Level_Id.HasValue || !ratingData.Rating.HasValue)
                {
                    return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ErrorMessages.ERR_NO_FORM_DATA));
                }

                SessionInstance mySession = SessionManager.Instance.GetSessionByToken(ratingData.Token);
                if (mySession == null)
                {
                    return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ErrorMessages.ERR_NOT_LOGGED_IN));
                }

                RatingDataDTO ratingResult = this.levelsDAL.SaveRating(ratingData.Level_Id.Value, ratingData.Rating.Value, mySession.AccounData.UserId, this.Request.GetRemoteIPAddress());

                return(HttpResponseFactory.Response200Plain(StatusKeys.MESSAGE, ratingResult.ToString()));
            }
            catch (PR2Exception ex)
            {
                return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ex.Message));
            }
            catch (Exception ex)
            {
                return(HttpResponseFactory.Response500Plain(ex.Message));
            }
        }
示例#19
0
        static void Method_132_125(SessionInstance Session, string[,] Parameters)
        {
            int          FriendID   = int.Parse(Parameters[0, 0]);
            UserInstance FriendUser = UserManager.ObtenerUsuario(FriendID);

            if (FriendUser != null)
            {
                if (EliminarAmigo(Session, FriendUser))
                {
                    if (UserManager.UsuariosOnline.ContainsKey(FriendUser.id))
                    {
                        SessionInstance SessionFriend = UserManager.ObtenerSession(FriendUser.id);
                        if (SessionFriend != null)
                        {
                            ServerMessage server_1 = new ServerMessage();
                            server_1.AddHead(132);
                            server_1.AddHead(125);
                            server_1.AppendParameter(Session.User.id);
                            SessionFriend.SendData(server_1);
                        }
                    }
                    ServerMessage server_2 = new ServerMessage();
                    server_2.AddHead(132);
                    server_2.AddHead(125);
                    server_2.AppendParameter(FriendUser.id);
                    Session.SendData(server_2);
                }
            }
        }
示例#20
0
        public HttpResponseMessage RemoveLevel([FromBody] DeleteLevelFormModel levelData)
        {
            try
            {
                if (levelData == null || !levelData.Level_Id.HasValue)
                {
                    return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ErrorMessages.ERR_NO_LEVEL_ID));
                }

                SessionInstance mySession = SessionManager.Instance.GetSessionByToken(levelData.Token);
                if (mySession == null)
                {
                    return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ErrorMessages.ERR_NOT_LOGGED_IN));
                }

                if (mySession.AccounData.Group < UserGroup.MODERATOR)
                {
                    return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ErrorMessages.ERR_NO_RIGHTS));
                }

                this.levelsDAL.UnpublishLevel(levelData.Level_Id.Value);

                return(HttpResponseFactory.Response200Plain(StatusKeys.SUCCESS, StatusMessages.TRUE));
            }
            catch (PR2Exception ex)
            {
                return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ex.Message));
            }
            catch (Exception ex)
            {
                return(HttpResponseFactory.Response500Plain(ex.Message));
            }
        }
示例#21
0
        public HttpResponseMessage DeleteMessage([FromBody] DeleteOrReportMessageFormModel reportMessageData)
        {
            try
            {
                if (reportMessageData == null)
                {
                    return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ErrorMessages.ERR_NO_FORM_DATA));
                }

                SessionInstance mySession = SessionManager.Instance.GetSessionByToken(reportMessageData.Token);
                if (mySession == null)
                {
                    return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ErrorMessages.ERR_NOT_LOGGED_IN));
                }

                this.dataAccess.DeleteMessage(mySession.AccounData.UserId, reportMessageData.Message_Id);

                return(HttpResponseFactory.Response200Plain(StatusKeys.SUCCESS, StatusMessages.TRUE));
            }
            catch (PR2Exception ex)
            {
                return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ex.Message));
            }
            catch (Exception ex)
            {
                return(HttpResponseFactory.Response500Plain(ex.Message));
            }
        }
示例#22
0
        public HttpResponseMessage PasswordCheck(Int64?courseID, String hash = "", String token = "", String rand = "")
        {
            try
            {
                if (!courseID.HasValue)
                {
                    return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ErrorMessages.ERR_NO_LEVEL_ID));
                }

                SessionInstance mySession = SessionManager.Instance.GetSessionByToken(token);
                if (mySession == null)
                {
                    return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ErrorMessages.ERR_NOT_LOGGED_IN));
                }

                Boolean unlocked         = this.levelsDAL.CheckLevelPassword(courseID.Value, hash);
                String  serializedResult = JsonConvert.SerializeObject(new LevelPassCheckResultJson
                {
                    Access  = unlocked ? StatusMessages.ONE : StatusMessages.ZERO,
                    LevelId = courseID.Value.ToString(),
                    UserId  = mySession.AccounData.UserId.ToString()
                });
                String encodedResult = serializedResult.ToBase64();

                return(HttpResponseFactory.Response200Plain(StatusKeys.RESULT, encodedResult));
            }
            catch (PR2Exception ex)
            {
                return(HttpResponseFactory.Response200Plain(StatusKeys.ERROR, ex.Message));
            }
            catch (Exception ex)
            {
                return(HttpResponseFactory.Response500Plain(ex.Message));
            }
        }
示例#23
0
        static void AceptarCambios(SessionInstance Session, string[,] Parameters)
        {
            int             id        = int.Parse(Parameters[0, 0]);
            int             user_1    = int.Parse(Parameters[1, 0]);
            int             user_2    = int.Parse(Parameters[2, 0]);
            SessionInstance Session_1 = UserManager.ObtenerSession(user_1);
            SessionInstance Session_2 = UserManager.ObtenerSession(user_2);

            if (Session_1 != null && Session_2 != null)
            {
                if (Session_1.User != null && Session_2.User != null)
                {
                    if (Session_1.User.Intercambio != null && Session_2.User.Intercambio != null)
                    {
                        IntercambioInstance Intercambio = IntercambiosManager.ObtenerIntercambio(id);
                        if (Intercambio != null)
                        {
                            if (IntercambiosManager.ValidarAccion(Intercambio.ID, Session_1, Session_2))
                            {
                                Intercambio.AceptarCambios(Session);
                            }
                        }
                    }
                }
            }
        }
示例#24
0
 static void GoRoom(SessionInstance Session, string[,] Parameters)
 {
     Thread.Sleep(new TimeSpan(0, 0, 0, 0, 500));
     if (Session.User != null)
     {
         if (Session.User.Sala != null)
         {
             return;
         }
         int id_sala = int.Parse(Parameters[1, 0]);
         if (int.Parse(Parameters[1, 0]) == 30 && int.Parse(Parameters[0, 0]) == 1)//Cementerio Entradas
         {
             Random rd    = new Random();
             int[]  areas = { 50, 46, 26, 30 };
             id_sala = areas[rd.Next(0, 4)];                                             //0+1+2+3
         }
         else if (int.Parse(Parameters[1, 0]) == 78 && int.Parse(Parameters[0, 0]) == 1) //Madriguera Entradas
         {
             Random rd    = new Random();
             int[]  areas = { 83, 82, 90, 84 };
             id_sala = areas[rd.Next(0, 4)];                                             //0+1+2+3
         }
         else if (int.Parse(Parameters[1, 0]) == 57 && int.Parse(Parameters[0, 0]) == 1) //Bosque Nevado Entradas
         {
             Random rd    = new Random();
             int[]  areas = { 60, 64, 72, 63 };
             id_sala = areas[rd.Next(0, 4)]; //0+1+2+3
         }
         if (!SalasManager.IrAlli(Session, int.Parse(Parameters[0, 0]), id_sala))
         {
             Packet_128_120(Session);
             Session.User.PreLock__Spamm_Areas = true;
         }
     }
 }
示例#25
0
 public static void CancelarInscripcion(SessionInstance Session)
 {
     if (MiniGamesManager.Inscripciones_CocosLocos.ContainsKey(Session.User.id))
     {
         MiniGamesManager.Inscripciones_CocosLocos.Remove(Session.User.id);
     }
 }
示例#26
0
        private static void Packet_191(SessionInstance Session)
        {
            ServerMessage server = new ServerMessage();

            server.AddHead(191);
            foreach (IslaInstance Isla in IslasManager.ObtenerIslasFavoritos(Session.User.id))
            {
                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);
            }
            foreach (EscenarioInstance Escenario in CasasManager.ObtenerCasasFavoritos(Session.User.id))
            {
                server.AppendParameter(4);
                server.AppendParameter(0);
                server.AppendParameter(Escenario.id);
                server.AppendParameter(0);
                server.AppendParameter(Escenario.id);
                server.AppendParameter(0);
                server.AppendParameter(Escenario.nombre);
                server.AppendParameter(0);
                server.AppendParameter(CasasManager.UsuariosEnSala(Escenario)); //visitantes
                server.AppendParameter(0);
            }
            Session.SendDataProtected(server);
        }
示例#27
0
        private static void Otro_Usuario_Manager(SessionInstance Session, int Item, int id_USUARIO, bool pm, string Mensaje)
        {
            SessionInstance OtherSession = UserManager.ObtenerSession(id_USUARIO);

            if (OtherSession == null)
            {
                return;
            }
            using (mysql efecto = new mysql())
            {
                DataRow ver_objeto = efecto.ExecuteQueryRow("SELECT * FROM objetos WHERE id = '" + Item + "'");
                if (ver_objeto != null)
                {
                    string categoria_objeto = (string)ver_objeto["categoria"];
                    string nombre_objeto    = (string)ver_objeto["titulo"];
                    OtherSession.User.Trayectoria.DetenerMovimiento();
                    if (categoria_objeto.Contains("7") || categoria_objeto.Contains("8"))
                    {
                        Packet_133(Session, string.Format("{0} entrega un " + nombre_objeto + " a {1}", Session.User.nombre, OtherSession.User.nombre), true);
                    }
                    else if (categoria_objeto.Contains("4"))
                    {
                        Packet_133(Session, string.Format("{0} lanza una poción de " + nombre_objeto + " a {1}", Session.User.nombre, OtherSession.User.nombre), true);
                    }
                    else
                    {
                        Packet_133(Session, string.Format("{0} envía una pocion a {1}", Session.User.nombre, OtherSession.User.nombre), true);
                    }
                    Pociones_Manager(Session, Item, OtherSession.User.id, pm, Mensaje, 0, 0);
                }
            }
        }
示例#28
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);
        }
示例#29
0
        static void Packet_184_120(SessionInstance Session, int Efecto, string Mensaje, bool Publico)
        {
            ServerMessage server = new ServerMessage();

            server.AddHead(184);
            server.AddHead(120);

            if (Mensaje != "")
            {
                server.AppendParameter(Session.User.id);
                server.AppendParameter(10);
                server.AppendParameter(Efecto);// Id de efecto
                server.AppendParameter(Mensaje);
            }
            else
            {
                server.AppendParameter(Session.User.id);
                server.AppendParameter(Efecto);
                server.AppendParameter(Efecto);
            }
            if (Publico == false)
            {
                Session.SendData(server);
            }
            if (Publico == true)
            {
                Session.User.Sala.SendData(server, Session);
            }
        }
示例#30
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;
             }
         }
     }
 }