Example #1
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;
                     }
                 }
             }
         }
     }
 }