public void HandleSave(ClientPacket Packet) { int Unknown = Packet.PopInt(); int Score = Packet.PopInt(); int times = Packet.PopInt(); string Unknown2 = Packet.PopString(); int Unknown3 = Packet.PopInt(); int Delay = Packet.PopInt(); this.Delay = Delay; this.StringData = Convert.ToString(Score + ";" + times); Habbo Owner = RavenEnvironment.GetHabboById(Item.UserID); if (times > 3) { Owner.GetClient().SendWhisper("No puedes dar el premio más de tres veces.", 34); return; } if (Owner == null || Owner.Rank < 6) { this.StringData = Convert.ToString(0 + ";" + times); Owner.GetClient().SendWhisper("No sé quién te ha dado esto pero no deberías estar jugando con juguetes de mayores.", 34); RavenEnvironment.GetGame().GetClientManager().StaffAlert1(new RoomInviteComposer(int.MinValue, Owner.Username + " está utilizando sin permiso un Wired de Puntos de Recompensa.")); } return; }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null) { return; } if (!Session.GetHabbo().GetPermissions().HasRight("mod_tool")) { return; } int UserId = Packet.PopInt(); Habbo Habbo = RavenEnvironment.GetHabboById(UserId); if (Habbo == null) { Session.SendNotification("Oops, no se consigue este usuario"); return; } try { Session.SendMessage(new ModeratorUserChatlogComposer(UserId)); } catch { Session.SendNotification("Overflow :/"); } }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int userID = Packet.PopInt(); Boolean IsMe = Packet.PopBoolean(); Habbo targetData = RavenEnvironment.GetHabboById(userID); if (targetData == null) { Session.SendNotification("Se produjo un error mientras se encontraba el perfil de ese usuario ."); return; } List <Group> Groups = RavenEnvironment.GetGame().GetGroupManager().GetGroupsForUser(targetData.Id); int friendCount = 0; using (IQueryAdapter dbClient = RavenEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("SELECT COUNT(0) FROM `messenger_friendships` WHERE (`user_one_id` = @userid OR `user_two_id` = @userid)"); dbClient.AddParameter("userid", userID); friendCount = dbClient.getInteger(); } Session.SendMessage(new ProfileInformationComposer(targetData, Session, Groups, friendCount)); }
public void Init() { this._items = new Dictionary <int, RentableSpaceItem>(); using (IQueryAdapter con = RavenEnvironment.GetDatabaseManager().GetQueryReactor()) { con.SetQuery("SELECT * FROM `items_rentablespace`"); DataTable table = con.getTable(); if (table != null) { for (int i = 0; i < table.Rows.Count; i++) { DataRow row = table.Rows[i]; if (row != null) { int id = Convert.ToInt32(row["item_id"].ToString()); int ownerid = Convert.ToInt32(row["owner"].ToString()); string ownername = ""; if (ownerid > 0) { Habbo owner = RavenEnvironment.GetHabboById(ownerid); if (owner != null) { ownername = owner.Username; } } int expirestamp = Convert.ToInt32(row["expire"].ToString()); int price = Convert.ToInt32(row["price"].ToString()); this.AddItem(new RentableSpaceItem(id, ownerid, ownername, expirestamp, price)); } } } } }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null) { return; } if (RavenEnvironment.GetGame().GetModerationManager().UserHasTickets(Session.GetHabbo().Id)) { ModerationTicket PendingTicket = RavenEnvironment.GetGame().GetModerationManager().GetTicketBySenderId(Session.GetHabbo().Id); if (PendingTicket != null) { Session.SendMessage(new CallForHelpPendingCallsComposer(PendingTicket)); return; } } List <string> Chats = new List <string>(); string Message = StringCharFilter.Escape(Packet.PopString().Trim()); int Category = Packet.PopInt(); int ReportedUserId = Packet.PopInt(); int Type = Packet.PopInt(); Habbo ReportedUser = RavenEnvironment.GetHabboById(ReportedUserId); if (ReportedUser == null) { return; } int Messagecount = Packet.PopInt(); for (int i = 0; i < Messagecount; i++) { Packet.PopInt(); Chats.Add(Packet.PopString()); } ModerationTicket Ticket = new ModerationTicket(1, Type, Category, UnixTimestamp.GetNow(), 1, Session.GetHabbo(), ReportedUser, Message, Session.GetHabbo().CurrentRoom, Chats); if (!RavenEnvironment.GetGame().GetModerationManager().TryAddTicket(Ticket)) { return; } using (IQueryAdapter dbClient = RavenEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("UPDATE `user_info` SET `cfhs` = `cfhs` + '1' WHERE `user_id` = '" + Session.GetHabbo().Id + "' LIMIT 1"); } RavenEnvironment.GetGame().GetClientManager().ModAlert("A new support ticket has been submitted!"); RavenEnvironment.GetGame().GetClientManager().SendMessage(new ModeratorSupportTicketComposer(Session.GetHabbo().Id, Ticket), "mod_tool"); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int UserId = Packet.PopInt(); Habbo Habbo = RavenEnvironment.GetHabboById(UserId); if (Habbo == null) { return; } Session.GetHabbo().lastUserId = UserId; Session.SendMessage(new HabboUserBadgesComposer(Habbo)); }
public void Pick(int pModeratorId, Boolean UpdateInDb) { Status = TicketStatus.PICKED; ModeratorId = pModeratorId; ModName = RavenEnvironment.GetHabboById(pModeratorId).Username; if (UpdateInDb) { using (IQueryAdapter dbClient = RavenEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("UPDATE moderation_tickets SET status = 'picked', moderator_id = " + pModeratorId + ", timestamp = '" + RavenEnvironment.GetUnixTimestamp() + "' WHERE id = " + Id + ""); } } }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().GetPermissions().HasRight("mod_trade_lock")) { return; } int UserId = Packet.PopInt(); string Message = Packet.PopString(); double Days = (Packet.PopInt() / 1440); string Unknown1 = Packet.PopString(); string Unknown2 = Packet.PopString(); double Length = (RavenEnvironment.GetUnixTimestamp() + (Days * 86400)); Habbo Habbo = RavenEnvironment.GetHabboById(UserId); if (Habbo == null) { Session.SendWhisper("Ocurrio un error mientras se realizaba la busqueda de este usuario enla DB"); return; } if (Habbo.GetPermissions().HasRight("mod_trade_lock") && !Session.GetHabbo().GetPermissions().HasRight("mod_trade_lock_any")) { Session.SendWhisper("Oops,No puede bloquear el trade a este usuario"); return; } if (Days < 1) { Days = 1; } if (Days > 365) { Days = 365; } using (IQueryAdapter dbClient = RavenEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("UPDATE `user_info` SET `trading_locked` = '" + Length + "', `trading_locks_count` = `trading_locks_count` + '1' WHERE `user_id` = '" + Habbo.Id + "' LIMIT 1"); } if (Habbo.GetClient() != null) { Habbo.TradingLockExpiry = Length; Habbo.GetClient().SendNotification("Usted no puede tradear por " + Days + " dia(s)!\r\rRazon:\r\r" + Message); } }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int GroupId = Packet.PopInt(); int UserId = Packet.PopInt(); Group Group = null; if (!RavenEnvironment.GetGame().GetGroupManager().TryGetGroup(GroupId, out Group)) { return; } if (!Group.IsMember(UserId) || !Group.IsAdmin(Session.GetHabbo().Id)) { return; } Habbo Habbo = RavenEnvironment.GetHabboById(UserId); if (Habbo == null) { Session.SendNotification("Oops, ocurrio un error mientras se realizaba la busqueda de este usuario."); return; } Group.TakeAdmin(UserId); Room Room = null; if (RavenEnvironment.GetGame().GetRoomManager().TryGetRoom(Group.RoomId, out Room)) { RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(UserId); if (User != null) { if (User.Statusses.ContainsKey("flatctrl 3")) { User.RemoveStatus("flatctrl 3"); } User.UpdateNeeded = true; if (User.GetClient() != null) { User.GetClient().SendMessage(new YouAreControllerComposer(0)); } } } Session.SendMessage(new GroupMemberUpdatedComposer(GroupId, Habbo, 2)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int GroupId = Packet.PopInt(); int UserId = Packet.PopInt(); Group Group = null; if (!RavenEnvironment.GetGame().GetGroupManager().TryGetGroup(GroupId, out Group)) { return; } if (!Group.IsMember(UserId) || !Group.IsAdmin(Session.GetHabbo().Id)) { return; } Habbo Habbo = RavenEnvironment.GetHabboById(UserId); if (Habbo == null) { Session.SendNotification("Oops, an error occurred whilst finding this user."); return; } Group.MakeAdmin(UserId); Room Room = null; if (RavenEnvironment.GetGame().GetRoomManager().TryGetRoom(Group.RoomId, out Room)) { RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(UserId); if (User != null) { if (!User.Statusses.ContainsKey("flatctrl 3")) { User.AddStatus("flatctrl 3", ""); } User.UpdateNeeded = true; if (User.GetClient() != null) { User.GetClient().SendMessage(new YouAreControllerComposer(3)); } } } Session.SendMessage(new GroupMemberUpdatedComposer(GroupId, Habbo, 1)); }
public void HandleSave(ClientPacket Packet) { int Unknown = Packet.PopInt(); string Message = Packet.PopString(); this.StringData = Message; Habbo Owner = RavenEnvironment.GetHabboById(Item.UserID); if (Owner == null || Owner.Rank < 6) { this.StringData = ""; Owner.GetClient().SendWhisper("No sé quién te ha dado esto pero no deberías estar jugando con juguetes de mayores.", 34); RavenEnvironment.GetGame().GetClientManager().StaffAlert1(new RoomInviteComposer(int.MinValue, Owner.Username + " está utilizando sin permiso un Wired de Puntos de Recompensa.")); } }
public bool Execute(params object[] Params) { if (Params == null || Params.Length == 0) { return(false); } Habbo Owner = RavenEnvironment.GetHabboById(Item.UserID); if (Owner == null || !Owner.GetPermissions().HasRight("room_item_wired_rewards")) { return(false); } Habbo Player = (Habbo)Params[0]; if (Player == null || Player.GetClient() == null) { return(false); } RoomUser User = Player.CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Player.Username); if (User == null) { return(false); } if (String.IsNullOrEmpty(StringData)) { return(false); } if (Player.GetBadgeComponent().HasBadge(StringData)) { Player.GetClient().SendNotification("Parece que ya has obtenido esta placa, revisa tu inventario."); } else { Player.GetBadgeComponent().GiveBadge(StringData, true, Player.GetClient()); Player.GetClient().SendNotification("¡Acabas de recibir una placa!"); } return(true); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { Habbo Habbo = RavenEnvironment.GetHabboById(Packet.PopInt()); if (Habbo == null) { return; } var rand = new Random(); Habbo.Relationships = Habbo.Relationships.OrderBy(x => rand.Next()).ToDictionary(item => item.Key, item => item.Value); int Loves = Habbo.Relationships.Count(x => x.Value.Type == 1); int Likes = Habbo.Relationships.Count(x => x.Value.Type == 2); int Hates = Habbo.Relationships.Count(x => x.Value.Type == 3); Session.SendMessage(new GetRelationshipsComposer(Habbo, Loves, Likes, Hates)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int GroupId = Packet.PopInt(); int UserId = Packet.PopInt(); Group Group = null; if (!RavenEnvironment.GetGame().GetGroupManager().TryGetGroup(GroupId, out Group)) { return; } if ((Session.GetHabbo().Id != Group.CreatorId && !Group.IsAdmin(Session.GetHabbo().Id)) && !Session.GetHabbo().GetPermissions().HasRight("fuse_group_accept_any")) { return; } if (!Group.HasRequest(UserId)) { return; } Habbo Habbo = RavenEnvironment.GetHabboById(UserId); if (Habbo == null) { Session.SendNotification("Oops, ha recibido un error mientras recibe la busqueda de este usuario."); return; } Group.HandleRequest(UserId, true); if (Group.HasChat) { var Client = RavenEnvironment.GetGame().GetClientManager().GetClientByUserID(UserId); if (Client != null) { Client.SendMessage(new FriendListUpdateComposer(Group, 1)); } } Session.SendMessage(new GroupMemberUpdatedComposer(GroupId, Habbo, 4)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().GetPermissions().HasRight("mod_mute")) { return; } int UserId = Packet.PopInt(); string Message = Packet.PopString(); double Length = (Packet.PopInt() * 60); string Unknown1 = Packet.PopString(); string Unknown2 = Packet.PopString(); Habbo Habbo = RavenEnvironment.GetHabboById(UserId); if (Habbo == null) { Session.SendWhisper("Ocurrio un error mientras se realiza la busqueda de este usuario en la DB"); return; } if (Habbo.GetPermissions().HasRight("mod_mute") && !Session.GetHabbo().GetPermissions().HasRight("mod_mute_any")) { Session.SendWhisper("Oops, No puede silenciar a este usuario"); return; } using (IQueryAdapter dbClient = RavenEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("UPDATE `users` SET `time_muted` = '" + Length + "' WHERE `id` = '" + Habbo.Id + "' LIMIT 1"); } if (Habbo.GetClient() != null) { Habbo.TimeMuted = Length; Habbo.GetClient().SendNotification("Usted ha sido silenciado por tener un mal comportamiento en el Hotel. Cómportese para evitar futuras sanciones"); //Habbo.GetClient().SendNotification("usted ha sido silenciado por un moderador por " + Length + " segundos!"); } }
public bool Execute(params object[] Params) { if (Params == null || Params.Length == 0) { return(false); } Habbo Owner = RavenEnvironment.GetHabboById(Item.UserID); if (Owner == null || !Owner.GetPermissions().HasRight("room_item_wired_rewards")) { return(false); } Habbo Player = (Habbo)Params[0]; if (Player == null || Player.GetClient() == null) { return(false); } RoomUser User = Player.CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Player.Username); if (User == null) { return(false); } if (String.IsNullOrEmpty(StringData)) { return(false); } Player.Diamonds += int.Parse(StringData); //Player.GetClient().SendMessage(RoomNotificationComposer.SendBubble("eventoxx", "Felicidades, " + Player.Username + ", acabas de recibir " + StringData + " diamantes por un Wired de recompensa.", "catalog/open")); Player.GetClient().SendMessage(new HabboActivityPointNotificationComposer(Player.Diamonds, int.Parse(StringData), 5)); return(true); }
public Game2LastWeekLeaderboardMessageComposer(int GameId, int Week) : base(ServerPacketHeader.Game2LastWeekLeaderboardMessageComposer) { base.WriteInteger(2018); base.WriteInteger(1); base.WriteInteger(0); base.WriteInteger(1); base.WriteInteger(1581); int count = 0; using (IQueryAdapter dbClient = RavenEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.SetQuery("SELECT COUNT(0) FROM `games_leaderboard` WHERE game_id = " + GameId + " AND week = " + Week + " LIMIT 5"); count = dbClient.getInteger(); } base.WriteInteger(count);//Count int id = 1; using (IQueryAdapter dbClient2 = RavenEnvironment.GetDatabaseManager().GetQueryReactor()) { DataTable GetLeaderData = null; dbClient2.SetQuery("SELECT * FROM `games_leaderboard` WHERE game_id = " + GameId + " AND week = " + Week + " LIMIT 5"); GetLeaderData = dbClient2.getTable(); if (GetLeaderData != null) { foreach (DataRow Rows in GetLeaderData.Rows) { Habbo habbo = RavenEnvironment.GetHabboById(Convert.ToInt32(Rows["user_id"])); base.WriteInteger(habbo.Id); //Id base.WriteInteger(Convert.ToInt32(Rows["points"])); //Score base.WriteInteger(id++); //Rank base.WriteString(habbo.Username); //Username base.WriteString(habbo.Look); //Figure base.WriteString(habbo.Gender.ToLower()); //Gender .ToLower() } } } base.WriteInteger(0); // base.WriteInteger(GameId); //Game Id? //int count = 0; //if (Game.LeaderBoard.Count() > 5) { count = 5; } else { count = Game.LeaderBoard.Count(); } //base.WriteInteger(2018); //base.WriteInteger(1); //base.WriteInteger(0); //base.WriteInteger(1); //base.WriteInteger(1581); //base.WriteInteger(count);//Count //Console.WriteLine(Game.GameName + ":" + Game.LeaderBoard.Count()); //int id = 0; //foreach (var Data in Game.LeaderBoard) //{ // if(Data.Value.Week != Week) { return; } // id++; // Habbo habbo = RavenEnvironment.GetHabboById(Data.Value.UserId); // base.WriteInteger(habbo.Id);//Id // base.WriteInteger(id);//Rank // base.WriteInteger(Data.Value.Points);//Score // base.WriteString(habbo.Username);//Username // base.WriteString(habbo.Look);//Figure // base.WriteString(habbo.Gender.ToLower());//Gender .ToLower() // if(id == 5) { break; } //} //Used to generate the ranking numbers. //int num = 0; //base.WriteInteger(Habbos.Count);//Count //foreach (Habbo Habbo in Habbos.ToList()) //{ // num++; // base.WriteInteger(Habbo.Id);//Id // base.WriteInteger(Habbo.FastfoodScore);//Score // base.WriteInteger(num);//Rank // base.WriteString(Habbo.Username);//Username // base.WriteString(Habbo.Look);//Figure // base.WriteString(Habbo.Gender.ToLower());//Gender .ToLower() //} //base.WriteInteger(0);// //base.WriteInteger(GameData.GameId);//Game Id? /*base.WriteInteger(5);//Count * * base.WriteInteger(1);//Id * base.WriteInteger(10);//Rank * base.WriteInteger(1);//Score * base.WriteString("Custom - Derecha");//Username * base.WriteString("ch-235-1408.hd-3095-14.lg-3116-85-1408.sh-3115-1408-1408.ca-1805-64.ha-1002-1408");//Figure * base.WriteString("m");//Gender .ToLower() * * base.WriteInteger(2);//Id * base.WriteInteger(19999);//Score * base.WriteInteger(2);//Rank * base.WriteString("Salinas");//Username * base.WriteString("ch-255-96.sh-3115-1408-1408.lg-3116-85-1408.ea-1404-1194.fa-1203-1189.hr-831-1041.hd-3103-1389");//Figure * base.WriteString("m");//Gender .ToLower() * * base.WriteInteger(3);//Id * base.WriteInteger(1232);//Score * base.WriteInteger(3);//Rank * base.WriteString("HiddenKey");//Username * base.WriteString("ch-235-1408.fa-1208-1189.lg-3116-85-1408.cc-886-62.ea-1404-1194.ha-3086-96-1194.sh-3115-1408-1408.hr-100-1041.hd-3103-1389");//Figure * base.WriteString("m");//Gender .ToLower() * * base.WriteInteger(4);//Id * base.WriteInteger(1000);//Score * base.WriteInteger(4);//Rank * base.WriteString("Custom");//Username * base.WriteString("fa-1201-62.sh-6102459-96-62.hr-831-1031.ch-804-1201.lg-281-110.ha-1012-78.hd-180-11");//Figure * base.WriteString("m");//Gender .ToLower() * * base.WriteInteger(5);//Id * base.WriteInteger(1000);//Score * base.WriteInteger(5);//Rank * base.WriteString("Custom");//Username * base.WriteString("hd-180-11.hr-828-55.ch-804-96.sh-3089-1186.lg-281-110");//Figure * base.WriteString("m");//Gender .ToLower()*/ //base.WriteInteger(0);// //base.WriteInteger(Game.GameId);//Game Id? }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().GetPermissions().HasRight("mod_soft_ban")) { return; } int UserId = Packet.PopInt(); string Message = Packet.PopString(); double Length = (Packet.PopInt() * 3600) + RavenEnvironment.GetUnixTimestamp(); string Unknown1 = Packet.PopString(); string Unknown2 = Packet.PopString(); bool IPBan = Packet.PopBoolean(); bool MachineBan = Packet.PopBoolean(); if (MachineBan) { IPBan = false; } Habbo Habbo = RavenEnvironment.GetHabboById(UserId); if (Habbo == null) { Session.SendWhisper("Ocurrio un error mientras se buscaba este usuario en la base de datos"); return; } if (Habbo.GetPermissions().HasRight("mod_tool") && !Session.GetHabbo().GetPermissions().HasRight("mod_ban_any")) { Session.SendWhisper("Oops, no se puede banear a este usuario"); return; } Message = (Message != null ? Message : "sin razon."); string Username = Habbo.Username; using (IQueryAdapter dbClient = RavenEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("UPDATE `user_info` SET `bans` = `bans` + '1' WHERE `user_id` = '" + Habbo.Id + "' LIMIT 1"); } if (IPBan == false && MachineBan == false) { RavenEnvironment.GetGame().GetModerationManager().BanUser(Session.GetHabbo().Username, ModerationBanType.USERNAME, Habbo.Username, Message, Length); } else if (IPBan == true) { RavenEnvironment.GetGame().GetModerationManager().BanUser(Session.GetHabbo().Username, ModerationBanType.IP, Habbo.Username, Message, Length); } else if (MachineBan == true) { RavenEnvironment.GetGame().GetModerationManager().BanUser(Session.GetHabbo().Username, ModerationBanType.IP, Habbo.Username, Message, Length); RavenEnvironment.GetGame().GetModerationManager().BanUser(Session.GetHabbo().Username, ModerationBanType.USERNAME, Habbo.Username, Message, Length); RavenEnvironment.GetGame().GetModerationManager().BanUser(Session.GetHabbo().Username, ModerationBanType.MACHINE, Habbo.Username, Message, Length); } GameClient TargetClient = RavenEnvironment.GetGame().GetClientManager().GetClientByUsername(Habbo.Username); if (TargetClient != null) { TargetClient.Disconnect(); } }
public bool Execute(params object[] Params) { if (Params == null || Params.Length == 0) { return(false); } Habbo Owner = RavenEnvironment.GetHabboById(Item.UserID); if (Owner == null || !Owner.GetPermissions().HasRight("room_item_wired_rewards")) { return(false); } Habbo Player = (Habbo)Params[0]; if (Player == null || Player.GetClient() == null) { return(false); } RoomUser User = Player.CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Player.Username); if (User == null) { return(false); } Room Room = Player.CurrentRoom; if (String.IsNullOrEmpty(StringData)) { return(false); } int SplitNumber = -1; int oftenforuser = int.Parse(this.StringData.Split('-')[3]); int amountLeft = int.Parse(this.StringData.Split('-')[2]); int often = int.Parse(this.StringData.Split('-')[1]); string Reward = this.StringData.Split('-')[0]; bool unique = this.BoolData; int totalrewards = (this.StringData.Split('-')[0]).Split(';').Count(); bool premied = false; /* * Often numbers * 3- 1/min * 2- 1/Hour * 1- 1/Day * 0- Once * */ if (amountLeft == 1) { Player.GetClient().SendMessage(new WiredRewardAlertComposer(0)); return(true); } if (!unique) { int percentage1 = 0; int percentage2 = 0; int percentage3 = 0; int percentage4 = 0; int percentage5 = 0; int totalpercentage = 0; if (totalrewards > 0) { percentage1 = int.Parse(((this.StringData.Split('-')[0]).Split(';')[0]).Split(',')[2]); } else if (totalrewards > 1) { percentage2 = int.Parse(((this.StringData.Split('-')[0]).Split(';')[1]).Split(',')[2]) + percentage1; } else if (totalrewards > 2) { percentage3 = int.Parse(((this.StringData.Split('-')[0]).Split(';')[2]).Split(',')[2]) + percentage2; } else if (totalrewards > 3) { percentage4 = int.Parse(((this.StringData.Split('-')[0]).Split(';')[3]).Split(',')[2]) + percentage3; } else if (totalrewards > 4) { percentage5 = int.Parse(((this.StringData.Split('-')[0]).Split(';')[4]).Split(',')[2]) + percentage4; } totalpercentage = percentage5 + percentage4 + percentage3 + percentage2 + percentage1; var random = RavenEnvironment.GetRandomNumber(0, 100); if (random > totalpercentage) { Player.GetClient().SendMessage(new WiredRewardAlertComposer(4)); return(true); } if (percentage1 >= random) { SplitNumber = 0; } else if (percentage1 <= random && random <= percentage2) { SplitNumber = 1; } else if (percentage2 <= random && random <= percentage3) { SplitNumber = 2; } else if (percentage3 <= random && random <= percentage4) { SplitNumber = 3; } else if (percentage4 <= random && random <= percentage5 || random >= percentage5) { SplitNumber = 4; } Player.GetClient().SendWhisper(random + " | " + SplitNumber + " | " + totalpercentage); var dataArray = ((this.StringData.Split('-')[0]).Split(';')[SplitNumber]).Split(','); var isbadge = dataArray[0] == "0"; var code = dataArray[1]; var percentage = int.Parse(dataArray[2]); premied = true; if (isbadge) { if (code.StartsWith("diamonds:")) { foreach (var reward in code.Split('-')) { var dataArray2 = code.Split(':'); var diamonds = int.Parse(dataArray2[1]); if (diamonds > 100) { Player.GetClient().SendMessage(new RoomCustomizedAlertComposer("¡Ha ocurrido un error! Avisa a un miembro del equipo Staff.")); RavenEnvironment.GetGame().GetClientManager().StaffAlert(RoomNotificationComposer.SendBubble("advice", "" + Player.GetClient().GetHabbo().Username + " ha usado un wired que no sigue las normas del hotel.\n Click aquí.", "event:navigator/goto/" + Player.GetClient().GetHabbo().CurrentRoomId)); } else { Player.GetClient().GetHabbo().Diamonds += diamonds; Player.GetClient().SendMessage(new HabboActivityPointNotificationComposer(Player.GetClient().GetHabbo().Diamonds, diamonds, 5)); } } } else if (Player.GetBadgeComponent().HasBadge(code)) { Player.GetClient().SendMessage(new WiredRewardAlertComposer(5)); } else { Player.GetBadgeComponent().GiveBadge(code, true, Player.GetClient()); Player.GetClient().SendMessage(new WiredRewardAlertComposer(7)); } } else { ItemData ItemData = null; if (!RavenEnvironment.GetGame().GetItemManager().GetItem(int.Parse(code), out ItemData)) { Player.GetClient().SendMessage(new WhisperComposer(User.VirtualId, "No se pudo obtener Item ID: " + code, 0, User.LastBubble)); return(false); } Item Item = ItemFactory.CreateSingleItemNullable(ItemData, Player.GetClient().GetHabbo(), "", "", 0, 0, 0); if (Item != null) { Player.GetClient().GetHabbo().GetInventoryComponent().TryAddItem(Item); Player.GetClient().SendMessage(new FurniListNotificationComposer(Item.Id, 1)); Player.GetClient().SendMessage(new PurchaseOKComposer()); Player.GetClient().SendMessage(new FurniListAddComposer(Item)); Player.GetClient().SendMessage(new FurniListUpdateComposer()); Player.GetClient().SendMessage(new WiredRewardAlertComposer(6)); } } } else { foreach (var dataStr in (this.StringData.Split('-')[0]).Split(';')) { var dataArray = dataStr.Split(','); var isbadge = dataArray[0] == "0"; var code = dataArray[1]; var percentage = int.Parse(dataArray[2]); var random = RavenEnvironment.GetRandomNumber(0, 100); premied = true; if (isbadge) { if (code.StartsWith("diamonds:")) { foreach (var reward in code.Split('-')) { var dataArray2 = code.Split(':'); var diamonds = int.Parse(dataArray2[1]); if (diamonds > 100) { Player.GetClient().SendMessage(new RoomCustomizedAlertComposer("¡Ha ocurrido un error! Avisa a un miembro del equipo Staff.")); RavenEnvironment.GetGame().GetClientManager().StaffAlert(RoomNotificationComposer.SendBubble("advice", "" + Player.GetClient().GetHabbo().Username + " ha usado un wired que no sigue las normas del hotel.\n Click aquí.", "event:navigator/goto/" + Player.GetClient().GetHabbo().CurrentRoomId)); } else { Player.GetClient().GetHabbo().Diamonds += diamonds; Player.GetClient().SendMessage(new HabboActivityPointNotificationComposer(Player.GetClient().GetHabbo().Diamonds, diamonds, 5)); } } } if (Player.GetBadgeComponent().HasBadge(code)) { Player.GetClient().SendMessage(new WiredRewardAlertComposer(5)); } else { Player.GetBadgeComponent().GiveBadge(code, true, Player.GetClient()); Player.GetClient().SendMessage(new WiredRewardAlertComposer(7)); } } else { ItemData ItemData = null; if (!RavenEnvironment.GetGame().GetItemManager().GetItem(int.Parse(code), out ItemData)) { Player.GetClient().SendMessage(new WhisperComposer(User.VirtualId, "No se pudo obtener Item ID: " + code, 0, User.LastBubble)); return(false); } Item Item = ItemFactory.CreateSingleItemNullable(ItemData, Player.GetClient().GetHabbo(), "", "", 0, 0, 0); if (Item != null) { Player.GetClient().GetHabbo().GetInventoryComponent().TryAddItem(Item); Player.GetClient().SendMessage(new FurniListNotificationComposer(Item.Id, 1)); Player.GetClient().SendMessage(new PurchaseOKComposer()); Player.GetClient().SendMessage(new FurniListAddComposer(Item)); Player.GetClient().SendMessage(new FurniListUpdateComposer()); Player.GetClient().SendMessage(new WiredRewardAlertComposer(6)); } } } } if (premied) { } else if (!premied) { Player.GetClient().SendMessage(new WiredRewardAlertComposer(4)); } else if (amountLeft > 1) { amountLeft--; this.StringData = Reward + "-" + often + "-" + amountLeft + "-" + oftenforuser; } return(true); }
public Habbo GetDeleter() { return(RavenEnvironment.GetHabboById(DeleterId)); }
public Habbo GetAuthor() { return(RavenEnvironment.GetHabboById(UserId)); }
public void Parse(GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null || Session.GetHabbo().GetMessenger() == null) { return; } int User = Packet.PopInt(); int Type = Packet.PopInt(); if (!Session.GetHabbo().GetMessenger().FriendshipExists(User)) { Session.SendMessage(new BroadcastMessageAlertComposer("Oops, Solo puedes poner una relacion primeramente siendo amigos.")); return; } if (Type < 0 || Type > 3) { Session.SendMessage(new BroadcastMessageAlertComposer("Oops, Ha elegido un tipo de relacion no valido.")); return; } if (Session.GetHabbo().Relationships.Count > 2000) { Session.SendMessage(new BroadcastMessageAlertComposer("Lo sentimos, el limite de relaciones es 2000")); return; } using (IQueryAdapter dbClient = RavenEnvironment.GetDatabaseManager().GetQueryReactor()) { if (Type == 0) { dbClient.SetQuery("SELECT `id` FROM `user_relationships` WHERE `user_id` = '" + Session.GetHabbo().Id + "' AND `target` = @target LIMIT 1"); dbClient.AddParameter("target", User); int Id = dbClient.getInteger(); dbClient.SetQuery("DELETE FROM `user_relationships` WHERE `user_id` = '" + Session.GetHabbo().Id + "' AND `target` = @target LIMIT 1"); dbClient.AddParameter("target", User); dbClient.RunQuery(); if (Session.GetHabbo().Relationships.ContainsKey(User)) { Session.GetHabbo().Relationships.Remove(User); } } else { dbClient.SetQuery("SELECT id FROM `user_relationships` WHERE `user_id` = '" + Session.GetHabbo().Id + "' AND `target` = @target LIMIT 1"); dbClient.AddParameter("target", User); int Id = dbClient.getInteger(); if (Id > 0) { dbClient.SetQuery("DELETE FROM `user_relationships` WHERE `user_id` = '" + Session.GetHabbo().Id + "' AND `target` = @target LIMIT 1"); dbClient.AddParameter("target", User); dbClient.RunQuery(); if (Session.GetHabbo().Relationships.ContainsKey(User)) { Session.GetHabbo().Relationships.Remove(User); } } dbClient.SetQuery("INSERT INTO `user_relationships` (`user_id`,`target`,`type`) VALUES ('" + Session.GetHabbo().Id + "', @target, @type)"); dbClient.AddParameter("target", User); dbClient.AddParameter("type", Type); int newId = Convert.ToInt32(dbClient.InsertQuery()); if (!Session.GetHabbo().Relationships.ContainsKey(User)) { Session.GetHabbo().Relationships.Add(User, new Relationship(newId, User, Type)); } } GameClient Client = RavenEnvironment.GetGame().GetClientManager().GetClientByUserID(User); if (Client != null) { Session.GetHabbo().GetMessenger().UpdateFriend(User, Client, true); } else { Habbo Habbo = RavenEnvironment.GetHabboById(User); if (Habbo != null) { MessengerBuddy Buddy = null; if (Session.GetHabbo().GetMessenger().TryGetFriend(User, out Buddy)) { Session.SendMessage(new FriendListUpdateComposer(Session, Buddy)); } } } } }