public void Execute(GameClient Session, Room Room, RoomUser UserRoom, string[] Params) { Room room = Session.GetHabbo().CurrentRoom; if (room == null) { return; } RoomUser roomUserByHabbo = room.GetRoomUserManager().GetRoomUserByHabboId(Session.GetHabbo().Id); if (roomUserByHabbo == null) { return; } if (roomUserByHabbo._statusses.ContainsKey("sit") || roomUserByHabbo._statusses.ContainsKey("lay")) { return; } if (roomUserByHabbo.RotBody % 2 == 0) { if (UserRoom.transformation) { roomUserByHabbo.SetStatus("sit", ""); } else { roomUserByHabbo.SetStatus("sit", "0.5"); } roomUserByHabbo.IsSit = true; roomUserByHabbo.UpdateNeeded = true; } }
public void Parse(GameClient session, ClientPacket packet) { int groupId = packet.PopInt(); int userId = packet.PopInt(); if (!PlusEnvironment.GetGame().GetGroupManager().TryGetGroup(groupId, out Group group)) return; if (session.Habbo.Id != group.CreatorId || !group.IsMember(userId)) return; Habbo habbo = PlusEnvironment.GetHabboById(userId); if (habbo == null) { session.SendNotification("Oops, an error occurred whilst finding this user."); return; } group.MakeAdmin(userId); if (PlusEnvironment.GetGame().GetRoomManager().TryGetRoom(group.RoomId, out Room room)) { RoomUser user = room.GetRoomUserManager().GetRoomUserByHabbo(userId); if (user != null) { if (!user.Statusses.ContainsKey("flatctrl 3")) user.SetStatus("flatctrl 3"); user.UpdateNeeded = true; if (user.GetClient() != null) user.GetClient().SendPacket(new YouAreControllerComposer(3)); } } session.SendPacket(new GroupMemberUpdatedComposer(groupId, habbo, 1)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { if (Session == null || Session.GetHabbo() == null) { return; } int UserId = Packet.PopInt(); Room Room = null; if (!PlusEnvironment.GetGame().GetRoomManager().TryGetRoom(Session.GetHabbo().CurrentRoomId, out Room)) { return; } if (!Room.CheckRights(Session, true)) { return; } if (Room.UsersWithRights.Contains(UserId)) { Session.SendNotification(PlusEnvironment.GetGame().GetLanguageLocale().TryGetValue("room_rights_has_rights_error")); return; } Room.UsersWithRights.Add(UserId); using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("INSERT INTO `room_rights` (`room_id`,`user_id`) VALUES ('" + Room.RoomId + "','" + UserId + "')"); } RoomUser RoomUser = Room.GetRoomUserManager().GetRoomUserByHabbo(UserId); if (RoomUser != null && !RoomUser.IsBot) { RoomUser.SetStatus("flatctrl 1", ""); RoomUser.UpdateNeeded = true; if (RoomUser.GetClient() != null) { RoomUser.GetClient().SendMessage(new YouAreControllerComposer(1)); } Session.SendMessage(new FlatControllerAddedComposer(Room.RoomId, RoomUser.GetClient().GetHabbo().Id, RoomUser.GetClient().GetHabbo().Username)); } else { using (UserCache User = PlusEnvironment.GetGame().GetCacheManager().GenerateUser(UserId)) { if (User != null) { Session.SendMessage(new FlatControllerAddedComposer(Room.RoomId, User.Id, User.Username)); } } } }
public void Parse(GameClient Session, ClientPacket Packet) { if (Session.GetHabbo() == null) { return; } int UserId = Packet.PopInt(); Room room = ButterflyEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (room == null) { return; } if (room == null || !room.CheckRights(Session, true)) { return; } if (room.UsersWithRights.Contains(UserId)) { Session.SendNotification(ButterflyEnvironment.GetLanguageManager().TryGetValue("user.giverights.error", Session.Langue)); } else { Habbo Userright = ButterflyEnvironment.GetHabboById(UserId); if (Userright == null) { return; } room.UsersWithRights.Add(UserId); using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) queryreactor.RunQuery("INSERT INTO room_rights (room_id,user_id) VALUES (" + room.Id + "," + UserId + ")"); ServerPacket Response = new ServerPacket(ServerPacketHeader.FlatControllerAddedMessageComposer); Response.WriteInteger(room.Id); Response.WriteInteger(UserId); Response.WriteString(Userright.Username); Session.SendPacket(Response); RoomUser roomUserByHabbo = room.GetRoomUserManager().GetRoomUserByHabboId(UserId); if (roomUserByHabbo == null || roomUserByHabbo.IsBot) { return; } roomUserByHabbo.RemoveStatus("flatctrl 0"); roomUserByHabbo.SetStatus("flatctrl 1", ""); roomUserByHabbo.UpdateNeeded = true; roomUserByHabbo.GetClient().SendPacket(new YouAreControllerComposer(1)); } }
public void Parse(GameClient session, ClientPacket packet) { if (session == null || session.GetHabbo() == null) { return; } int userId = packet.PopInt(); if (!PlusEnvironment.GetGame().GetRoomManager().TryGetRoom(session.GetHabbo().CurrentRoomId, out Room room)) { return; } if (!room.CheckRights(session, true)) { return; } if (room.UsersWithRights.Contains(userId)) { session.SendNotification(PlusEnvironment.GetLanguageManager().TryGetValue("room.rights.user.has_rights")); return; } room.UsersWithRights.Add(userId); using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("INSERT INTO `room_rights` (`room_id`,`user_id`) VALUES ('" + room.RoomId + "','" + userId + "')"); } RoomUser roomUser = room.GetRoomUserManager().GetRoomUserByHabbo(userId); if (roomUser != null && !roomUser.IsBot) { roomUser.SetStatus("flatctrl 1"); roomUser.UpdateNeeded = true; if (roomUser.GetClient() != null) { roomUser.GetClient().SendPacket(new YouAreControllerComposer(1)); } session.SendPacket(new FlatControllerAddedComposer(room.RoomId, roomUser.GetClient().GetHabbo().Id, roomUser.GetClient().GetHabbo().Username)); } else { UserCache user = PlusEnvironment.GetGame().GetCacheManager().GenerateUser(userId); if (user != null) { session.SendPacket(new FlatControllerAddedComposer(room.RoomId, user.Id, user.Username)); } } }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int GroupId = Packet.PopInt(); int UserId = Packet.PopInt(); Group Group = null; if (!BiosEmuThiago.GetGame().GetGroupManager().TryGetGroup(GroupId, out Group)) { return; } if (Session.GetHabbo().Id != Group.CreatorId || !Group.IsMember(UserId)) { return; } Habbo Habbo = BiosEmuThiago.GetHabboById(UserId); if (Habbo == null) { Session.SendNotification("Ocorreu um erro ao encontrar esse usuário!"); return; } Group.MakeAdmin(UserId); Room Room = null; if (BiosEmuThiago.GetGame().GetRoomManager().TryGetRoom(Group.RoomId, out Room)) { RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(UserId); if (User != null) { if (!User.Statusses.ContainsKey("flatctrl 3")) { User.SetStatus("flatctrl 3", ""); } User.UpdateNeeded = true; if (User.GetClient() != null) { User.GetClient().SendMessage(new YouAreControllerComposer(3)); } } } Session.SendMessage(new GroupMemberUpdatedComposer(GroupId, Habbo, 1)); }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int GroupId = Packet.PopInt(); int UserId = Packet.PopInt(); Group Group = null; if (!PlusEnvironment.GetGame().GetGroupManager().TryGetGroup(GroupId, out Group)) { return; } if (Session.GetHabbo().Id != Group.CreatorId || !Group.IsMember(UserId)) { return; } Habbo Habbo = PlusEnvironment.GetHabboById(UserId); if (Habbo == null) { Session.SendNotification("Oops, an error occurred whilst finding this user."); return; } Group.MakeAdmin(UserId); Room Room = null; if (PlusEnvironment.GetGame().GetRoomManager().TryGetRoom(Group.RoomId, out Room)) { RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(UserId); if (User != null) { if (!User.Statusses.ContainsKey("flatctrl 3")) { User.SetStatus("flatctrl 3", ""); } User.UpdateNeeded = true; if (User.GetClient() != null) { User.GetClient().SendPacket(new YouAreControllerComposer(3)); } } } Session.SendPacket(new GroupMemberUpdatedComposer(GroupId, Habbo, 1)); }
public void Parse(GameClient Session, ClientPacket Packet) { int GroupId = Packet.PopInt(); int UserId = Packet.PopInt(); Group Group = null; if (!ButterflyEnvironment.GetGame().GetGroupManager().TryGetGroup(GroupId, out Group)) { return; } if (Session.GetHabbo().Id != Group.CreatorId || !Group.IsMember(UserId)) { return; } Habbo Habbo = ButterflyEnvironment.GetHabboById(UserId); if (Habbo == null) { return; } Group.MakeAdmin(UserId); Room Room = null; if (ButterflyEnvironment.GetGame().GetRoomManager().TryGetRoom(Group.RoomId, out Room)) { RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabboId(UserId); if (User != null) { if (!User._statusses.ContainsKey("flatctrl 3")) { User.SetStatus("flatctrl 3", ""); } User.UpdateNeeded = true; if (User.GetClient() != null) { User.GetClient().SendPacket(new YouAreControllerComposer(3)); } } } Session.SendPacket(new GroupMemberUpdatedComposer(GroupId, Habbo, 1)); }
public void Parse(GameClient session, ClientPacket packet) { int signId = packet.PopInt(); if (!PlusEnvironment.GetGame().GetRoomManager().TryGetRoom(session.GetHabbo().CurrentRoomId, out Room room)) { return; } RoomUser user = room.GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id); if (user == null) { return; } user.UnIdle(); user.SetStatus("sign", Convert.ToString(signId)); user.UpdateNeeded = true; user.SignTime = PlusEnvironment.GetUnixTimestamp() + 5; }
public void Parse(GameClient Session, ClientPacket Packet) { Room room = ButterflyEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (room == null) { return; } RoomUser roomUserByHabbo = room.GetRoomUserManager().GetRoomUserByHabboId(Session.GetHabbo().Id); if (roomUserByHabbo == null) { return; } roomUserByHabbo.Unidle(); int num = Packet.PopInt(); if (roomUserByHabbo._statusses.ContainsKey("sign")) { roomUserByHabbo.RemoveStatus("sign"); } roomUserByHabbo.SetStatus("sign", Convert.ToString(num)); roomUserByHabbo.UpdateNeeded = true; }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int SignId = Packet.PopInt(); Room Room; if (!PlusEnvironment.GetGame().GetRoomManager().TryGetRoom(Session.GetHabbo().CurrentRoomId, out Room)) { return; } RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (User == null) { return; } User.UnIdle(); User.SetStatus("sign", Convert.ToString(SignId)); User.UpdateNeeded = true; User.SignTime = PlusEnvironment.GetUnixTimestamp() + 5; }
public void Execute(GameClient Session, Room Room, RoomUser UserRoom, string[] Params) { Room room = ButterflyEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (room == null) { return; } RoomUser roomUserByHabbo = UserRoom; if (roomUserByHabbo == null) { return; } try { /*if (roomUserByHabbo.sentadoBol) * { * roomUserByHabbo.sentadoBol = false; * roomUserByHabbo.RemoveStatus("sit"); * }*/ if (roomUserByHabbo._statusses.ContainsKey("lay") || roomUserByHabbo._statusses.ContainsKey("sit")) { return; } if (roomUserByHabbo.RotBody % 2 == 0 || roomUserByHabbo.transformation) { if (roomUserByHabbo.RotBody == 4 || roomUserByHabbo.RotBody == 0 || roomUserByHabbo.transformation) { if (room.GetGameMap().CanWalk(roomUserByHabbo.X, roomUserByHabbo.Y + 1)) { roomUserByHabbo.RotBody = 0; } else { return; } } else { if (!room.GetGameMap().CanWalk(roomUserByHabbo.X + 1, roomUserByHabbo.Y)) { return; } } //roomUserByHabbo.AddStatus("lay", Convert.ToString((double) room.GetGameMap().Model.SqFloorHeight[roomUserByHabbo.X, roomUserByHabbo.Y] + 0.85).Replace(",", ".")); if (UserRoom.transformation) { roomUserByHabbo.SetStatus("lay", ""); } else { roomUserByHabbo.SetStatus("lay", "0.7"); } roomUserByHabbo.IsLay = true; roomUserByHabbo.UpdateNeeded = true; } } catch { } }
public void Execute(GameClient Session, Room Room, RoomUser UserRoom, string[] Params) { if (Params.Length != 2) { return; } if (!Room.RpRoom || !Room.Pvp) { return; } RolePlayer Rp = UserRoom.Roleplayer; if (Rp == null) { return; } if (Rp.Dead || Rp.SendPrison) { return; } RoomUser TargetRoomUser = Room.GetRoomUserManager().GetRoomUserByHabbo(Params[1].ToString()); if (TargetRoomUser == null) { return; } RolePlayer RpTwo = TargetRoomUser.Roleplayer; if (RpTwo == null) { return; } if (TargetRoomUser.GetClient().GetHabbo().Id == Session.GetHabbo().Id) { return; } if (RpTwo.Dead || RpTwo.SendPrison) { return; } if (RpTwo.SendPrison) { return; } if (Math.Floor((double)((double)RpTwo.Health / (double)RpTwo.HealthMax) * 100) > 75) { UserRoom.OnChat("*Tente d'arrêter " + TargetRoomUser.GetUsername() + "*"); UserRoom.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("rp.prisonnotallowed", Session.Langue)); return; } if (!((Math.Abs((TargetRoomUser.X - UserRoom.X)) >= 2) || (Math.Abs((TargetRoomUser.Y - UserRoom.Y)) >= 2))) { UserRoom.OnChat("*Arrête et envoie en prison " + TargetRoomUser.GetUsername() + "*"); TargetRoomUser.ApplyEffect(729, true); TargetRoomUser.RotBody = 2; TargetRoomUser.RotHead = 2; TargetRoomUser.SetStatus("sit", "0.5"); TargetRoomUser.Freeze = true; TargetRoomUser.FreezeEndCounter = 0; TargetRoomUser.IsSit = true; TargetRoomUser.UpdateNeeded = true; RpTwo.SendPrison = true; RpTwo.PrisonTimer = 10 * 2; } //UserRoom.ApplyEffect(737, true); //UserRoom.TimerResetEffect = 2; if (UserRoom.FreezeEndCounter <= 2) { UserRoom.Freeze = true; UserRoom.FreezeEndCounter = 2; } }
public void Execute(GameClient Session, Room Room, RoomUser UserRoom, string[] Params) { if (Params.Length < 3) { return; } RoomUser Bot = Room.GetRoomUserManager().GetBotByName(Params[1]); if (Bot == null) { return; } switch (Params[2]) { case "enable": { if (Params.Length < 4) { break; } int.TryParse(Params[3], out int IntValue); if (!ButterflyEnvironment.GetGame().GetEffectsInventoryManager().EffectExist(IntValue, false)) { return; } if (Bot.CurrentEffect != IntValue) { Bot.ApplyEffect(IntValue); } if (Bot.BotData.Enable != IntValue) { Bot.BotData.Enable = IntValue; using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) queryreactor.RunQuery("UPDATE bots SET enable = '" + IntValue + "' WHERE id = " + Bot.BotData.Id); } break; } case "handitem": { if (Params.Length < 4) { break; } int.TryParse(Params[3], out int IntValue); if (Bot.CarryItemID != IntValue) { Bot.CarryItem(IntValue, true); } if (Bot.BotData.Handitem != IntValue) { Bot.BotData.Handitem = IntValue; using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) queryreactor.RunQuery("UPDATE bots SET handitem = '" + IntValue + "' WHERE id = " + Bot.BotData.Id); } break; } case "rot": { if (Params.Length < 4) { break; } int.TryParse(Params[3], out int IntValue); IntValue = (IntValue > 7 || IntValue < 0) ? 0 : IntValue; if (Bot.RotBody != IntValue) { Bot.RotBody = IntValue; Bot.RotHead = IntValue; Bot.UpdateNeeded = true; } if (Bot.BotData.Rot != IntValue) { Bot.BotData.Rot = IntValue; using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) queryreactor.RunQuery("UPDATE bots SET rotation = '" + Bot.RotBody + "' WHERE id = " + Bot.BotData.Id); } break; } case "sit": { if (Bot.BotData.Status == 1) { Bot.BotData.Status = 0; Bot.RemoveStatus("sit"); Bot.IsSit = false; Bot.UpdateNeeded = true; using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) queryreactor.RunQuery("UPDATE bots SET status = '0' WHERE id = " + Bot.BotData.Id); } else { if (!Bot.IsSit) { Bot.SetStatus("sit", (Bot.IsPet) ? "" : "0.5"); Bot.IsSit = true; Bot.UpdateNeeded = true; } Bot.BotData.Status = 1; using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) queryreactor.RunQuery("UPDATE bots SET status = '1' WHERE id = " + Bot.BotData.Id); } break; } case "lay": { if (Bot.BotData.Status == 2) { Bot.BotData.Status = 0; Bot.RemoveStatus("lay"); Bot.IsSit = false; Bot.UpdateNeeded = true; using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) queryreactor.RunQuery("UPDATE bots SET status = '0' WHERE id = " + Bot.BotData.Id); } else { if (!Bot.IsLay) { Bot.SetStatus("lay", (Bot.IsPet) ? "" : "0.7"); Bot.IsLay = true; Bot.UpdateNeeded = true; } Bot.BotData.Status = 2; using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) queryreactor.RunQuery("UPDATE bots SET status = '2' WHERE id = " + Bot.BotData.Id); } break; } } }
public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet) { int UserId = Packet.PopInt(); if (Session == null || Session.GetHabbo() == null || !Session.GetHabbo().InRoom) { return; } Room Room = Session.GetHabbo().CurrentRoom; if (Room == null) { return; } RoomUser RoomUser = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id); if (RoomUser == null) { return; } RoomUser TargetUser = Room.GetRoomUserManager().GetRoomUserByVirtualId(UserId); if (TargetUser == null) { return; } if (Session.GetHabbo().TradingLockExpiry > 0) { if (Session.GetHabbo().TradingLockExpiry > PlusEnvironment.GetUnixTimestamp()) { Session.SendNotification("You're currently banned from trading."); return; } else { Session.GetHabbo().TradingLockExpiry = 0; Session.SendNotification("Your trading ban has now expired."); using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("UPDATE `user_info` SET `trading_locked` = '0' WHERE `id` = '" + Session.GetHabbo().Id + "' LIMIT 1"); } } } if (!Session.GetHabbo().GetPermissions().HasRight("room_trade_override")) { if (Room.TradeSettings == 0) { Session.SendPacket(new TradingErrorComposer(6, TargetUser.GetUsername())); return; } else if (Room.TradeSettings == 1 && Room.OwnerId != Session.GetHabbo().Id) { Session.SendPacket(new TradingErrorComposer(6, TargetUser.GetUsername())); return; } } if (RoomUser.IsTrading && RoomUser.TradePartner != TargetUser.UserId) { Session.SendPacket(new TradingErrorComposer(7, TargetUser.GetUsername())); return; } else if (TargetUser.IsTrading && TargetUser.TradePartner != RoomUser.UserId) { Session.SendPacket(new TradingErrorComposer(8, TargetUser.GetUsername())); return; } else if (!TargetUser.GetClient().GetHabbo().AllowTradingRequests) { Session.SendPacket(new TradingErrorComposer(4, TargetUser.GetUsername())); return; } else if (TargetUser.GetClient().GetHabbo().TradingLockExpiry > 0) { Session.SendPacket(new TradingErrorComposer(4, TargetUser.GetUsername())); return; } Trade Trade = null; if (!Room.GetTrading().StartTrade(RoomUser, TargetUser, out Trade)) { Session.SendNotification("An error occured trying to start this trade"); return; } if (TargetUser.HasStatus("trd")) { TargetUser.RemoveStatus("trd"); } if (RoomUser.HasStatus("trd")) { RoomUser.RemoveStatus("trd"); } TargetUser.SetStatus("trd"); TargetUser.UpdateNeeded = true; RoomUser.SetStatus("trd"); RoomUser.UpdateNeeded = true; Trade.SendPacket(new TradingStartComposer(RoomUser.UserId, TargetUser.UserId)); }
public void Hit(RoomUser Bot, int Dmg, Room Room, int pAggroVId, int pTeamId) { if (this.Dead) { return; } if (this.Health <= Dmg) { RoomUser User = Room.GetRoomUserManager().GetRoomUserByVirtualId(this.AggroVirtuelId); if (User != null && !User.IsBot) { RolePlayer Rp = User.Roleplayer; if (Rp != null) { Rp.AddExp(this.Config.Health); } } this.Health = 0; this.Dead = true; this.DeadTimer = this.Config.DeadTimer; this.AggroVirtuelId = 0; this.AggroTimer = 0; this.ResetBot = false; this.ResetBotTimer = 0; this.HitCount = 0; this.Dodge = false; this.DodgeTimer = 0; Bot.SetStatus("lay", (Bot.IsPet) ? "" : "0.7"); Bot.Freeze = true; Bot.FreezeEndCounter = 0; Bot.IsLay = true; Bot.UpdateNeeded = true; if (this.Config.MoneyDrop > 0) { Room.GetRoomItemHandler().AddTempItem(Bot.VirtualId, this.Config.DropScriptId, Bot.SetX, Bot.SetY, Bot.Z, "1", this.Config.MoneyDrop, InteractionTypeTemp.MONEY); } if (this.Config.LootItemId > 0) { RPItem Item = ButterflyEnvironment.GetGame().GetRoleplayManager().GetItemManager().GetItem(this.Config.LootItemId); if (Item != null) { Room.GetRoomItemHandler().AddTempItem(Bot.VirtualId, 3996, Bot.SetX, Bot.SetY, Bot.Z, Item.Name, this.Config.LootItemId, InteractionTypeTemp.RPITEM); } } Bot.OnChat("A été mis K.O. ! [" + this.Health + "/" + this.Config.Health + "]", (Bot.IsPet) ? 0 : 2, true); } else { this.Health -= Dmg; this.SlowTimer = 6; this.ResetBot = false; this.ResetBotTimer = 60; this.AggroTimer = 0; if (pTeamId == -1 || pTeamId != this.Config.TeamId) { this.AggroVirtuelId = pAggroVId; } if (!this.Dodge) { this.HitCount += 1; if (this.HitCount % this.DodgeStartCount == 0) { this.Dodge = true; this.DodgeTimer = 3; this.DodgeStartCount = ButterflyEnvironment.GetRandomNumber(2, 4); } } Bot.OnChat(string.Format(ButterflyEnvironment.GetLanguageManager().TryGetValue("rp.hit", Room.RoomData.Langue), this.Health, this.Config.Health, Dmg), (Bot.IsPet) ? 0 : 2, true); } }
public void Parse(GameClient Session, ClientPacket Packet) { Room room = Session.GetHabbo().CurrentRoom; if (room == null)
private void FreeTimeCycle(RoomUser Bot) { if (!this.IsAllowZone(Bot) || this.Health != this.Config.Health) { this.ResetBot = true; this.ResetBotTimer = 60; if (this.Config.ResetPosition && !this.IsAllowZone(Bot)) { Bot.MoveTo(Bot.BotData.X, Bot.BotData.Y); } if (this.Health != this.Config.Health) { Bot.ApplyEffect(4, true); Bot.TimerResetEffect = 4; } return; } //Action bot if (this.ActionTimer > 0) { this.ActionTimer--; return; } if (Bot.IsWalking) { return; } this.ActionTimer = ButterflyEnvironment.GetRandomNumber(15, 30); if (this.ActionTimer >= 25 && !this.Config.ZombieMode) { if (this.ActionTimer == 30) { if (Bot.RotBody != Bot.BotData.Rot) { Bot.RotHead = Bot.BotData.Rot; Bot.RotBody = Bot.BotData.Rot; Bot.UpdateNeeded = true; } } else { if (Bot.IsSit) { Bot.RemoveStatus("sit"); Bot.IsSit = false; Bot.UpdateNeeded = true; } else { if (Bot.RotBody % 2 == 0) { if (Bot.IsPet) { Bot.SetStatus("sit", ""); } else { Bot.SetStatus("sit", "0.5"); } Bot.IsSit = true; Bot.UpdateNeeded = true; } } } } else { if (this.Config.ZoneDistance > 0) { //Bouge le bot aléatoirement dans sa zone int LenghtX = ButterflyEnvironment.GetRandomNumber(0, this.Config.ZoneDistance); int LenghtY = ButterflyEnvironment.GetRandomNumber(0, this.Config.ZoneDistance); Bot.MoveTo(Bot.BotData.X + ((ButterflyEnvironment.GetRandomNumber(1, 2) == 2) ? -LenghtX : LenghtX), Bot.BotData.Y + ((ButterflyEnvironment.GetRandomNumber(1, 2) == 2) ? -LenghtY : LenghtY), true); } } }
public void Parse(GameClient session, ClientPacket packet) { int userId = packet.PopInt(); if (session == null || session.Habbo == null || !session.Habbo.InRoom) { return; } Room room = session.Habbo.CurrentRoom; if (room == null) { return; } RoomUser roomUser = room.GetRoomUserManager().GetRoomUserByHabbo(session.Habbo.Id); if (roomUser == null) { return; } RoomUser targetUser = room.GetRoomUserManager().GetRoomUserByVirtualId(userId); if (targetUser == null) { return; } if (session.Habbo.TradingLockExpiry > 0) { if (session.Habbo.TradingLockExpiry > PlusEnvironment.GetUnixTimestamp()) { session.SendNotification("You're currently banned from trading."); return; } session.Habbo.TradingLockExpiry = 0; session.SendNotification("Your trading ban has now expired."); using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor()) { dbClient.RunQuery("UPDATE `user_info` SET `trading_locked` = '0' WHERE `id` = '" + session.Habbo.Id + "' LIMIT 1"); } } if (!session.Habbo.GetPermissions().HasRight("room_trade_override")) { if (room.TradeSettings == 0) { session.SendPacket(new TradingErrorComposer(6, targetUser.GetUsername())); return; } if (room.TradeSettings == 1 && room.OwnerId != session.Habbo.Id) { session.SendPacket(new TradingErrorComposer(6, targetUser.GetUsername())); return; } } if (roomUser.IsTrading && roomUser.TradePartner != targetUser.UserId) { session.SendPacket(new TradingErrorComposer(7, targetUser.GetUsername())); return; } if (targetUser.IsTrading && targetUser.TradePartner != roomUser.UserId) { session.SendPacket(new TradingErrorComposer(8, targetUser.GetUsername())); return; } if (!targetUser.GetClient().Habbo.AllowTradingRequests) { session.SendPacket(new TradingErrorComposer(4, targetUser.GetUsername())); return; } if (targetUser.GetClient().Habbo.TradingLockExpiry > 0) { session.SendPacket(new TradingErrorComposer(4, targetUser.GetUsername())); return; } if (!room.GetTrading().StartTrade(roomUser, targetUser, out Trade trade)) { session.SendNotification("An error occured trying to start this trade"); return; } if (targetUser.HasStatus("trd")) { targetUser.RemoveStatus("trd"); } if (roomUser.HasStatus("trd")) { roomUser.RemoveStatus("trd"); } targetUser.SetStatus("trd"); targetUser.UpdateNeeded = true; roomUser.SetStatus("trd"); roomUser.UpdateNeeded = true; trade.SendPacket(new TradingStartComposer(roomUser.UserId, targetUser.UserId)); }
public override void OnUserSay(RoomUser User, string Message) { RoomUser roomUser = this.GetRoomUser(); if (roomUser.PetData.DBState != DatabaseUpdateState.NeedsInsert) { roomUser.PetData.DBState = DatabaseUpdateState.NeedsUpdate; } if (roomUser.PetData.OwnerId != User.GetClient().GetHabbo().Id) { return; } if (!Message.ToLower().StartsWith(roomUser.PetData.Name.ToLower() + " ")) { return; } if (Message.ToLower().Equals(roomUser.PetData.Name.ToLower())) { roomUser.SetRot(Rotation.Calculate(roomUser.X, roomUser.Y, User.X, User.Y), false); } else { string input = Message.Substring(roomUser.PetData.Name.ToLower().Length + 1); int randomNumber = ButterflyEnvironment.GetRandomNumber(1, 8); if (roomUser.PetData.Energy > 10 && randomNumber < 6) { this.RemovePetStatus(); switch (ButterflyEnvironment.GetGame().GetChatManager().GetPetCommands().TryInvoke(input)) { case 0: //Libre this.RemovePetStatus(); Point randomWalkableSquare = this.GetRoom().GetGameMap().getRandomWalkableSquare(this.GetBotData().X, this.GetBotData().Y); roomUser.MoveTo(randomWalkableSquare.X, randomWalkableSquare.Y); roomUser.PetData.AddExpirience(10); break; case 1: //Assis this.RemovePetStatus(); roomUser.PetData.AddExpirience(10); roomUser.SetStatus("sit", TextHandling.GetString(roomUser.Z)); roomUser.IsSit = true; roomUser.UpdateNeeded = true; this.ActionTimer = 25; this.EnergyTimer = 10; break; case 2: //Couché this.RemovePetStatus(); roomUser.SetStatus("lay", TextHandling.GetString(roomUser.Z)); roomUser.IsLay = true; roomUser.UpdateNeeded = true; roomUser.PetData.AddExpirience(10); this.ActionTimer = 30; this.EnergyTimer = 5; break; case 3: this.RemovePetStatus(); int pX = User.X; int pY = User.Y; this.ActionTimer = 30; if (User.RotBody == 4) { pY = User.Y + 1; } else if (User.RotBody == 0) { pY = User.Y - 1; } else if (User.RotBody == 6) { pX = User.X - 1; } else if (User.RotBody == 2) { pX = User.X + 1; } else if (User.RotBody == 3) { pX = User.X + 1; pY = User.Y + 1; } else if (User.RotBody == 1) { pX = User.X + 1; pY = User.Y - 1; } else if (User.RotBody == 7) { pX = User.X - 1; pY = User.Y - 1; } else if (User.RotBody == 5) { pX = User.X - 1; pY = User.Y + 1; } roomUser.PetData.AddExpirience(10); roomUser.MoveTo(pX, pY); break; case 4: //demande this.RemovePetStatus(); roomUser.PetData.AddExpirience(10); roomUser.SetRot(Rotation.Calculate(roomUser.X, roomUser.Y, User.X, User.Y), false); roomUser.SetStatus("beg", TextHandling.GetString(roomUser.Z)); roomUser.UpdateNeeded = true; this.ActionTimer = 25; this.EnergyTimer = 10; break; case 5: this.RemovePetStatus(); roomUser.SetStatus("ded", TextHandling.GetString(roomUser.Z)); roomUser.UpdateNeeded = true; roomUser.PetData.AddExpirience(10); this.SpeechTimer = 45; this.ActionTimer = 30; break; case 6: break; case 7: break; case 8: break; case 9: this.RemovePetStatus(); roomUser.SetStatus("jmp", TextHandling.GetString(roomUser.Z)); roomUser.UpdateNeeded = true; roomUser.PetData.AddExpirience(10); this.EnergyTimer = 5; this.SpeechTimer = 10; this.ActionTimer = 5; break; case 10: break; case 11: break; case 12: break; case 13: //Panier ? this.RemovePetStatus(); roomUser.OnChat("ZzzZZZzzzzZzz", 0, false); roomUser.SetStatus("lay", TextHandling.GetString(roomUser.Z)); roomUser.IsLay = true; roomUser.UpdateNeeded = true; roomUser.PetData.AddExpirience(10); this.EnergyTimer = 5; this.SpeechTimer = 30; this.ActionTimer = 45; break; case 14: break; case 15: break; case 16: break; case 17: break; case 18: break; case 19: break; case 20: break; default: string[] strArray = ButterflyEnvironment.GetLanguageManager().TryGetValue("pet.unknowncommand", roomUser.mRoom.RoomData.Langue).Split(new char[1] { ',' }); Random random = new Random(); roomUser.OnChat(strArray[random.Next(0, strArray.Length - 1)], 0, false); break; } roomUser.PetData.PetEnergy(false); roomUser.PetData.PetEnergy(false); } else { this.RemovePetStatus(); if (!roomUser.mRoom.RoomMutePets) { if (roomUser.PetData.Energy < 10) { string[] strArray = ButterflyEnvironment.GetLanguageManager().TryGetValue("pet.tired", roomUser.mRoom.RoomData.Langue).Split(new char[1] { ',' }); Random random = new Random(); roomUser.OnChat(strArray[random.Next(0, strArray.Length - 1)], 0, false); roomUser.SetStatus("lay", TextHandling.GetString(roomUser.Z)); roomUser.IsLay = true; this.SpeechTimer = 50; this.ActionTimer = 45; this.EnergyTimer = 5; } else { string[] strArray = ButterflyEnvironment.GetLanguageManager().TryGetValue("pet.lazy", roomUser.mRoom.RoomData.Langue).Split(new char[1] { ',' }); Random random = new Random(); roomUser.OnChat(strArray[random.Next(0, strArray.Length - 1)], 0, false); roomUser.PetData.PetEnergy(false); } } } } }
public void Parse(GameClient Session, ClientPacket Packet) { if (Session.GetHabbo() == null) { return; } Room room = ButterflyEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); if (room == null || !room.CheckRights(Session, true)) { return; } StringBuilder DeleteParams = new StringBuilder(); int Amount = Packet.PopInt(); for (int index = 0; index < Amount; ++index) { if (index > 0) { DeleteParams.Append(" OR "); } int UserId = Packet.PopInt(); if (room.UsersWithRights.Contains(UserId)) { room.UsersWithRights.Remove(UserId); } DeleteParams.Append("room_id = '" + room.Id + "' AND user_id = '" + UserId + "'"); RoomUser roomUserByHabbo = room.GetRoomUserManager().GetRoomUserByHabboId(UserId); if (roomUserByHabbo != null && !roomUserByHabbo.IsBot) { roomUserByHabbo.GetClient().SendPacket(new YouAreControllerComposer(0)); roomUserByHabbo.RemoveStatus("flatctrl 1"); roomUserByHabbo.SetStatus("flatctrl 0", ""); roomUserByHabbo.UpdateNeeded = true; } ServerPacket Response2 = new ServerPacket(ServerPacketHeader.FlatControllerRemovedMessageComposer); Response2.WriteInteger(room.Id); Response2.WriteInteger(UserId); Session.SendPacket(Response2); if (room.UsersWithRights.Count <= 0) { ServerPacket Response3 = new ServerPacket(ServerPacketHeader.RoomRightsListMessageComposer); Response3.WriteInteger(room.RoomData.Id); Response3.WriteInteger(0); Session.SendPacket(Response3); } else { ServerPacket Response = new ServerPacket(ServerPacketHeader.RoomRightsListMessageComposer); Response.WriteInteger(room.RoomData.Id); Response.WriteInteger(room.UsersWithRights.Count); foreach (int UserId2 in room.UsersWithRights) { Habbo habboForId = ButterflyEnvironment.GetHabboById(UserId2); Response.WriteInteger(UserId2); Response.WriteString((habboForId == null) ? "Undefined (error)" : habboForId.Username); } Session.SendPacket(Response); } } using (IQueryAdapter queryreactor = ButterflyEnvironment.GetDatabaseManager().GetQueryReactor()) queryreactor.RunQuery("DELETE FROM room_rights WHERE " + (DeleteParams).ToString()); }
public void Hit(RoomUser User, int Dmg, Room Room, bool Ralentie = false, bool Murmur = false, bool Aggro = true) { if (this.Dead || this.SendPrison) { return; } if (this.Health <= Dmg) { this.Health = 0; this.Dead = true; this.DeadTimer = 30; User.SetStatus("lay", "0.7"); User.Freeze = true; User.FreezeEndCounter = 0; User.IsLay = true; User.UpdateNeeded = true; if (User.GetClient() != null) { User.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("rp.userdead", User.GetClient().Langue)); } int monaiePerdu = 0; if (this.Money > 10) { monaiePerdu = (int)Math.Floor((double)(this.Money / 100) * 20); this.Money -= monaiePerdu; } Room.GetRoomItemHandler().AddTempItem(User.VirtualId, 5461, User.SetX, User.SetY, User.Z, "1", monaiePerdu + 10, InteractionTypeTemp.MONEY); User.OnChat("A été mis K.O. ! [" + this.Health + "/" + this.HealthMax + "]", 0, true); } else { this.Health -= Dmg; if (Ralentie) { if (this.SlowTimer == 0) { if (User.GetClient() != null) { User.SendWhisperChat(ButterflyEnvironment.GetLanguageManager().TryGetValue("rp.hitslow", User.GetClient().Langue)); } } this.SlowTimer = 6; } if (Aggro) { this.AggroTimer = 30; } if (User.GetClient() != null) { if (Murmur) { User.SendWhisperChat(string.Format(ButterflyEnvironment.GetLanguageManager().TryGetValue("rp.hit", User.GetClient().Langue), this.Health, this.HealthMax, Dmg), false); } else { User.OnChat(string.Format(ButterflyEnvironment.GetLanguageManager().TryGetValue("rp.hit", User.GetClient().Langue), this.Health, this.HealthMax, Dmg), 0, true); } } } this.SendUpdate(); }