コード例 #1
0
ファイル: User.cs プロジェクト: DaLoE99/Servidores-DaLoE
 public void UpdateCoconuts(int SendedAmount = 0, int ReceivedAmount = 0)
 {
     this.ReceivedCoconuts += ReceivedAmount;
     this.SendedCoconuts   += SendedAmount;
     using (DatabaseClient DatabaseClient = DatabaseManager.GetClient())
     {
         DatabaseClient.SetParameter("@ID", this.ID);
         DatabaseClient.SetParameter("@SendedAmount", SendedAmount);
         DatabaseClient.SetParameter("@ReceivedAmount", ReceivedAmount);
         DatabaseClient.ExecuteScalar("UPDATE boombang_users SET SendedCoconuts = SendedCoconuts+@SendedAmount, ReceivedCoconuts = ReceivedCoconuts+@ReceivedAmount WHERE ID = @ID");
     }
     if (SessionsManager.Online(ID))
     {
         if (this.SpaceInstance != null)
         {
             if (this.SpaceInstance is AreaInstance)
             {
                 AreaInstance Area = (AreaInstance)this.SpaceInstance;
                 Area.SendToAll(new ServerMessage(new byte[] { 146 }, new object[] { this.ID, 5, this.SendedCoconuts, this.ReceivedCoconuts }));
             }
             if (this.SpaceInstance is SalaInstance)
             {
                 SalaInstance Sala = (SalaInstance)this.SpaceInstance;
                 Sala.SendToAll(new ServerMessage(new byte[] { 146 }, new object[] { this.ID, 5, this.SendedCoconuts, this.ReceivedCoconuts }));
             }
         }
     }
 }
コード例 #2
0
 public static bool Register(string UserName, string Password, int Avatar, string Colors, int Age, string EMail, string IP)
 {
     if (CheckUserName(UserName) && CheckEMail(EMail))
     {
         using (DatabaseClient DatabaseClient = DatabaseManager.GetClient())
         {
             try
             {
                 DatabaseClient.SetParameter("@UserName", UserName);
                 DatabaseClient.SetParameter("@Password", Convert.ToBase64String(SHA1.Create().ComputeHash(Utils.Encoding.StringToByteArray(Password))));
                 DatabaseClient.SetParameter("@Avatar", Avatar);
                 DatabaseClient.SetParameter("@Colors", Colors);
                 DatabaseClient.SetParameter("@Age", Age);
                 DatabaseClient.SetParameter("@EMail", EMail);
                 DatabaseClient.SetParameter("@IP", IP);
                 DatabaseClient.SetParameter("@Time", Time.ToString(DateTime.Now));
                 DatabaseClient.ExecuteScalar("INSERT INTO boombang_users (UserName, Passwoed, EMail, Age, RegisterIP, LastIP, Avatar, Colors, Register, LastLogin) VALUES (@UserName, @Password, @EMail, @Age, @IP, @IP, @Avatar, @Colors, @Time, @Time)");
                 return(true);
             }
             catch
             {
                 return(false);
             }
         }
     }
 }
コード例 #3
0
ファイル: Program.cs プロジェクト: DaLoE99/Servidores-DaLoE
 static void Main(string[] args)
 {
     try
     {
         AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
         Console.Title         = Constants.ConsoleTitle;
         Console.CursorVisible = false;
         Console.SetWindowSize(Constants.ConsoleWidowsWidth, Constants.ConsoleWindowHeight);
         DateTime Timer1 = DateTime.Now;
         Output.WriteHeader();
         ConfigurationManager.Initialize();
         DatabaseManager.Initialize();
         SpacesManager.Initialize();
         CatalogManager.Initialize();
         ChestManager.Initialize();
         SessionsManager.Initialize();
         SocketManager.Initialize();
         Input.Initialize();
         using (DatabaseClient client = DatabaseManager.GetClient())
         {
             client.ExecuteScalar("UPDATE boombang_statics SET Clients=0 WHERE ID = 1");
         }
         Output.WriteLine("Server started seddefully (" + new TimeSpan(DateTime.Now.Ticks + Timer1.Ticks).TotalSeconds + " seconds)! Press the enter key to execute a command.");
     }
     catch (Exception ex)
     {
         Output.WriteLine("Can't initialize the server. Exception: " + ex.ToString(), OutputLevel.CriticalError);
         Console.ReadKey();
     }
 }
コード例 #4
0
 public static bool UserExists(string UserName)
 {
     using (DatabaseClient DatabaseClient = DatabaseManager.GetClient())
     {
         DatabaseClient.SetParameter("@UserName", UserName);
         int result = Convert.ToInt32(DatabaseClient.ExecuteScalar("SELECT COUNT(*) FROM boombang_users WHERE UserName = @UserName"));
         return((result > 0) ? true : false);
     }
 }
