internal bool RequestBuddy(string UserQuery) { uint userID; bool hasFQDisabled; GameClient client = PiciEnvironment.GetGame().GetClientManager().GetClientByUsername(UserQuery); if (client == null) { DataRow Row = null; using (IQueryAdapter dbClient = PiciEnvironment.GetDatabaseManager().getQueryreactor()) { dbClient.setQuery("SELECT id,block_newfriends FROM users WHERE username = @query"); dbClient.addParameter("query", UserQuery.ToLower()); Row = dbClient.getRow(); } if (Row == null) return false; userID = Convert.ToUInt32(Row["id"]); hasFQDisabled = PiciEnvironment.EnumToBool(Row["block_newfriends"].ToString()); } else { userID = client.GetHabbo().Id; hasFQDisabled = client.GetHabbo().HasFriendRequestsDisabled; } if (hasFQDisabled) { GetClient().GetMessageHandler().GetResponse().Init(260); GetClient().GetMessageHandler().GetResponse().AppendInt32(39); GetClient().GetMessageHandler().GetResponse().AppendInt32(3); GetClient().GetMessageHandler().SendResponse(); return true; } uint ToId = userID; if (RequestExists(ToId)) { return true; } using (IQueryAdapter dbClient = PiciEnvironment.GetDatabaseManager().getQueryreactor()) { if (dbClient.dbType == DatabaseType.MSSQL) { dbClient.runFastQuery("DELETE FROM messenger_requests WHERE sender = " + userID + " AND receiver = " + ToId); dbClient.runFastQuery("INSERT INTO messenger_requests (sender,receiver) VALUES (" + this.UserId + "," + ToId + ")"); } else { dbClient.runFastQuery("REPLACE INTO messenger_requests (sender,receiver) VALUES (" + this.UserId + "," + ToId + ")"); } } GameClient ToUser = PiciEnvironment.GetGame().GetClientManager().GetClientByUserID(ToId); if (ToUser == null || ToUser.GetHabbo() == null) { return true; } MessengerRequest Request = new MessengerRequest(ToId, UserId, PiciEnvironment.GetGame().GetClientManager().GetNameById(UserId)); ToUser.GetHabbo().GetMessenger().OnNewRequest(UserId); ServerMessage NewFriendNotif = new ServerMessage(132); Request.Serialize(NewFriendNotif); ToUser.SendMessage(NewFriendNotif); requests.Add(ToId, Request); return true; }
internal bool RequestBuddy(string UserQuery) { uint userID; bool hasFQDisabled; GameClient client = PiciEnvironment.GetGame().GetClientManager().GetClientByUsername(UserQuery); if (client == null) { DataRow Row = null; using (IQueryAdapter dbClient = PiciEnvironment.GetDatabaseManager().getQueryreactor()) { dbClient.setQuery("SELECT id,block_newfriends FROM users WHERE username = @query"); dbClient.addParameter("query", UserQuery.ToLower()); Row = dbClient.getRow(); } if (Row == null) { return(false); } userID = Convert.ToUInt32(Row["id"]); hasFQDisabled = PiciEnvironment.EnumToBool(Row["block_newfriends"].ToString()); } else { userID = client.GetHabbo().Id; hasFQDisabled = client.GetHabbo().HasFriendRequestsDisabled; } if (hasFQDisabled) { GetClient().GetMessageHandler().GetResponse().Init(260); GetClient().GetMessageHandler().GetResponse().AppendInt32(39); GetClient().GetMessageHandler().GetResponse().AppendInt32(3); GetClient().GetMessageHandler().SendResponse(); return(true); } uint ToId = userID; if (RequestExists(ToId)) { return(true); } using (IQueryAdapter dbClient = PiciEnvironment.GetDatabaseManager().getQueryreactor()) { if (dbClient.dbType == DatabaseType.MSSQL) { dbClient.runFastQuery("DELETE FROM messenger_requests WHERE sender = " + userID + " AND receiver = " + ToId); dbClient.runFastQuery("INSERT INTO messenger_requests (sender,receiver) VALUES (" + this.UserId + "," + ToId + ")"); } else { dbClient.runFastQuery("REPLACE INTO messenger_requests (sender,receiver) VALUES (" + this.UserId + "," + ToId + ")"); } } GameClient ToUser = PiciEnvironment.GetGame().GetClientManager().GetClientByUserID(ToId); if (ToUser == null || ToUser.GetHabbo() == null) { return(true); } MessengerRequest Request = new MessengerRequest(ToId, UserId, PiciEnvironment.GetGame().GetClientManager().GetNameById(UserId)); ToUser.GetHabbo().GetMessenger().OnNewRequest(UserId); ServerMessage NewFriendNotif = new ServerMessage(132); Request.Serialize(NewFriendNotif); ToUser.SendMessage(NewFriendNotif); requests.Add(ToId, Request); return(true); }