static void Uppert_Kick(SessionInstance Session, SalaInstance Sala) { Thread.Sleep(new TimeSpan(0, 0, 5)); if (Session.User.Sala.id == Sala.id && Session.User.Sala.Escenario.es_categoria == Sala.Escenario.es_categoria) { SalasManager.Salir_Sala(Session, true); } }
public static int Visitantes(IslaInstance Isla) { int num = 0; foreach (EscenarioInstance Zona in ZonasIsla(Isla)) { num += SalasManager.UsuariosEnSala(Zona); } return(num); }
public static void EliminarEscenario(EscenarioInstance Escenario) { using (mysql client = new mysql()) { client.SetParameter("id", Escenario.id); if (Escenario.es_categoria == 0) { client.ExecuteNonQuery("DELETE FROM escenarios_privados WHERE id = @id"); client.SetParameter("id", Escenario.id); foreach (DataRow row in client.ExecuteQueryTable("SELECT * FROM objetos_comprados WHERE sala_id = @id").Rows) { BuyObjectInstance Compra = new BuyObjectInstance(row); SessionInstance Session = UserManager.ObtenerSession(Compra.usuario_id); if (Session != null) { ServerMessage añadir_mochila = new ServerMessage(); añadir_mochila.AddHead(189); añadir_mochila.AddHead(139); añadir_mochila.AppendParameter(Compra.id); añadir_mochila.AppendParameter(Compra.objeto_id); añadir_mochila.AppendParameter(Compra.colores_hex); añadir_mochila.AppendParameter(Compra.colores_rgb); añadir_mochila.AppendParameter(0); añadir_mochila.AppendParameter(0); añadir_mochila.AppendParameter(Compra.tam); añadir_mochila.AppendParameter(0); añadir_mochila.AppendParameter(0); añadir_mochila.AppendParameter(0); añadir_mochila.AppendParameter(1);//CantidadObjetos Session.SendData(añadir_mochila); } else { break; } } client.SetParameter("id", Escenario.id); client.ExecuteNonQuery("UPDATE objetos_comprados SET sala_id = '0' WHERE sala_id = @id"); } if (Escenario.es_categoria == 1) { client.ExecuteNonQuery("DELETE FROM escenarios_publicos WHERE id = @id"); } } SalaInstance Sala = SalasManager.ObtenerSala(Escenario); if (Sala != null) { SalasManager.EliminarSala(Sala); } }
public static void RenombrarEscenario(EscenarioInstance Escenario, string nombre) { using (mysql client = new mysql()) { client.SetParameter("id", Escenario.id); client.SetParameter("nombre", nombre); if (Escenario.es_categoria == 0) { client.ExecuteNonQuery("UPDATE escenarios_privados SET nombre = @nombre WHERE id = @id"); } } SalaInstance Sala = SalasManager.ObtenerSala(Escenario); if (Sala != null) { Sala.Escenario.nombre = nombre; } }
public static void CerrarSesion(SessionInstance Session, string error) { if (Session.User != null) { UserManager.Ajustar_Remuneracion(Session.User); MiniGamesManager.CancelarInscripciones(Session.User); if (Session.User.Sala != null) { SalasManager.Salir_Sala(Session); } UsuariosOnline.Remove(Session.User.id); if (Program.ver_conexion_usuarios == true) { Output.WriteLine("[UserManager] -> Se ha desconectado " + Session.User.nombre + ". > " + error); } ActualizarUsuarios(); Program.UpdateTitle(); } }
void Llamar(List <SessionInstance> Sessiones, SalaInstance Sala) { foreach (SessionInstance Session in Sessiones) { if (Session.User == null) { continue; } Session.User.Jugando = true; if (Session.User.Sala != null) { if (Session.User.Sala.Escenario.categoria == 5) { continue; } } ServerMessage server = new ServerMessage(); server.AddHead(207); Session.SendData(server); } Thread.Sleep(new TimeSpan(0, 0, 10)); foreach (SessionInstance Session in Sessiones) { if (Session.User == null) { continue; } if (Session.User.Sala != null) { if (Session.User.Sala.Escenario.categoria == 5) { continue; } } if (SalasManager.Entrar_Sala(Session, Sala, null)) { Sala.CargarEscenario(Session); } } }
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; } } } } } }