コード例 #5
0
ファイル: User.cs プロジェクト: DaLoE99/Servidores-DaLoE
 public void UpdateMessageBox(string MessageBox)
 {
     this.MessageBox = MessageBox;
     using (DatabaseClient DatabaseClient = DatabaseManager.GetClient())
     {
         DatabaseClient.SetParameter("@ID", this.ID);
         DatabaseClient.SetParameter("@MessageBox", MessageBox);
         DatabaseClient.ExecuteScalar("UPDATE boombang_users SET Message = @MessageBox WHERE ID = @ID LIMIT 1");
     }
 }
コード例 #6
0
 public static bool Register(string UserName, string Password)
 {
     using (DatabaseClient DatabaseClient = DatabaseManager.GetClient())
     {
         DatabaseClient.SetParameter("@UserName", UserName);
         DatabaseClient.SetParameter("@Password", Convert.ToBase64String(SHA1.Create().ComputeHash(Utils.Encoding.StringToByteArray(Password))));
         int Result = Convert.ToInt32(DatabaseClient.ExecuteScalar("SELECT COUNT(*) FROM boombang_users WHERE UserName = @UserName AND Password = @Password LIMIT 1"));
         return((Result > 0) ? true : false);
     }
 }
コード例 #7
0
 public static void EndSession(long ID)
 {
     if (CheckConnection(Client))
     {
         Sessions.Remove(ID);
         using (DatabaseClient client = DatabaseManager.GetClient())
         {
             client.ExecuteScalar("UPDATE boombang_statistics SET Clients=Clients-1 WHERE ID = 1");
         }
     }
 }
コード例 #8
0
ファイル: User.cs プロジェクト: DaLoE99/Servidores-DaLoE
 public void UpdateSecurityData(int Avatar = 3, string Colors = "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF")
 {
     this.Avatar = Avatar;
     this.Colors = Colors;
     using (DatabaseClient DatabaseClient = DatabaseManager.GetClient())
     {
         DatabaseClient.SetParameter("@ID", this.ID);
         DatabaseClient.SetParameter("@Avatar", this.Avatar);
         DatabaseClient.SetParameter("@Colors", this.Colors);
         DatabaseClient.ExecuteScalar("UPDATE boombang_users SET Avatar = @Avatar, Colors = @Colors WHERE ID = @ID LIMIT 1");
     }
 }
コード例 #9
0
ファイル: User.cs プロジェクト: DaLoE99/Servidores-DaLoE
 public void UpdateSecurityData(string IP)
 {
     this.ActualIP  = IP;
     this.LastLogin = DateTime.Now;
     using (DatabaseClient DatabaseClient = DatabaseManager.GetClient())
     {
         DatabaseClient.SetParameter("@ID", this.ID);
         DatabaseClient.SetParameter("@IP", this.ActualIP);
         DatabaseClient.SetParameter("@LastLogin", Utils.Time.ToString(this.LastLogin));
         DatabaseClient.ExecuteScalar("UPDATE boombang_users SET LastIP = @IP, LastLogin = @LastLogin WHERE ID = @ID LIMIT 1");
     }
 }
コード例 #10
0
ファイル: User.cs プロジェクト: DaLoE99/Servidores-DaLoE
 public void RemoveGoldCoins(int Coins)
 {
     using (DatabaseClient DatabaseClient = DatabaseManager.GetClient())
     {
         DatabaseClient.SetParameter("@ID", this.ID);
         DatabaseClient.SetParameter("@Coins", Coins);
         DatabaseClient.ExecuteScalar("UPDATE boombang_users SET GoldCoins = GoldCoins-@Coins WHERE ID = @ID LIMIT 1");
     }
     this.GoldCoins -= Coins;
     if (SessionsManager.Online(ID))
     {
         SessionsManager.GetSession(ID).SendMessage(new ServerMessage(new byte[] { 161 }, new object[] { Coins }));
     }
 }
コード例 #11
0
ファイル: User.cs プロジェクト: DaLoE99/Servidores-DaLoE
 public void Banº(DateTime Expiration, bool Permanent = false, string Reason = "Incumplir las Normas.")
 {
     if (!this.MOD)
     {
         using (DatabaseClient DatabaseClient = DatabaseManager.GetClient())
         {
             DatabaseClient.ExecuteScalar("UPDATE boombang_users SET BanType = '" + ((Permanent) ? 0 : 1) + "', BanReason ? '" + Reason + "', BanExpiration = '" + Utils.Time.ToString(Expiration) + "' WHERE ID = '" + ID);
         }
         if (SessionsManager.Online(this.ID))
         {
             Session Session = SessionsManager.GetSession(this.ID);
             Session.SendMessage(new ServerMessage(new byte[] { 185 }, new object[] { new TimeSpan(Expiration.Ticks - DateTime.Now.Ticks).TotalSeconds, Reason }));
             Session.End();
         }
     }
 }
コード例 #12
0
 public static void AssSession(long ID)
 {
     if (CheckConnection(Client))
     {
         Sessions.Add(SessionID, new Session(SessionID, Client));
         SessionID++;
         using (DatabaseClient client = DatabaseManager.GetClient())
         {
             client.ExecuteScalar("UPDATE boombang_statistics SET Clients=Clients+1 WHERE ID = 1");
         }
     }
     else
     {
         Client.Close();
     }
 }