public void GiveBadge(string code, bool inDatabase, GameClient session) { if (HasBadge(code)) { return; } BadgeDefinition badge = null; if (!PlusEnvironment.GetGame().GetBadgeManager().TryGetBadge(code.ToUpper(), out badge) || badge.RequiredRight.Length > 0 && !session.Habbo.GetPermissions().HasRight(badge.RequiredRight)) { return; } if (inDatabase) { using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("REPLACE INTO `user_badges` (`user_id`,`badge_id`,`badge_slot`) VALUES ('" + _player.Id + "', @badge, '" + 0 + "')"); dbClient.AddParameter("badge", code); dbClient.RunQuery(); } } _badges.Add(code, new Badge(code, 0)); if (session != null) { session.SendPacket(new BadgesComposer(session)); session.SendPacket(new FurniListNotificationComposer(1, 4)); } }
public void GiveBadge(string Badge, Boolean InDatabase, GameClient Session) { if (HasBadge(Badge)) { return; } BadgeDefinition BadgeDefinition = null; if (!PlusEnvironment.GetGame().GetBadgeManager().TryGetBadge(Badge.ToUpper(), out BadgeDefinition) || BadgeDefinition.RequiredRight.Length > 0 && !Session.GetHabbo().GetPermissions().HasRight(BadgeDefinition.RequiredRight)) { return; } if (InDatabase) { using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("INSERT INTO user_badges (user_id,badge_id,badge_slot) VALUES (" + _player.Id + ",@badge," + 0 + ")"); dbClient.AddParameter("badge", Badge); dbClient.RunQuery(); } } _badges.Add(Badge, new Badge(Badge, 0)); if (Session != null) { Session.SendMessage(new BadgesComposer(Session)); Session.SendMessage(new FurniListNotificationComposer(1, 4)); } }
public void GiveBadge(string Badge, bool InDatabase, GameClient Session) { if (HasBadge(Badge)) { return; } BadgeDefinition BadgeDefinition = null; if (!PlusEnvironment.GetGame().GetBadgeManager().TryGetBadge(Badge.ToUpper(), out BadgeDefinition)) { return; } /* Disabled to allow any badge regardless of permission * if (BadgeDefinition.RequiredRight.Length > 0 && !Session.GetHabbo().GetPermissions().HasRight(BadgeDefinition.RequiredRight)) * return;*/ if (InDatabase == true) { using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("INSERT INTO `user_badges` (`user_id`, `badge_id`, `badge_slot`) VALUES (" + _player.Id + ", '" + Badge + "', 0)"); } } _badges.Add(Badge, new Badge(Badge, 0)); if (Session != null) { Session.SendMessage(new BadgesComposer(Session)); Session.SendMessage(new FurniListNotificationComposer(1, 4)); } }
public async Task UpdateBadgeAsync(BadgeDefinition badge, string oldCode) { if (!Badges.ContainsKey(badge.Code)) { Badges.Remove(oldCode); Badges.Add(badge.Code, badge); await _dao.UpdatePlayerBadgeAsync(badge, oldCode, _player.Id); } }
internal async Task <Dictionary <string, BadgeDefinition> > ReadPlayerBadgesByIdAsync(int id) { Dictionary <string, BadgeDefinition> badges = new Dictionary <string, BadgeDefinition>(); await SelectAsync(async reader => { while (await reader.ReadAsync()) { BadgeDefinition badge = new BadgeDefinition(reader); if (badges.ContainsKey(badge.Code)) { badges.Add(badge.Code, badge); } } }, "SELECT `badge_code`, `slot_id` FROM `habbo_badges` WHERE `user_id` = @0", id); return(badges); }
public BadgeComponent(Habbo Player, UserData data) { this._player = Player; this._badges = new Dictionary <string, Badge>(); foreach (Badge badge in data.badges) { BadgeDefinition BadgeDefinition = null; if (!PlusEnvironment.GetGame().GetBadgeManager().TryGetBadge(badge.Code, out BadgeDefinition) || BadgeDefinition.RequiredRight.Length > 0 && !Player.GetPermissions().HasRight(BadgeDefinition.RequiredRight)) { continue; } if (!this._badges.ContainsKey(badge.Code)) { this._badges.Add(badge.Code, badge); } } }
public Badge GiveBadge(string Badge, Boolean InDatabase, int Slot = 0) { var Session = _player.GetClient(); if (HasBadge(Badge)) { return(null); } BadgeDefinition BadgeDefinition = null; QuasarEnvironment.GetGame().GetBadgeManager().TryGetBadge(Badge.ToUpper(), out BadgeDefinition); if (BadgeDefinition != null && (BadgeDefinition.RequiredRight.Length > 0 && !Session.GetHabbo().GetPermissions().HasRight(BadgeDefinition.RequiredRight))) { return(null); } if (InDatabase) { using (IQueryAdapter dbClient = QuasarEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("INSERT INTO user_badges (user_id, badge_id, badge_slot) VALUES (" + _player.Id + ", @badge, " + Slot + ")"); dbClient.AddParameter("badge", Badge); dbClient.RunQuery(); } } var badge = new Badge(Badge, Slot); _badges.Add(Badge, badge); if (Session != null) { Session.SendMessage(new BadgesComposer(Session)); Session.SendMessage(new FurniListNotificationComposer(1, 4)); } if (Session.GetHabbo().CurrentRoom != null) { Session.GetHabbo().CurrentRoom.SendMessage(new HabboUserBadgesComposer(Session.GetHabbo())); } return(badge); }
public bool TryGetBadge(string code, out BadgeDefinition badge) => Badges.TryGetValue(code, out badge);
internal async Task UpdatePlayerBadgeAsync(BadgeDefinition badge, string oldCode, int userId) { await InsertAsync("UPDATE `habbo_badges` SET `badge_code` = @0, `slot_id` = @1 WHERE `badge_code` = @2 AND `user_id` = @3;", badge.Code, badge.Slot, oldCode, userId); }