public static void ODBCConcederPontosXP(string nomeUsuario, string nomePersonagem, int pontosExperiencia) { ControladorConexaoMysql controlador = new ControladorConexaoMysql(); StringBuilder querySql = new StringBuilder(); querySql.Append("SELECT COUNT(PE.IdPontosDeExperiencia) AS Quantidade, UP.IdPersonagem "); querySql.Append("FROM GeNova_Usuario U "); querySql.Append("INNER JOIN GeNova_Usuario_Personagens UP ON U.IdUsuario = UP.IdUsuario "); querySql.Append("LEFT JOIN GeNova_PontosDeExperiencia PE ON UP.IdPersonagem = PE.IdPersonagem "); querySql.Append("WHERE 1=1 "); querySql.AppendFormat("AND U.Login = '******' ", nomeUsuario); querySql.AppendFormat("AND UP.NomePersonagem = '{0}' ", nomePersonagem); querySql.Append("GROUP BY PE.IdPersonagem;"); bool temRegistro = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["Quantidade"].ToString()) > 0; int idPersonagem = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["IdPersonagem"].ToString()); if (idPersonagem > 0) { if (temRegistro) { querySql = new StringBuilder(); querySql.Append("SELECT PontosXP "); querySql.Append("FROM GeNova_PontosDeExperiencia "); querySql.Append("WHERE 1=1 "); querySql.AppendFormat("AND IdPersonagem = {0};", idPersonagem); int totalPontosXP = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["PontosXP"].ToString()); querySql = new StringBuilder(); querySql.Append("UPDATE GeNova_PontosDeExperiencia "); querySql.AppendFormat("SET PontosXP = {0} ", (totalPontosXP + pontosExperiencia)); querySql.Append("WHERE 1=1 "); querySql.AppendFormat("AND IdPersonagem = {0};", idPersonagem); bool encontrou = controlador.AtualizarDadosNaBase(querySql); if (encontrou) { Console.WriteLine("** Atualizando pontos experiencia personagem {0}, conta {1}. **", nomePersonagem, nomeUsuario); } } else { querySql = new StringBuilder(); querySql.AppendFormat("INSERT INTO GeNova_PontosDeExperiencia (IdPersonagem, PontosXP) VALUES({0},{1});", idPersonagem, pontosExperiencia); bool encontrou = controlador.InserirDadosNaBase(querySql); if (encontrou) { Console.WriteLine("** Inserindo pontos experiencia personagem {0}, conta {1}. **", nomePersonagem, nomeUsuario); } } } else { Console.WriteLine("** ERRO. Personagem nao persistido: {0}, conta {1}. **", nomePersonagem, nomeUsuario); } }
public static void ODBCInserirInformacoesMobile(string caminhoObjetoCriatura, string tituloCriatura) { ControladorConexaoMysql controlador = new ControladorConexaoMysql(); StringBuilder querySql = new StringBuilder(); querySql.Append("INSERT INTO GeNova_TraducaoMobiles (Classe, Nome, Titulo, Status) "); querySql.AppendFormat("VALUES ('{0}', SUBSTRING_INDEX('{0}','.',-1), '{1}', 0);", caminhoObjetoCriatura, tituloCriatura); bool executou = controlador.InserirDadosNaBase(querySql); if (executou) { Console.WriteLine("** NPC {0} adicionado na base de dados. **", caminhoObjetoCriatura); } }
public static void ODBCDispose(Mobile from) { ControladorConexaoMysql controlador = new ControladorConexaoMysql(); StringBuilder querySql = new StringBuilder(); querySql.Append("SELECT COALESCE(U.IdUsuario,0) IdUsuario, COALESCE(LC.IdLogConexoes,0) IdLogConexoes "); querySql.Append("FROM GeNova_Usuario U "); querySql.Append("INNER JOIN GeNova_LogConexoes LC ON U.IdUsuario = LC.IdUsuario "); querySql.AppendFormat("WHERE U.Login = '******';", from.Account.Username); List <Dictionary <string, object> > registros = ControladorConexaoMysql.RecuperarRegistrosDataSet(controlador.BuscarDadosNaBase(querySql)); foreach (Dictionary <string, object> linha in registros) { int idUsuario = Convert.ToInt32(linha["IdUsuario"].ToString()); int idLogConexoes = Convert.ToInt32(linha["IdLogConexoes"].ToString()); if (idUsuario > 0 && idLogConexoes > 0) { DateTime logOut = DateTime.Now; querySql = new StringBuilder(); querySql.AppendFormat("UPDATE GeNova_LogConexoes SET Saida = '{0}' WHERE IdUsuario = {1};", ControladorMYSQL.RecuperarDateTimeFormatado(logOut), idUsuario); bool encontrou = controlador.AtualizarDadosNaBase(querySql); if (encontrou) { Console.WriteLine("** Log de Conexao para {0}. **", from.Account.Username); } encontrou = false; querySql = new StringBuilder(); querySql.Append("INSERT INTO Registro_LogConexoes (IdUsuario, Entrada, Saida, IP) "); querySql.Append("SELECT IdUsuario, Entrada, Saida, IP "); querySql.Append("FROM GeNova_LogConexoes LC "); querySql.Append("WHERE 1=1 "); querySql.AppendFormat("AND LC.IdUsuario = {0} ", idUsuario); querySql.AppendFormat("AND LC.Saida = '{0}';", ControladorMYSQL.RecuperarDateTimeFormatado(logOut)); encontrou = controlador.InserirDadosNaBase(querySql); if (encontrou) { Console.WriteLine("** Armazenando Registro de Conexao para {0}. **", from.Account.Username); } } } }
public static void ODBCReceive(NetState estado, string usuario) { ControladorConexaoMysql controlador = new ControladorConexaoMysql(); StringBuilder querySql = new StringBuilder(); querySql.Append("SELECT COUNT(*) AS Quantidade FROM GeNova_LogConexoes;"); bool temRegistro = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["Quantidade"].ToString()) > 0; querySql = new StringBuilder(); querySql.Append("SELECT COALESCE(U.IdUsuario,0) IdUsuario, COALESCE(LC.IdLogConexoes,0) IdLogConexoes "); querySql.Append("FROM GeNova_Usuario U "); querySql.Append("LEFT JOIN GeNova_LogConexoes LC ON U.IdUsuario = LC.IdUsuario "); querySql.AppendFormat("WHERE U.Login = '******';", usuario); List <Dictionary <string, object> > registros = ControladorConexaoMysql.RecuperarRegistrosDataSet(controlador.BuscarDadosNaBase(querySql)); foreach (Dictionary <string, object> linha in registros) { int idUsuario = Convert.ToInt32(linha["IdUsuario"].ToString()); int idLogConexoes = Convert.ToInt32(linha["IdLogConexoes"].ToString()); if (temRegistro && (idUsuario > 0 && idLogConexoes > 0)) { querySql = new StringBuilder(); querySql.AppendFormat("UPDATE GeNova_LogConexoes SET Entrada = NOW(), Saida = NULL, IP = '{1}' WHERE IdUsuario = {0};", idUsuario, estado.Address.ToString()); bool encontrou = controlador.AtualizarDadosNaBase(querySql); if (encontrou) { Console.WriteLine("** Atualizando Entrada, Saida e IP de {0}. **", usuario); } } else { querySql = new StringBuilder(); querySql.AppendFormat("INSERT INTO GeNova_LogConexoes (IdUsuario, Entrada, IP) VALUES ({0}, NOW(), '{1}');", idUsuario, estado.Address.ToString()); bool encontrou = controlador.InserirDadosNaBase(querySql); if (encontrou) { Console.WriteLine("** Gravando log de Conexao para {0}. **", usuario); } } } }
public static void ODBCRegistrarPersonagem(Mobile personagem, string nomePersonagem) { ControladorConexaoMysql controlador = new ControladorConexaoMysql(); StringBuilder querySql = new StringBuilder(); querySql.Append("SELECT COUNT(IdPersonagem) as Quantidade "); querySql.Append("FROM GeNova_Usuario_Personagens "); querySql.Append("WHERE 1=1 "); querySql.AppendFormat("AND NomePersonagem = '{0}' ", nomePersonagem); bool registros = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["Quantidade"].ToString()) > 0; if (registros) { personagem.SendMessage(60, String.Format("O personagem '{0}' já está cadastrado no sistema. Tente outro nome.", nomePersonagem)); } else { querySql = new StringBuilder(); querySql.AppendFormat("SELECT IdUsuario FROM GeNova_Usuario WHERE Login = '******';", personagem.Account.Username); int idUsuario = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["IdUsuario"].ToString()); if (idUsuario > 0) { querySql = new StringBuilder(); querySql.Append("INSERT INTO GeNova_Usuario_Personagens (IdUsuario, NomePersonagem, DataCadastro, Confirmado) "); querySql.AppendFormat("VALUES ({0},'{1}',Now(), FALSE);", idUsuario, nomePersonagem); bool executou = controlador.InserirDadosNaBase(querySql); if (executou) { Console.WriteLine("** Personagem {0} cadastrado, conta {1}. **", nomePersonagem, personagem.Account.Username); personagem.Name = nomePersonagem; personagem.Frozen = false; personagem.Hidden = false; personagem.PlaySound(0x1E3); // som de NightSight personagem.FixedEffect(0x376A, 10, 16, 1259, 0); // efeito de Resurrection com cor de fogo. personagem.SendMessage(60, "Seu nome foi registrado com sucesso. Desfrute-o com honra e coragem."); } } } }
public static void ODBCDispose(Mobile from) { ControladorConexaoMysql controlador = new ControladorConexaoMysql(); StringBuilder querySql = new StringBuilder(); querySql.Append("SELECT COALESCE(U.IdUsuario,0) IdUsuario, COALESCE(LC.IdLogConexoes,0) IdLogConexoes "); querySql.Append("FROM GeNova_Usuario U "); querySql.Append("INNER JOIN GeNova_LogConexoes LC ON U.IdUsuario = LC.IdUsuario "); querySql.AppendFormat("WHERE U.Login = '******';", from.Account.Username); List<Dictionary<string, object>> registros = ControladorConexaoMysql.RecuperarRegistrosDataSet(controlador.BuscarDadosNaBase(querySql)); foreach (Dictionary<string, object> linha in registros) { int idUsuario = Convert.ToInt32(linha["IdUsuario"].ToString()); int idLogConexoes = Convert.ToInt32(linha["IdLogConexoes"].ToString()); if (idUsuario > 0 && idLogConexoes > 0) { DateTime logOut = DateTime.Now; querySql = new StringBuilder(); querySql.AppendFormat("UPDATE GeNova_LogConexoes SET Saida = '{0}' WHERE IdUsuario = {1};", ControladorMYSQL.RecuperarDateTimeFormatado(logOut), idUsuario); bool encontrou = controlador.AtualizarDadosNaBase(querySql); if (encontrou) Console.WriteLine("** Log de Conexao para {0}. **", from.Account.Username); encontrou = false; querySql = new StringBuilder(); querySql.Append("INSERT INTO Registro_LogConexoes (IdUsuario, Entrada, Saida, IP) "); querySql.Append("SELECT IdUsuario, Entrada, Saida, IP "); querySql.Append("FROM GeNova_LogConexoes LC "); querySql.Append("WHERE 1=1 "); querySql.AppendFormat("AND LC.IdUsuario = {0} ", idUsuario); querySql.AppendFormat("AND LC.Saida = '{0}';", ControladorMYSQL.RecuperarDateTimeFormatado(logOut)); encontrou = controlador.InserirDadosNaBase(querySql); if (encontrou) Console.WriteLine("** Armazenando Registro de Conexao para {0}. **", from.Account.Username); } } }
public static void ODBCReceive(NetState estado, string usuario) { ControladorConexaoMysql controlador = new ControladorConexaoMysql(); StringBuilder querySql = new StringBuilder(); querySql.Append("SELECT COUNT(*) AS Quantidade FROM GeNova_LogConexoes;"); bool temRegistro = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["Quantidade"].ToString()) > 0; querySql = new StringBuilder(); querySql.Append("SELECT COALESCE(U.IdUsuario,0) IdUsuario, COALESCE(LC.IdLogConexoes,0) IdLogConexoes "); querySql.Append("FROM GeNova_Usuario U "); querySql.Append("LEFT JOIN GeNova_LogConexoes LC ON U.IdUsuario = LC.IdUsuario "); querySql.AppendFormat("WHERE U.Login = '******';", usuario); List<Dictionary<string, object>> registros = ControladorConexaoMysql.RecuperarRegistrosDataSet(controlador.BuscarDadosNaBase(querySql)); foreach (Dictionary<string, object> linha in registros) { int idUsuario = Convert.ToInt32(linha["IdUsuario"].ToString()); int idLogConexoes = Convert.ToInt32(linha["IdLogConexoes"].ToString()); if (temRegistro && (idUsuario > 0 && idLogConexoes > 0)) { querySql = new StringBuilder(); querySql.AppendFormat("UPDATE GeNova_LogConexoes SET Entrada = NOW(), Saida = NULL, IP = '{1}' WHERE IdUsuario = {0};", idUsuario, estado.Address.ToString()); bool encontrou = controlador.AtualizarDadosNaBase(querySql); if (encontrou) Console.WriteLine("** Atualizando Entrada, Saida e IP de {0}. **", usuario); } else { querySql = new StringBuilder(); querySql.AppendFormat("INSERT INTO GeNova_LogConexoes (IdUsuario, Entrada, IP) VALUES ({0}, NOW(), '{1}');", idUsuario, estado.Address.ToString()); bool encontrou = controlador.InserirDadosNaBase(querySql); if (encontrou) Console.WriteLine("** Gravando log de Conexao para {0}. **", usuario); } } }
public static void ODBCInserirInformacoesMobile(string caminhoObjetoCriatura, string tituloCriatura) { ControladorConexaoMysql controlador = new ControladorConexaoMysql(); StringBuilder querySql = new StringBuilder(); querySql.Append("INSERT INTO GeNova_TraducaoMobiles (Classe, Nome, Titulo, Status) "); querySql.AppendFormat("VALUES ('{0}', SUBSTRING_INDEX('{0}','.',-1), '{1}', 0);", caminhoObjetoCriatura, tituloCriatura); bool executou = controlador.InserirDadosNaBase(querySql); if (executou) Console.WriteLine("** NPC {0} adicionado na base de dados. **", caminhoObjetoCriatura); }
public static void ODBCRegistrarPersonagem(Mobile personagem, string nomePersonagem) { ControladorConexaoMysql controlador = new ControladorConexaoMysql(); StringBuilder querySql = new StringBuilder(); querySql.Append("SELECT COUNT(IdPersonagem) as Quantidade "); querySql.Append("FROM GeNova_Usuario_Personagens "); querySql.Append("WHERE 1=1 "); querySql.AppendFormat("AND NomePersonagem = '{0}' ", nomePersonagem); bool registros = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["Quantidade"].ToString()) > 0; if (registros) personagem.SendMessage(60, String.Format("O personagem '{0}' já está cadastrado no sistema. Tente outro nome.", nomePersonagem)); else { querySql = new StringBuilder(); querySql.AppendFormat("SELECT IdUsuario FROM GeNova_Usuario WHERE Login = '******';", personagem.Account.Username); int idUsuario = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["IdUsuario"].ToString()); if (idUsuario > 0) { querySql = new StringBuilder(); querySql.Append("INSERT INTO GeNova_Usuario_Personagens (IdUsuario, NomePersonagem, DataCadastro, Confirmado) "); querySql.AppendFormat("VALUES ({0},'{1}',Now(), FALSE);", idUsuario, nomePersonagem); bool executou = controlador.InserirDadosNaBase(querySql); if (executou) { Console.WriteLine("** Personagem {0} cadastrado, conta {1}. **", nomePersonagem, personagem.Account.Username); personagem.Name = nomePersonagem; personagem.Frozen = false; personagem.Hidden = false; personagem.PlaySound(0x1E3); // som de NightSight personagem.FixedEffect(0x376A, 10, 16, 1259, 0); // efeito de Resurrection com cor de fogo. personagem.SendMessage(60, "Seu nome foi registrado com sucesso. Desfrute-o com honra e coragem."); } } } }
public static void ODBCConcederPontosXP(string nomeUsuario, string nomePersonagem, int pontosExperiencia) { ControladorConexaoMysql controlador = new ControladorConexaoMysql(); StringBuilder querySql = new StringBuilder(); querySql.Append("SELECT COUNT(PE.IdPontosDeExperiencia) AS Quantidade, UP.IdPersonagem "); querySql.Append("FROM GeNova_Usuario U "); querySql.Append("INNER JOIN GeNova_Usuario_Personagens UP ON U.IdUsuario = UP.IdUsuario "); querySql.Append("LEFT JOIN GeNova_PontosDeExperiencia PE ON UP.IdPersonagem = PE.IdPersonagem "); querySql.Append("WHERE 1=1 "); querySql.AppendFormat("AND U.Login = '******' ", nomeUsuario); querySql.AppendFormat("AND UP.NomePersonagem = '{0}' ", nomePersonagem); querySql.Append("GROUP BY PE.IdPersonagem;"); bool temRegistro = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["Quantidade"].ToString()) > 0; int idPersonagem = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["IdPersonagem"].ToString()); if (idPersonagem > 0) { if (temRegistro) { querySql = new StringBuilder(); querySql.Append("SELECT PontosXP "); querySql.Append("FROM GeNova_PontosDeExperiencia "); querySql.Append("WHERE 1=1 "); querySql.AppendFormat("AND IdPersonagem = {0};", idPersonagem); int totalPontosXP = Convert.ToInt32(controlador.BuscarDadosNaBase(querySql).Tables[0].Rows[0]["PontosXP"].ToString()); querySql = new StringBuilder(); querySql.Append("UPDATE GeNova_PontosDeExperiencia "); querySql.AppendFormat("SET PontosXP = {0} ", (totalPontosXP + pontosExperiencia)); querySql.Append("WHERE 1=1 "); querySql.AppendFormat("AND IdPersonagem = {0};", idPersonagem); bool encontrou = controlador.AtualizarDadosNaBase(querySql); if (encontrou) Console.WriteLine("** Atualizando pontos experiencia personagem {0}, conta {1}. **", nomePersonagem, nomeUsuario); } else { querySql = new StringBuilder(); querySql.AppendFormat("INSERT INTO GeNova_PontosDeExperiencia (IdPersonagem, PontosXP) VALUES({0},{1});", idPersonagem, pontosExperiencia); bool encontrou = controlador.InserirDadosNaBase(querySql); if (encontrou) Console.WriteLine("** Inserindo pontos experiencia personagem {0}, conta {1}. **", nomePersonagem, nomeUsuario); } } else Console.WriteLine("** ERRO. Personagem nao persistido: {0}, conta {1}. **", nomePersonagem, nomeUsuario); }