Ejemplo n.º 1
0
        private void Form1_Load(object sender, EventArgs e)
        {
            Thread t = new Thread(() =>
            {
                Task <GroupRank[]> task = RobloxAPI.GetGroupRanks(1237888);

                while (!task.IsCompleted)
                {
                    Thread.Sleep(1);
                }

                Console.WriteLine("Group Ranks in 1237888.");
                foreach (GroupRank rank in task.Result)
                {
                    Console.WriteLine("ID: {0} Name: {1} Rank: {2}", rank.ID, rank.Name, rank.Rank);
                }

                Task <GroupRank> ntask = RobloxAPI.GetUserRankInGroup(5762824, 1237888);

                while (!ntask.IsCompleted)
                {
                    Thread.Sleep(1);
                }

                nrank = ntask.Result;
                if (nrank != null)
                {
                    Console.WriteLine("User 5762824 is GroupRank: ID: {0} Name: {1} Rank: {2}", nrank.ID, nrank.Name, nrank.Rank);
                }
            });

            t.Start();
        }
Ejemplo n.º 2
0
 public GroupMember(int userId, string username, string look, int joinDate, int rank)
 {
     this.UserId   = userId;
     this.Username = username;
     this.Look     = look;
     this.JoinData = joinDate;
     this.Rank     = (GroupRank)rank;
 }
Ejemplo n.º 3
0
        public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet)
        {
            int GroupId = Packet.PopInt();
            int UserId  = Packet.PopInt();

            if (GroupId >= 1000)
            {
                return;
            }

            Group Group = GroupManager.GetJob(GroupId);

            if (Group == null)
            {
                return;
            }

            if (!Session.GetHabbo().GetPermissions().HasRight("roleplay_corp_manager") && (Session.GetHabbo().Id != Group.CreatorId || !Group.IsMember(UserId)))
            {
                return;
            }

            Habbo Habbo = PlusEnvironment.GetHabboById(UserId);

            if (Habbo == null)
            {
                Session.SendNotification("Opa, ocorreu um erro ao encontrar este usuário.");
                return;
            }

            Group.TakeAdmin(UserId);
            GroupRank Rank = GroupManager.GetJobRank(Group.Id, 1);

            Session.Shout("*Rebaixa " + Habbo.Username + " todos os cargos da Empresa " + Group.Name + " até o cargo " + Rank.Name + "*", 23);

            #region (Disabled) Take Room Rights

            /*
             * 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.RemoveStatus("flatctrl 3");
             *      User.UpdateNeeded = true;
             *      if (User.GetClient() != null)
             *          User.GetClient().SendMessage(new YouAreControllerComposer(0));
             *  }
             * }*/
            #endregion

            Session.SendMessage(new GroupMemberUpdatedComposer(GroupId, Habbo, 2));
        }
Ejemplo n.º 4
0
 public static bool IsGroupRank(Player player, GroupRank groupRank)
 {
     foreach (GroupRank g in player.ActiveCharacter.GroupRanks)
     {
         if (g == groupRank)
         {
             return(true);
         }
     }
     return(false);
 }
Ejemplo n.º 5
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            #region Variables
            Group     Gang     = GroupManager.GetGang(Session.GetRoleplay().GangId);
            GroupRank GangRank = GroupManager.GetGangRank(Session.GetRoleplay().GangId, Session.GetRoleplay().GangRank);
            #endregion

            #region Conditions
            if (Gang == null)
            {
                Session.SendWhisper("Você não faz parte de nenhum grupo!", 1);
                return;
            }

            if (Gang.Id <= 1000)
            {
                Session.SendWhisper("Você não faz parte de nenhum grupo!", 1);
                return;
            }

            if (!GroupManager.HasGangCommand(Session, "gajuda"))
            {
                Session.SendWhisper("Você não tem permissão para usar este comando!", 1);
                return;
            }

            if (Session.GetRoleplay().TryGetCooldown("gajuda"))
            {
                return;
            }
            #endregion

            #region Execute
            foreach (int Member in Gang.Members.Keys)
            {
                GameClient Client = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Member);

                if (Client == null)
                {
                    continue;
                }

                Client.SendWhisper("[GANGUE] " + Session.GetHabbo().Username + " está pedindo ajuda em " + Room.Name + " [Quarto ID: " + Room.RoomId + "]", 34);
            }

            Session.GetRoleplay().CooldownManager.CreateCooldown("gajuda", 1000, 5);
            #endregion
        }
Ejemplo n.º 6
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length != 3)
            {
                Session.SendWhisper("Digite um nome de usuário e um cargo para atribuí-los!", 1);
                return;
            }

            Group     Gang     = GroupManager.GetGang(Session.GetRoleplay().GangId);
            GroupRank GangRank = GroupManager.GetGangRank(Session.GetRoleplay().GangId, Session.GetRoleplay().GangRank);

            if (Gang == null)
            {
                Session.SendWhisper("Você não faz parte de nenhum grupo!", 1);
                return;
            }

            if (Gang.Id <= 1000)
            {
                Session.SendWhisper("Você não faz parte de nenhum grupo!", 1);
                return;
            }

            if (!GroupManager.HasGangCommand(Session, "grank"))
            {
                Session.SendWhisper("Você não possui uma classificação suficientemente alta para usar esse comando!", 1);
                return;
            }

            GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);

            if (TargetClient == Session)
            {
                Session.SendWhisper("Você não pode usar este comando em você mesmo!", 1);
                return;
            }

            if (TargetClient == null || TargetClient.GetHabbo() == null || TargetClient.GetRoleplay() == null)
            {
                Session.SendWhisper("Este usuário não pôde ser encontrado, talvez ele esteja offline.", 1);
                return;
            }

            if (TargetClient.GetRoleplay().GangId != Gang.Id)
            {
                Session.SendWhisper("Este usuário não está na mesma gangue do que você!", 1);
                return;
            }

            int Rank;

            if (int.TryParse(Params[2], out Rank))
            {
                if (Rank < 1 || Rank > 5)
                {
                    Session.SendWhisper("Insira um ranking válido (1 à 5)!", 1);
                    return;
                }

                GroupRank NewGangRank = GroupManager.GetGangRank(Gang.Id, Rank);

                if (GroupManager.GetGangMembersByRank(Gang.Id, Rank).Count >= NewGangRank.Limit && NewGangRank.Limit != 0)
                {
                    Session.SendWhisper("Desculpa! Há muitos membros no cargo " + NewGangRank.Name + "!", 1);
                    return;
                }

                if (Rank > TargetClient.GetRoleplay().GangRank)
                {
                    Session.Shout("*Promove " + TargetClient.GetHabbo().Username + " para o cargo " + NewGangRank.Name + " em sua gangue " + Gang.Name + "*", 4);
                }
                else
                {
                    Session.Shout("*Rebaixa " + TargetClient.GetHabbo().Username + " para o cargo " + NewGangRank.Name + " em sua gangue " + Gang.Name + "*", 4);
                }

                TargetClient.GetRoleplay().GangRank    = Rank;
                TargetClient.GetRoleplay().GangRequest = 0;

                Gang.UpdateGangMember(TargetClient.GetHabbo().Id);
            }
            else
            {
                Session.SendWhisper("Insira um ranking de gangues válido (1 à 5)!", 1);
                return;
            }
        }
Ejemplo n.º 7
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            #region Variables
            RoomUser  User      = Session.GetRoomUser();
            Group     Group     = GroupManager.GetJob(Session.GetRoleplay().JobId);
            GroupRank GroupRank = GroupManager.GetJobRank(Session.GetRoleplay().JobId, Session.GetRoleplay().JobRank);
            #endregion

            #region Conditions
            if (User == null)
            {
                return;
            }

            if (Params.Length == 1)
            {
                Session.SendWhisper("Digite [:servir (item)]! Você só pode servir os seguintes itens: " + FoodManager.GetServableItems(Session) + "!", 1);
                return;
            }

            string FoodName = Params[1].ToString();
            Food   Food     = FoodManager.GetFoodAndDrink(FoodName);

            if (!Session.GetRoleplay().IsWorking)
            {
                Session.SendWhisper("Você deve estar trabalhando para fazer isso!", 1);
                return;
            }

            if (Session.GetRoleplay().IsDead)
            {
                Session.SendWhisper("Você não pode servir alimentos ou bebidas enquanto está morto!", 1);
                return;
            }

            if (Session.GetRoleplay().IsJailed)
            {
                Session.SendWhisper("Você não pode servir alimentos ou bebidas enquanto está preso!", 1);
                return;
            }

            if (!GroupManager.HasJobCommand(Session, "serve"))
            {
                Session.SendWhisper("Você não tem permissão para usar este comando!", 1);
                return;
            }

            if (!GroupRank.CanWorkHere(Session.GetHabbo().CurrentRoomId))
            {
                Session.SendWhisper("Você não trabalha aqui! Seu(s) quarto de trabalho é [Quarto ID(s): " + String.Join(",", GroupRank.WorkRooms) + "]", 1);
                return;
            }

            if (Food == null)
            {
                Session.SendWhisper("Este não é um tipo de alimento ou bebida válido! Você só pode servir: " + FoodManager.GetServableItems(Session) + "!", 1);
                return;
            }

            if (!FoodManager.CanServe(User))
            {
                Session.SendWhisper("Encontre uma mesa agradável para servir!", 1);
                return;
            }

            if (Food.Type == "food" && !GroupManager.HasJobCommand(Session, "food"))
            {
                Session.SendWhisper("Desculpe! Você só pode servir: " + FoodManager.GetServableItems(Session) + "!", 1);
                return;
            }

            if (Food.Type == "drink" && !GroupManager.HasJobCommand(Session, "drinks"))
            {
                Session.SendWhisper("Desculpe! Você só pode servir: " + FoodManager.GetServableItems(Session) + "!", 1);
                return;
            }

            if (!Food.Servable)
            {
                if (Food.Type == "drink")
                {
                    Session.SendWhisper("Desculpe! Você só pode servir: " + FoodManager.GetServableItems(Session) + "!", 1);
                }
                else
                {
                    Session.SendWhisper("Desculpe! Você só pode servir: " + FoodManager.GetServableItems(Session) + "!", 1);
                }
                return;
            }
            #endregion

            #region Execute
            double MaxHeight = 0.0;
            Item   ItemInFront;
            if (Room.GetGameMap().GetHighestItemForSquare(User.SquareInFront, out ItemInFront))
            {
                if (ItemInFront != null)
                {
                    MaxHeight = ItemInFront.TotalHeight;
                }
            }

            Session.Shout(Food.ServeText, 4);
            RoleplayManager.PlaceItemToRoom(Session, Food.ItemId, 0, User.SquareInFront.X, User.SquareInFront.Y, MaxHeight, User.RotBody, false, Room.Id, false, Food.ExtraData, true);
            #endregion
        }
Ejemplo n.º 8
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            #region Variables
            Group     Corp     = null;
            GroupRank CorpRank = null;
            #endregion

            #region Conditions
            if (Params.Length == 1)
            {
                Corp     = GroupManager.GetJob(Session.GetRoleplay().JobId);
                CorpRank = GroupManager.GetJobRank(Session.GetRoleplay().JobId, Session.GetRoleplay().JobRank);
            }
            else
            {
                int CorpId;
                if (int.TryParse(Params[1], out CorpId))
                {
                    Corp     = GroupManager.GetJob(CorpId);
                    CorpRank = GroupManager.GetJobRank(CorpId, 1);
                }
                else
                {
                    Session.SendWhisper("Por favor, insira um ID de empresa válido! Digite ':corplista' para ver todas!", 1);
                    return;
                }
            }

            if (Corp == null)
            {
                Session.SendWhisper("Desculpe, mas este ID de empresa não existe!", 1);
                return;
            }

            if (Corp.Id <= 1)
            {
                if (Session.GetRoleplay().JobId <= 1)
                {
                    Session.SendWhisper("Você está desempregado", 1);
                }
                else
                {
                    Session.SendWhisper("Desculpe, você não pode ver as informações da 'empresa' de 'Desempregados'!", 1);
                }
                return;
            }
            #endregion

            #region Execute
            StringBuilder Message = new StringBuilder();
            Message.Append("<----- " + Corp.Name + " ----->\n\n");
            Message.Append("Descrição: " + Corp.Description + "\n");

            if (Corp.Ranks.ContainsKey(6))
            {
                if (Corp.Members.Values.Where(x => x.UserRank == 6).ToList().Count > 0)
                {
                    List <int>    Members = Corp.Members.Values.Where(x => x.UserRank == 6).Select(x => x.UserId).ToList();
                    List <string> Names   = Members.Select(x => PlusEnvironment.GetHabboById(x) == null ? "SKIPTHIS" : PlusEnvironment.GetHabboById(x).Username).Where(x => x != "SKIPTHIS").ToList();
                    Message.Append("Gerenciado por: " + String.Join(", ", Names) + "\n\n");
                }
                else
                {
                    Message.Append("Gerenciado por: Ninguém\n\n");
                }
            }
            else
            {
                Message.Append("\n");
            }

            foreach (int JobRank in Corp.Ranks.Keys.Where(x => x != 6))
            {
                GroupRank Rank = Corp.Ranks[JobRank];
                if (Corp.Members.Values.Where(x => x.UserRank == JobRank).ToList().Count > 0)
                {
                    List <int>    Members = Corp.Members.Values.Where(x => x.UserRank == JobRank).Select(x => x.UserId).ToList();
                    List <string> Names   = Members.Select(x => PlusEnvironment.GetHabboById(x) == null ? "SKIPTHIS" : PlusEnvironment.GetHabboById(x).Username).Where(x => x != "SKIPTHIS").ToList();
                    Message.Append(Rank.Name + "(s): " + String.Join(", ", Names) + "\n\n");
                }
                else
                {
                    Message.Append(Rank.Name + "(s): Nenhum\n\n");
                }
            }

            Session.SendMessage(new MOTDNotificationComposer(Message.ToString()));
            #endregion
        }
Ejemplo n.º 9
0
        public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet)
        {
            int       GroupId   = Packet.PopInt();
            int       UserId    = Packet.PopInt();
            Group     Group     = null;
            GroupRank GroupRank = null;

            if (GroupId < 1000)
            {
                Group     = GroupManager.GetJob(GroupId);
                GroupRank = GroupManager.GetJobRank(GroupId, 1);
            }
            else
            {
                Group     = GroupManager.GetGang(GroupId);
                GroupRank = GroupManager.GetGangRank(GroupId, 1);
            }

            if (Group == null)
            {
                return;
            }

            bool IsAdmin = false;

            if (Group.IsAdmin(Session.GetHabbo().Id))
            {
                IsAdmin = true;
            }
            if (GroupId < 1000 && Session.GetHabbo().GetPermissions().HasRight("corporation_rights"))
            {
                IsAdmin = true;
            }

            bool IsOwner = false;

            if (Group.CreatorId == Session.GetHabbo().Id)
            {
                IsOwner = true;
            }
            if (GroupId < 1000 && Session.GetHabbo().GetPermissions().HasRight("roleplay_corp_manager"))
            {
                IsOwner = true;
            }

            if (!IsAdmin && !IsOwner)
            {
                return;
            }

            if (!Group.HasRequest(UserId))
            {
                return;
            }

            Habbo Habbo = PlusEnvironment.GetHabboById(UserId);

            if (Habbo == null)
            {
                Session.SendNotification("Opa, ocorreu um erro ao encontrar este usuário.");
                return;
            }

            Group.HandleRequest(UserId, false);

            Habbo = PlusEnvironment.GetHabboById(UserId);

            if (Habbo != null)
            {
                if (Group.Id < 1000)
                {
                    Session.SendWhisper("Sucesso, você rejeitou " + Habbo.Username + " de entrar na sua empresa '" + Group.Name + "'!", 1);
                }
                else
                {
                    Session.SendWhisper("Sucesso, você rejeitou '" + Habbo.Username + "' de entrar na sua gangue '" + Group.Name + "'!", 1);
                }
            }
            else
            {
                using (UserCache Member = PlusEnvironment.GetGame().GetCacheManager().GenerateUser(UserId))
                {
                    if (Group.Id < 1000)
                    {
                        Session.SendWhisper("Sucesso, você rejeitou " + Member.Username + " de entrar na sua empresa '" + Group.Name + "'!", 1);
                    }
                    else
                    {
                        Session.SendWhisper("Sucesso, você rejeitou '" + Member.Username + "' de entrar na sua gangue '" + Group.Name + "'!", 1);
                    }
                }
            }

            Session.SendMessage(new GroupInfoComposer(Group, Session));
            Session.SendMessage(new UnknownGroupComposer(Group.Id, UserId));

            if (Group.Id < 1000 && Habbo.GetClient() != null && Habbo.GetClient().GetRoomUser() != null)
            {
                if (Habbo.CurrentRoom != null && Habbo.CurrentRoom.TutorialEnabled)
                {
                    Habbo.SendComposerToCorrectUsers(new UsersComposer(Habbo.GetClient().GetRoomUser()));
                }
            }
        }
Ejemplo n.º 10
0
        public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet)
        {
            if (Session == null || Session.GetHabbo() == null)
            {
                return;
            }

            int       GroupId   = Packet.PopInt();
            Group     Group     = null;
            GroupRank GroupRank = null;

            if (GroupId < 1000)
            {
                Group     = GroupManager.GetJob(GroupId);
                GroupRank = GroupManager.GetJobRank(GroupId, 1);
            }
            else
            {
                Group     = GroupManager.GetGang(GroupId);
                GroupRank = GroupManager.GetGangRank(GroupId, 1);
            }

            if (GroupId >= 1000)
            {
                Group CurrentGang = GroupManager.GetGang(Session.GetRoleplay().GangId);

                if (CurrentGang != null && CurrentGang.CreatorId == Session.GetHabbo().Id)
                {
                    Session.SendNotification("Você deve excluir sua primeira gangue se quiser se juntar a outra gangue!");
                    return;
                }
            }

            if (Group == null)
            {
                return;
            }

            if (Group.IsMember(Session.GetHabbo().Id) || Group.IsAdmin(Session.GetHabbo().Id))
            {
                return;
            }

            if (Group.GroupType == GroupType.LOCKED && Group.HasRequest(Session.GetHabbo().Id))
            {
                return;
            }

            if (Group.GroupType == GroupType.PRIVATE)
            {
                return;
            }

            List <Group> Groups = PlusEnvironment.GetGame().GetGroupManager().GetGroupsForUser(Session.GetHabbo().Id);

            if (Groups.Count >= 3)
            {
                Session.SendMessage(new BroadcastMessageAlertComposer("Opa, parece que você atingiu o limite do grupo! Você só pode juntar até 1.500 grupos."));
                return;
            }

            if (Group.Id < 1000 && GroupRank.HasCommand("guide"))
            {
                if (BlackListManager.BlackList.Contains(Session.GetHabbo().Id))
                {
                    Session.SendWhisper("Você está na lista negra e não pode se juntar à corporação da polícia!", 1);
                    return;
                }
            }

            if (GroupId < 1000)
            {
                if (Group.GroupType == GroupType.LOCKED && !Session.GetHabbo().GetPermissions().HasRight("corporation_rights"))
                {
                    Session.GetRoleplay().JobRequest = GroupId;
                    Group.Requests.Add(Session.GetHabbo().Id);

                    Session.SendWhisper("Sucesso, você solicitou com sucesso para se juntar à empresa '" + Group.Name + "'!", 1);
                    List <GameClient> GroupAdmins = (from Client in PlusEnvironment.GetGame().GetClientManager().GetClients.ToList() where Client != null && Client.GetHabbo() != null && (Group.IsAdmin(Client.GetHabbo().Id) || Client.GetHabbo().GetPermissions().HasRight("corporation_rights")) select Client).ToList();
                    foreach (GameClient Client in GroupAdmins)
                    {
                        Client.SendMessage(new GroupMembershipRequestedComposer(Group.Id, Session.GetHabbo(), 3));
                    }
                    Session.SendMessage(new GroupInfoComposer(Group, Session));
                    return;
                }
                else
                {
                    int Bubble = 4;
                    if (Session.GetHabbo().GetPermissions().HasRight("corporation_rights"))
                    {
                        Bubble = 23;
                    }

                    Session.Shout("*Se contrata como um " + Group.Name + " no cargo " + GroupRank.Name + "*", Bubble);

                    //Session.SendMessage(new GroupFurniConfigComposer(PlusEnvironment.GetGame().GetGroupManager().GetGroupsForUser(Session.GetHabbo().Id)));

                    Session.GetRoleplay().TimeWorked = 0;
                    Session.GetRoleplay().JobId      = Group.Id;
                    Session.GetRoleplay().JobRank    = 1;
                    Session.GetRoleplay().JobRequest = 0;

                    Group.AddNewMember(Session.GetHabbo().Id);
                    Group.SendPackets(Session);
                }
            }
            else
            {
                if (Group.GroupType == GroupType.LOCKED)
                {
                    Session.GetRoleplay().GangRequest = GroupId;
                    Group.Requests.Add(Session.GetHabbo().Id);

                    Session.SendWhisper("Sucesso, você solicitou com sucesso para se juntar à gangue '" + Group.Name + "'!", 1);

                    List <GameClient> GroupAdmins = (from Client in PlusEnvironment.GetGame().GetClientManager().GetClients.ToList() where Client != null && Client.GetHabbo() != null && (Group.IsAdmin(Client.GetHabbo().Id)) select Client).ToList();
                    foreach (GameClient Client in GroupAdmins)
                    {
                        Client.SendMessage(new GroupMembershipRequestedComposer(Group.Id, Session.GetHabbo(), 3));
                    }

                    Session.SendMessage(new GroupInfoComposer(Group, Session));

                    UserCache Junk = null;
                    PlusEnvironment.GetGame().GetCacheManager().TryRemoveUser(Session.GetHabbo().Id, out Junk);
                    PlusEnvironment.GetGame().GetCacheManager().GenerateUser(Session.GetHabbo().Id);
                }
                else
                {
                    Session.Shout("*Entra na gangue '" + Group.Name + "' no cargo " + GroupRank.Name + "*", 4);

                    Session.SendMessage(new GroupFurniConfigComposer(PlusEnvironment.GetGame().GetGroupManager().GetGroupsForUser(Session.GetHabbo().Id)));

                    Session.GetRoleplay().GangId      = Group.Id;
                    Session.GetRoleplay().GangRank    = 1;
                    Session.GetRoleplay().GangRequest = 0;

                    Group.AddNewMember(Session.GetHabbo().Id);
                    Group.SendPackets(Session);
                }
            }
        }
Ejemplo n.º 11
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length == 1)
            {
                Session.SendWhisper("Você esqueceu de inserir o usuário da pessoa que deseja verificar!", 1);
                return;
            }
            #region Variables
            int  JobId   = 1;
            int  JobRank = 1;
            int  MarriedTo;
            bool IsJailed = false;
            int  JailTimeLeft;
            bool IsDead = false;
            int  DeadTimeLeft;
            bool IsWanted = false;
            int  WantedTimeLeft;
            bool OnProbation = false;
            int  ProbationTimeLeft;
            int  SendHomeTimeLeft;
            int  Phone;
            int  GangId     = 1000;
            int  GangRankId = 1;
            int  Car;
            int  Fuel;

            int    Level;
            int    LevelEXP;
            int    BankSavings;
            int    BankChequings;
            int    Arrests;
            int    Arrested;
            int    Evasions;
            int    Punches;
            int    Kills;
            int    HitKills;
            int    GunKills;
            int    Deaths;
            int    CopDeaths;
            int    Hunger;
            int    Hygiene;
            int    CurHealth;
            int    MaxHealth;
            int    CurEnergy;
            int    MaxEnergy;
            int    Intelligence;
            int    Strength;
            int    Stamina;
            int    Bullets;
            int    Dynamites;
            int    Weed;
            int    Cocaine;
            int    Cigarettes;
            int    IntelligenceEXP;
            int    StrengthEXP;
            int    StaminaEXP;
            int    TimeWorked;
            string Class;

            string Username = Params[1];
            GameClients.GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Username);
            #endregion

            #region Variables Client Check & Set
            if (TargetClient == null)
            {
                using (var dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
                {
                    dbClient.SetQuery("SELECT `id` FROM `users` WHERE `username` = '" + Username + "' LIMIT 1");
                    var Row = dbClient.getRow();

                    if (Row == null)
                    {
                        Session.SendWhisper("Esta pessoa não existe!", 1);
                        return;
                    }

                    int UserId = Convert.ToInt32(Row["id"]);

                    dbClient.SetQuery("SELECT * FROM `rp_stats` WHERE `id` = '" + UserId + "' LIMIT 1");
                    var Stats = dbClient.getRow();

                    if (Stats == null)
                    {
                        Session.SendWhisper("Esta pessoa não existe!", 1);
                        return;
                    }

                    JobId   = Convert.ToInt32(Stats["job_id"]);
                    JobRank = Convert.ToInt32(Stats["job_rank"]);

                    MarriedTo         = Convert.ToInt32(Stats["married_to"]);
                    IsJailed          = PlusEnvironment.EnumToBool(Stats["is_jailed"].ToString());
                    JailTimeLeft      = Convert.ToInt32(Stats["jailed_time_left"]);
                    IsDead            = PlusEnvironment.EnumToBool(Stats["is_dead"].ToString());
                    DeadTimeLeft      = Convert.ToInt32(Stats["dead_time_left"]);
                    IsWanted          = PlusEnvironment.EnumToBool(Stats["is_wanted"].ToString());
                    WantedTimeLeft    = Convert.ToInt32(Stats["wanted_time_left"]);
                    OnProbation       = PlusEnvironment.EnumToBool(Stats["on_probation"].ToString());
                    ProbationTimeLeft = Convert.ToInt32(Stats["probation_time_left"]);
                    SendHomeTimeLeft  = Convert.ToInt32(Stats["sendhome_time_left"]);
                    Phone             = Convert.ToInt32(Stats["phone"]);
                    GangId            = Convert.ToInt32(Stats["gang_id"]);
                    GangRankId        = Convert.ToInt32(Stats["gang_rank"]);
                    Car  = Convert.ToInt32(Stats["car"]);
                    Fuel = Convert.ToInt32(Stats["car_fuel"]);

                    Level           = Convert.ToInt32(Stats["level"]);
                    LevelEXP        = Convert.ToInt32(Stats["level_exp"]);
                    BankSavings     = Convert.ToInt32(Stats["bank_savings"]);
                    BankChequings   = Convert.ToInt32(Stats["bank_chequings"]);
                    Arrests         = Convert.ToInt32(Stats["arrests"]);
                    Arrested        = Convert.ToInt32(Stats["arrested"]);
                    Evasions        = Convert.ToInt32(Stats["evasions"]);
                    Punches         = Convert.ToInt32(Stats["punches"]);
                    Kills           = Convert.ToInt32(Stats["kills"]);
                    HitKills        = Convert.ToInt32(Stats["hit_kills"]);
                    GunKills        = Convert.ToInt32(Stats["gun_kills"]);
                    Deaths          = Convert.ToInt32(Stats["deaths"]);
                    CopDeaths       = Convert.ToInt32(Stats["cop_deaths"]);
                    Hunger          = Convert.ToInt32(Stats["hunger"]);
                    Hygiene         = Convert.ToInt32(Stats["hygiene"]);
                    CurHealth       = Convert.ToInt32(Stats["curhealth"]);
                    MaxHealth       = Convert.ToInt32(Stats["maxhealth"]);
                    CurEnergy       = Convert.ToInt32(Stats["curenergy"]);
                    MaxEnergy       = Convert.ToInt32(Stats["maxenergy"]);
                    Intelligence    = Convert.ToInt32(Stats["intelligence"]);
                    Strength        = Convert.ToInt32(Stats["strength"]);
                    Stamina         = Convert.ToInt32(Stats["stamina"]);
                    Bullets         = Convert.ToInt32(Stats["bullets"]);
                    Dynamites       = Convert.ToInt32(Stats["dynamite"]);
                    Weed            = Convert.ToInt32(Stats["weed"]);
                    Cocaine         = Convert.ToInt32(Stats["cocaine"]);
                    Cigarettes      = Convert.ToInt32(Stats["cigarette"]);
                    IntelligenceEXP = Convert.ToInt32(Stats["intelligence_exp"]);
                    StrengthEXP     = Convert.ToInt32(Stats["strength_exp"]);
                    StaminaEXP      = Convert.ToInt32(Stats["stamina_exp"]);
                    TimeWorked      = Convert.ToInt32(Stats["time_worked"]);
                    Class           = Stats["class"].ToString();
                }
            }
            else
            {
                JobId             = TargetClient.GetRoleplay().JobId;
                JobRank           = TargetClient.GetRoleplay().JobRank;
                MarriedTo         = TargetClient.GetRoleplay().MarriedTo;
                IsJailed          = TargetClient.GetRoleplay().IsJailed;
                JailTimeLeft      = TargetClient.GetRoleplay().JailedTimeLeft;
                IsDead            = TargetClient.GetRoleplay().IsDead;
                DeadTimeLeft      = TargetClient.GetRoleplay().DeadTimeLeft;
                IsWanted          = TargetClient.GetRoleplay().IsWanted;
                WantedTimeLeft    = TargetClient.GetRoleplay().WantedTimeLeft;
                OnProbation       = TargetClient.GetRoleplay().OnProbation;
                ProbationTimeLeft = TargetClient.GetRoleplay().ProbationTimeLeft;
                SendHomeTimeLeft  = TargetClient.GetRoleplay().SendHomeTimeLeft;
                Phone             = TargetClient.GetRoleplay().PhoneType;
                GangId            = TargetClient.GetRoleplay().GangId;
                GangRankId        = TargetClient.GetRoleplay().GangRank;
                Car  = TargetClient.GetRoleplay().CarType;
                Fuel = TargetClient.GetRoleplay().CarFuel;

                Level           = TargetClient.GetRoleplay().Level;
                LevelEXP        = TargetClient.GetRoleplay().LevelEXP;
                BankSavings     = TargetClient.GetRoleplay().BankSavings;
                BankChequings   = TargetClient.GetRoleplay().BankChequings;
                Arrests         = TargetClient.GetRoleplay().Arrests;
                Arrested        = TargetClient.GetRoleplay().Arrested;
                Evasions        = TargetClient.GetRoleplay().Evasions;
                Punches         = TargetClient.GetRoleplay().Punches;
                Kills           = TargetClient.GetRoleplay().Kills;
                HitKills        = TargetClient.GetRoleplay().HitKills;
                GunKills        = TargetClient.GetRoleplay().GunKills;
                Deaths          = TargetClient.GetRoleplay().Deaths;
                CopDeaths       = TargetClient.GetRoleplay().CopDeaths;
                Hunger          = TargetClient.GetRoleplay().Hunger;
                Hygiene         = TargetClient.GetRoleplay().Hygiene;
                CurHealth       = TargetClient.GetRoleplay().CurHealth;
                MaxHealth       = TargetClient.GetRoleplay().MaxHealth;
                CurEnergy       = TargetClient.GetRoleplay().CurEnergy;
                MaxEnergy       = TargetClient.GetRoleplay().MaxEnergy;
                Intelligence    = TargetClient.GetRoleplay().Intelligence;
                Strength        = TargetClient.GetRoleplay().Strength;
                Stamina         = TargetClient.GetRoleplay().Stamina;
                Bullets         = TargetClient.GetRoleplay().Bullets;
                Dynamites       = TargetClient.GetRoleplay().Dynamite;
                Weed            = TargetClient.GetRoleplay().Weed;
                Cocaine         = TargetClient.GetRoleplay().Cocaine;
                Cigarettes      = TargetClient.GetRoleplay().Cigarettes;
                IntelligenceEXP = TargetClient.GetRoleplay().IntelligenceEXP;
                StrengthEXP     = TargetClient.GetRoleplay().StrengthEXP;
                StaminaEXP      = TargetClient.GetRoleplay().StaminaEXP;
                TimeWorked      = TargetClient.GetRoleplay().TimeWorked;
                Class           = TargetClient.GetRoleplay().Class;
            }
            #endregion

            Group     job  = GroupManager.GetJob(JobId);
            GroupRank rank = GroupManager.GetJobRank(JobId, JobRank);

            StringBuilder MarriedMesssage = new StringBuilder();
            if (MarriedTo != 0)
            {
                MarriedMesssage.Append(PlusEnvironment.GetGame().GetCacheManager().GenerateUser(MarriedTo).Username);
            }
            else
            {
                MarriedMesssage.Append("Ninguém!");
            }

            StringBuilder JailMessage = new StringBuilder();
            if (IsJailed)
            {
                JailMessage.Append("Ele está preso por " + JailTimeLeft + " minutos");
            }
            else
            {
                JailMessage.Append("Ele não está preso");
            }

            StringBuilder DeadMessage = new StringBuilder();
            if (IsDead)
            {
                DeadMessage.Append("Ele está morto por " + DeadTimeLeft + " minutos");
            }
            else
            {
                DeadMessage.Append("Ele não está morto");
            }

            StringBuilder WantedMessage = new StringBuilder();
            if (IsWanted)
            {
                WantedMessage.Append("Ele está sendo procurado por" + WantedTimeLeft + " minutos");
            }
            else
            {
                WantedMessage.Append("Ele não está sendo procurado");
            }

            StringBuilder ProbationMessage = new StringBuilder();
            if (OnProbation)
            {
                ProbationMessage.Append("Ele está em liberdade condicional por " + ProbationTimeLeft + " minutos");
            }
            else
            {
                ProbationMessage.Append("Ele não está em liberdade condicional");
            }

            StringBuilder SendhomeMessage = new StringBuilder();
            if (SendHomeTimeLeft > 0)
            {
                SendhomeMessage.Append("Ele foi enviado para casa por " + SendHomeTimeLeft + " minutos");
            }
            else
            {
                SendhomeMessage.Append("Ele não foi enviado para casa");
            }

            StringBuilder PhoneType = new StringBuilder();
            if (Phone == 0)
            {
                PhoneType.Append("Ele não têm um telefone");
            }
            if (Phone == 1)
            {
                PhoneType.Append("Ele têm um Nokia Tijolão. Textos custam 3 créditos(de celular) cada");
            }
            if (Phone == 2)
            {
                PhoneType.Append("Ele têm um iPhone 4. Textos custam 2 créditos(de celular) cada");
            }
            if (Phone == 3)
            {
                PhoneType.Append("Ele têm um iPhone7. Textos custam 1 crédito(de celular) cada");
            }

            Group     Gang     = GroupManager.GetGang(GangId);
            GroupRank GangRank = GroupManager.GetGangRank(GangId, GangRankId);

            string grank = "\n";
            if (GangId > 1000)
            {
                if (GangRank != null)
                {
                    grank = "Rank da Gangue: " + GangRank.Name + "\n\n";
                }
            }

            StringBuilder CarType = new StringBuilder();
            if (Car == 0)
            {
                CarType.Append("Ele não têm um carro");
            }
            else if (Car == 1)
            {
                CarType.Append("Ele têm um Toyota Corolla. Ele usa 3 combustível por cada 10 segundos");
            }
            else if (Car == 2)
            {
                CarType.Append("Ele têm um Honda Accord. Ele usa 2 combustível por cada 10 segundos");
            }
            else
            {
                CarType.Append("Eles têm o Nissan GTR mais fantástico. Ele usa 1 combustível por cada 10 segundos");
            }

            StringBuilder CarFuel = new StringBuilder();
            if (Car == 0)
            {
                CarFuel.Append("");
            }
            else
            {
                if (Fuel > 0)
                {
                    CarFuel.Append("Gasolina: Ele tem " + String.Format("{0:N0}", Fuel) + " galões de gasolina!\n");
                }
                else
                {
                    CarFuel.Append("Gasolina: Ele não têm combustível restante!\n");
                }
            }

            StringBuilder MessageToSend = new StringBuilder().Append(
                "<---------- " + Username + " - Estatísticas --------->\n\n" +

                "<----- Informações Básicas ----->\n" +
                "Level: " + Level + "/" + RoleplayManager.LevelCap + "\n" +
                "XP: " + String.Format("{0:N0}", LevelEXP) + "/" + String.Format("{0:N0}", String.Format("{0:N0}", (!LevelManager.Levels.ContainsKey(Level + 1) ? 100000 : LevelManager.Levels[Level + 1]))) + "\n" +
                "Classe: " + Class + "\n\n" +

                "<----- Informações do Trabalho ----->\n" +
                "Trabalho: " + job.Name + " - [" + rank.Name + "]\n" +
                "Pagamento: R$" + String.Format("{0:N0}", rank.Pay) + " a cada 15min\n" +
                "Enviado p/ casa: " + SendhomeMessage + "\n" +
                "Minutos trabalhados: " + String.Format("{0:N0}", TimeWorked) + "\n\n" +

                "<----- Informações Humanas ----->\n" +
                "Sangue: " + String.Format("{0:N0}", CurHealth) + "/" + MaxHealth + "\n" +
                "Energia: " + CurEnergy + "/" + MaxEnergy + "\n" +
                "Fome: " + Hunger + "/100\n" +
                "Higiene: " + Hygiene + "/100\n\n" +

                "<----- Informações de Level ----->\n" +
                "Inteligência: " + Intelligence + "/" + RoleplayManager.IntelligenceCap + " --- Experiência: " + String.Format("{0:N0}", IntelligenceEXP) + " / " + String.Format("{0:N0}", (!LevelManager.IntelligenceLevels.ContainsKey(Intelligence + 1) ? 100000 : LevelManager.IntelligenceLevels[Intelligence + 1])) + "\n" +
                "Força: " + Strength + "/" + RoleplayManager.StrengthCap + " ---> Experiência: " + String.Format("{0:N0}", StrengthEXP) + " / " + String.Format("{0:N0}", (!LevelManager.StrengthLevels.ContainsKey(Strength + 1) ? 100000 : LevelManager.StrengthLevels[Strength + 1])) + "\n" +
                "Vigor: " + Stamina + "/" + RoleplayManager.StaminaCap + " ---> Experiência: " + String.Format("{0:N0}", StaminaEXP) + " / " + String.Format("{0:N0}", (!LevelManager.StaminaLevels.ContainsKey(Stamina + 1) ? 100000 : LevelManager.StaminaLevels[Stamina + 1])) + "\n\n" +

                "<----- Preso - Morto - Procurado - Liberdade ----->\n" +
                "Preso: " + JailMessage + "\n" +
                "Morto: " + DeadMessage + "\n" +
                "Procurado: " + WantedMessage + "\n" +
                "Liberdade Condicional: " + ProbationMessage + "\n\n" +

                "<----- Afiliações ----->\n" +
                "Casado(a) com: " + MarriedMesssage + "\n" +
                "Gangue: " + (Gang == null ? "Nenhuma" : Gang.Name) + "\n" +
                grank +

                "<----- Outras Estatísticas ----->\n" +
                "Socos: " + String.Format("{0:N0}", Punches) + "\n" +
                "Matou: " + String.Format("{0:N0}", Kills) + " pessoas no total\n" +
                "Matou com Soco: " + String.Format("{0:N0}", HitKills) + " pessoas\n" +
                "Matou com Armas: " + String.Format("{0:N0}", GunKills) + " pessoas\n" +
                "Morreu: " + String.Format("{0:N0}", Deaths) + " vezes\n" +
                "Morreu sendo PM: " + String.Format("{0:N0}", CopDeaths) + " vezes\n" +
                "Prendeu: " + String.Format("{0:N0}", Arrests) + " pessoas\n" +
                "Preso: " + String.Format("{0:N0}", Arrested) + " vezes\n" +
                "Fugiu da prisão: " + String.Format("{0:N0}", Evasions) + " vezes\n\n" +

                "<----- Banco ----->\n" +
                "Cheques: R$" + String.Format("{0:N0}", BankChequings) + "\n" +
                "Poupança: R$" + String.Format("{0:N0}", BankSavings) + "\n\n" +

                "<----- Inventário ----->\n" +
                "Celular: " + PhoneType + "\n" +
                "Carro: " + CarType + "\n" +
                CarFuel +
                "Balas: " + String.Format("{0:N0}", Bullets) + "\n" +
                "Dinamites: " + String.Format("{0:N0}", Dynamites) + "\n" +
                "Cigarros: " + String.Format("{0:N0}", Cigarettes) + " cigarros\n" +
                "Maconha: " + String.Format("{0:N0}", Weed) + " gramas\n" +
                "Cocaína: " + String.Format("{0:N0}", Cocaine) + " gramas\n\n" +

                "<----- Armas ----->\n" +
                "Use o comando ':uarmas <nome>' para ver as armas da pessoa!\n");

            Session.SendMessage(new MOTDNotificationComposer(MessageToSend.ToString()));
            Session.Shout("*Começa a verificar as informações de " + TargetClient.GetHabbo().Username + ".", 4);
            TargetClient.SendWhisper("" + Session.GetHabbo().Username + " está checando suas informações!", 1);
            if (Session.GetRoleplay().TryGetCooldown("ustatus"))
            {
                return;
            }
        }
Ejemplo n.º 12
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            Group     job  = GroupManager.GetJob(Session.GetRoleplay().JobId);
            GroupRank rank = GroupManager.GetJobRank(Session.GetRoleplay().JobId, Session.GetRoleplay().JobRank);

            StringBuilder MarriedMesssage = new StringBuilder();

            if (Session.GetRoleplay().MarriedTo != 0)
            {
                MarriedMesssage.Append(PlusEnvironment.GetGame().GetCacheManager().GenerateUser(Session.GetRoleplay().MarriedTo).Username);
            }
            else
            {
                MarriedMesssage.Append("Ninguém!");
            }

            StringBuilder JailMessage = new StringBuilder();

            if (Session.GetRoleplay().IsJailed)
            {
                JailMessage.Append("Você está preso por " + Session.GetRoleplay().JailedTimeLeft + " minutos");
            }
            else
            {
                JailMessage.Append("Você não está preso");
            }

            StringBuilder DeadMessage = new StringBuilder();

            if (Session.GetRoleplay().IsDead)
            {
                DeadMessage.Append("Você está morto por " + Session.GetRoleplay().DeadTimeLeft + " minutos");
            }
            else
            {
                DeadMessage.Append("Você nãot dead");
            }

            StringBuilder WantedMessage = new StringBuilder();

            if (Session.GetRoleplay().IsWanted)
            {
                WantedMessage.Append("Você está sendo procurado por " + Session.GetRoleplay().WantedTimeLeft + " minutos");
            }
            else
            {
                WantedMessage.Append("Você não está sendo procurado");
            }

            StringBuilder ProbationMessage = new StringBuilder();

            if (Session.GetRoleplay().OnProbation)
            {
                ProbationMessage.Append("Você está em liberdade condicional por" + Session.GetRoleplay().ProbationTimeLeft + " minutos");
            }
            else
            {
                ProbationMessage.Append("Você não está em liberdade condicional");
            }

            StringBuilder SendhomeMessage = new StringBuilder();

            if (Session.GetRoleplay().SendHomeTimeLeft > 0)
            {
                SendhomeMessage.Append("Você está enviado para casa por " + Session.GetRoleplay().SendHomeTimeLeft + " minutos");
            }
            else
            {
                SendhomeMessage.Append("Você não foi enviado para casa");
            }

            StringBuilder PhoneType = new StringBuilder();

            if (Session.GetRoleplay().PhoneType == 0)
            {
                PhoneType.Append("Você não tem um telefone");
            }
            if (Session.GetRoleplay().PhoneType == 1)
            {
                PhoneType.Append("Você tem um Nokia Tijolão. Mensagens custam [3 creditos de celuar cada]");
            }
            if (Session.GetRoleplay().PhoneType == 2)
            {
                PhoneType.Append("Você tem um iPhone 4s. Mensagens custam [2 creditos de celuar cada]");
            }
            if (Session.GetRoleplay().PhoneType == 3)
            {
                PhoneType.Append("Você tem o último iPhone 7. Mensagens custam [1 creditos de celuar cada]");
            }

            Group     Gang     = GroupManager.GetGang(Session.GetRoleplay().GangId);
            GroupRank GangRank = GroupManager.GetGangRank(Session.GetRoleplay().GangId, Session.GetRoleplay().GangRank);

            string grank = "\n";

            if (Session.GetRoleplay().GangId > 1000)
            {
                if (GangRank != null)
                {
                    grank = "Rank da Gangue: " + GangRank.Name + "\n\n";
                }
            }

            StringBuilder CarType = new StringBuilder();

            if (Session.GetRoleplay().CarType == 0)
            {
                CarType.Append("Você não tem");
            }
            else if (Session.GetRoleplay().CarType == 1)
            {
                CarType.Append("Você tem um Toyota Corolla. Ele usa 3 combustível por cada 10 segundos");
            }
            else if (Session.GetRoleplay().CarType == 2)
            {
                CarType.Append("Você tem um Honda Accord. Ele usa 2 combustível por cada 10 segundos");
            }
            else
            {
                CarType.Append("Você tem o fantastico Nissan GTR. Ele usa 1 combustível por cada 10 segundos");
            }

            StringBuilder CarFuel = new StringBuilder();

            if (Session.GetRoleplay().CarType == 0)
            {
                CarFuel.Append("");
            }
            else
            {
                if (Session.GetRoleplay().CarFuel > 0)
                {
                    CarFuel.Append("Combustível: Você tem " + String.Format("{0:N0}", Session.GetRoleplay().CarFuel) + " galões!\n");
                }
                else
                {
                    CarFuel.Append("Combustível: Você não tem combustível!\n");
                }
            }

            StringBuilder MessageToSend = new StringBuilder().Append(
                "<---------- Suas Estatísticas ---------->\n\n" +

                "<----- Informações [Básicas] ----->\n" +
                "Level: " + Session.GetRoleplay().Level + "/" + RoleplayManager.LevelCap + "\n" +
                "Level XP: " + String.Format("{0:N0}", Session.GetRoleplay().LevelEXP) + "/" + String.Format("{0:N0}", ((!LevelManager.Levels.ContainsKey(Session.GetRoleplay().Level + 1) ? 100000 : LevelManager.Levels[Session.GetRoleplay().Level + 1]))) + "\n" +
                "Classe: " + Session.GetRoleplay().Class + "\n\n" +

                "<----- Informações [Trabalho] ----->\n" +
                "Emprego: " + job.Name + " no cargo " + rank.Name + "\n" +
                "Pagamento: R$" + rank.Pay + " por 15 minutos\n" +
                "Enviado para casa: " + SendhomeMessage + "\n" +
                "Minutos trabalhados: " + String.Format("{0:N0}", Session.GetRoleplay().TimeWorked) + "\n\n" +

                "<----- Informações [Humanas] ----->\n" +
                "Sangue: " + String.Format("{0:N0}", Session.GetRoleplay().CurHealth) + "/" + Session.GetRoleplay().MaxHealth + "\n" +
                "Energia: " + Session.GetRoleplay().CurEnergy + "/" + Session.GetRoleplay().MaxEnergy + "\n" +
                "Fome: " + Session.GetRoleplay().Hunger + "/100\n" +
                "Higiene: " + Session.GetRoleplay().Hygiene + "/100\n\n" +

                "<----- Informações [Níveis] ----->\n" +
                "Inteligência: " + Session.GetRoleplay().Intelligence + "/" + RoleplayManager.IntelligenceCap + " <---> XP: " + String.Format("{0:N0}", Session.GetRoleplay().IntelligenceEXP) + " / " + String.Format("{0:N0}", (!LevelManager.IntelligenceLevels.ContainsKey(Session.GetRoleplay().Intelligence + 1) ? 100000 : LevelManager.IntelligenceLevels[Session.GetRoleplay().Intelligence + 1])) + "\n" +
                "Força: " + Session.GetRoleplay().Strength + "/" + RoleplayManager.StrengthCap + " <---> XP: " + String.Format("{0:N0}", Session.GetRoleplay().StrengthEXP) + " / " + String.Format("{0:N0}", (!LevelManager.StrengthLevels.ContainsKey(Session.GetRoleplay().Strength + 1) ? 100000 : LevelManager.StrengthLevels[Session.GetRoleplay().Strength + 1])) + "\n" +
                "Vigor: " + Session.GetRoleplay().Stamina + "/" + RoleplayManager.StaminaCap + " <---> XP: " + String.Format("{0:N0}", Session.GetRoleplay().StaminaEXP) + " / " + String.Format("{0:N0}", (!LevelManager.StaminaLevels.ContainsKey(Session.GetRoleplay().Stamina + 1) ? 100000 : LevelManager.StaminaLevels[Session.GetRoleplay().Stamina + 1])) + "\n\n" +

                "<----- Informação [Comportamento] ----->\n" +
                "Preso: " + JailMessage + "\n" +
                "Morto: " + DeadMessage + "\n" +
                "Procurado: " + WantedMessage + "\n" +
                "Liberdade condicional: " + ProbationMessage + "\n\n" +

                "<----- Informações [Afiliações] ----->\n" +
                "Casado(a) com: " + MarriedMesssage + "\n" +
                "Gangue: " + (Gang == null ? "Nenhuma" : Gang.Name) + "\n" +
                grank +

                "<----- Informações [Outros] ----->\n" +
                "Socos: " + String.Format("{0:N0}", Session.GetRoleplay().Punches) + "\n" +
                "Matou: " + String.Format("{0:N0}", Session.GetRoleplay().Kills) + " cidadãos\n" +
                "Matou com soco " + String.Format("{0:N0}", Session.GetRoleplay().HitKills) + " cidadãos\n" +
                "Matou com armas: " + String.Format("{0:N0}", Session.GetRoleplay().GunKills) + " cidadãos\n" +
                "Morreu: " + String.Format("{0:N0}", Session.GetRoleplay().Deaths) + " vezes\n" +
                "Morreu sendo PM: " + String.Format("{0:N0}", Session.GetRoleplay().CopDeaths) + "vezes\n" +
                "Prendeu: " + String.Format("{0:N0}", Session.GetRoleplay().Arrests) + " criminosos\n" +
                "Foi preso: " + String.Format("{0:N0}", Session.GetRoleplay().Arrested) + " vezes\n" +
                "Fugas da prisão: " + String.Format("{0:N0}", Session.GetRoleplay().Evasions) + "\n\n" +

                "<----- Informações [Bancárias] ----->\n" +
                "Conta de Cheques: R$" + String.Format("{0:N0}", Session.GetRoleplay().BankChequings) + "\n" +
                "Conta de Poupança: R$" + String.Format("{0:N0}", Session.GetRoleplay().BankSavings) + "\n\n" +

                "<----- Informações [Inventário] ----->\n" +
                "Celular: " + PhoneType + "\n" +
                "Carro: " + CarType + "\n" +
                CarFuel +
                "Balas: " + String.Format("{0:N0}", Session.GetRoleplay().Bullets) + "\n" +
                "Dinamites: " + String.Format("{0:N0}", Session.GetRoleplay().Dynamite) + "\n" +
                "Cigarros: " + String.Format("{0:N0}", Session.GetRoleplay().Cigarettes) + " cigarros\n" +
                "Maconha: " + String.Format("{0:N0}", Session.GetRoleplay().Weed) + " gramas\n" +
                "Cocaína: " + String.Format("{0:N0}", Session.GetRoleplay().Cocaine) + " gramas\n\n" +

                "<----- Informações [Agrícolas] ----->\n" +
                "Use o comando ':agricultura' para ver as suas estatísticas!\n\n" +

                "<----- Informações [Armas] ----->\n" +
                "Use o comando ':armas' para ver as que você possui!\n");

            Session.SendMessage(new MOTDNotificationComposer(MessageToSend.ToString()));
        }
Ejemplo n.º 13
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            if (Params.Length != 2)
            {
                Session.SendWhisper("Digite o nome de usuário do membro da gangue que deseja curar!", 1);
                return;
            }

            Group     Gang     = GroupManager.GetGang(Session.GetRoleplay().GangId);
            GroupRank GangRank = GroupManager.GetGangRank(Session.GetRoleplay().GangId, Session.GetRoleplay().GangRank);

            if (Gang == null)
            {
                Session.SendWhisper("Você não faz parte de nenhum grupo!", 1);
                return;
            }

            if (Gang.Id <= 1000)
            {
                Session.SendWhisper("Você não faz parte de nenhum grupo!", 1);
                return;
            }

            if (!GroupManager.HasGangCommand(Session, "gheal"))
            {
                Session.SendWhisper("Você não possui um cargo alto o suficiente para usar esse comando!", 1);
                return;
            }

            if (Gang.MediPacks <= 0)
            {
                Session.SendWhisper("Sua gangue não tem mais pacotes de cura!", 1);
                return;
            }

            GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);

            if (TargetClient == null)
            {
                Session.SendWhisper("Desculpe, mas este usuário não pôde ser encontrado!", 1);
                return;
            }

            RoomUser RoomUser       = Session.GetRoomUser();
            RoomUser TargetRoomUser = Room.GetRoomUserManager().GetRoomUserByHabbo(TargetClient.GetHabbo().Username);

            if (TargetRoomUser == null)
            {
                Session.SendWhisper("Ocorreu um erro ao encontrar esse usuário, talvez ele não esteja online ou nesta sala.", 1);
                return;
            }

            if (TargetClient.GetRoleplay().CurHealth == TargetClient.GetRoleplay().MaxHealth)
            {
                Session.SendWhisper(TargetClient.GetHabbo().Username + " não precisa ser curado!", 1);
                return;
            }

            Point  ClientPos       = new Point(RoomUser.X, RoomUser.Y);
            Point  TargetClientPos = new Point(TargetRoomUser.X, TargetRoomUser.Y);
            double Distance        = RoleplayManager.GetDistanceBetweenPoints2D(ClientPos, TargetClientPos);

            if (Distance > 1)
            {
                Session.SendWhisper("Aproxime-se de " + TargetClient.GetHabbo().Username + " para curá-lo com um pacote médico!", 1);
                return;
            }

            Session.Shout("*Puxa um pacote médico e aplica alguns band-aid nas feridas de " + TargetClient.GetHabbo().Username + "'*", 4);
            Gang.MediPacks -= 1;

            using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
                dbClient.RunQuery("UPDATE `rp_gangs` SET `medipacks` = '" + Gang.MediPacks + "' WHERE `id` = '" + Gang.Id + "'");

            CryptoRandom Random     = new CryptoRandom();
            int          HealAmount = Random.Next(5, 16);

            new Thread(() =>
            {
                Thread.Sleep(3000);

                if (!TargetClient.GetRoleplay().IsDead)
                {
                    if (TargetRoomUser != null)
                    {
                        TargetRoomUser.ApplyEffect(23);
                    }

                    int NewHealth = TargetClient.GetRoleplay().CurHealth + HealAmount;

                    if (NewHealth > TargetClient.GetRoleplay().MaxHealth)
                    {
                        TargetClient.GetRoleplay().CurHealth = TargetClient.GetRoleplay().MaxHealth;
                    }
                    else
                    {
                        TargetClient.GetRoleplay().CurHealth = NewHealth;
                    }

                    TargetClient.SendWhisper(Session.GetHabbo().Username + " Os kits médicos começou a produzir efeito!", 1);
                }
            }).Start();
        }
Ejemplo n.º 14
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            #region Conditions
            if (Session.GetRoleplay().IsWorking)
            {
                Session.SendWhisper("Você já está trabalhando!", 1);
                return;
            }

            if (Session.GetRoleplay().IsDead)
            {
                Session.SendWhisper("Você não pode trabalhar enquanto está morto!", 1);
                return;
            }

            if (Session.GetRoleplay().IsJailed)
            {
                Session.SendWhisper("Você não pode trabalhar enquanto está preso!", 1);
                return;
            }

            if (Session.GetRoleplay().JobId == 1)
            {
                Session.SendWhisper("Você não pode trabalhar, você está desempregado!", 1);
                return;
            }

            if (Session.GetRoleplay().IsWorkingOut)
            {
                Session.SendWhisper("Você não pode trabalhar enquanto está malhando!", 1);
                return;
            }

            if (Session.GetRoleplay().TimerManager.ActiveTimers.ContainsKey("sendhome"))
            {
                Session.SendWhisper("Você não pode trabalhar enquanto foi enviado para casa!", 1);
                return;
            }

            if (!GroupManager.JobExists(Session.GetRoleplay().JobId, Session.GetRoleplay().JobRank))
            {
                Session.GetRoleplay().TimeWorked = 0;
                Session.GetRoleplay().JobId      = 1;
                Session.GetRoleplay().JobRank    = 1;
                Session.GetRoleplay().JobRequest = 0;

                Group NewJob = GroupManager.GetJob(Session.GetRoleplay().JobId);
                NewJob.AddNewMember(Session.GetHabbo().Id);
                NewJob.SendPackets(Session);

                Session.SendWhisper("Desculpe, seu trabalho não existe! Ele foi removido.", 1);
                return;
            }

            Group     Job  = GroupManager.GetJob(Session.GetRoleplay().JobId);
            GroupRank Rank = GroupManager.GetJobRank(Job.Id, Session.GetRoleplay().JobRank);

            if (!Rank.CanWorkHere(Room.Id))
            {
                Session.SendWhisper("Este não é um dos seus quartos de trabalho! Você trabalha no(s) Quarto(s): [" + String.Join(",", Rank.WorkRooms) + "].", 1);
                return;
            }

            if (Session.GetRoleplay().CurEnergy <= 0)
            {
                Session.SendWhisper("Você não tem energia suficiente para trabalhar!", 1);
                return;
            }

            if (GroupManager.HasJobCommand(Session, "policial") && RoleplayManager.PurgeStarted)
            {
                Session.SendWhisper("Você não pode começar a trabalhar como policial em uma purga!", 1);
                return;
            }

            if (GroupManager.HasJobCommand(Session, "policial") && Room.RoomData.TurfEnabled)
            {
                Session.SendWhisper("Você não pode trabalhar como policial dentro de um território!", 1);
                return;
            }

            if (Session.GetRoleplay().TryGetCooldown("startwork", true))
            {
                return;
            }

            #endregion

            #region Execute
            if (GroupManager.HasJobCommand(Session, "guide"))
            {
                Session.SendMessage(new HelperToolConfigurationComposer(Session));
                return;
            }

            #region Farming Level Check
            int JobRank = 1;
            if (GroupManager.HasJobCommand(Session, "farming"))
            {
                if (!Session.GetRoleplay().FarmingStats.HasPlantSatchel&& !Session.GetRoleplay().FarmingStats.HasSeedSatchel)
                {
                    Session.SendWhisper("O agricultor precisa de um Saco de plantas e um Saco de sementes para que eles possam começar a trabalhar! Compre um no supermercado.", 1);
                    return;
                }

                if (Session.GetRoleplay().FarmingStats.Level < 6)
                {
                    JobRank = 1;
                }
                else if (Session.GetRoleplay().FarmingStats.Level >= 6 && Session.GetRoleplay().FarmingStats.Level < 11)
                {
                    JobRank = 2;
                }
                else if (Session.GetRoleplay().FarmingStats.Level >= 11)
                {
                    JobRank = 3;
                }

                if (JobRank != Session.GetRoleplay().JobRank)
                {
                    Session.GetRoleplay().JobRank = JobRank;
                    Job.UpdateJobMember(Session.GetHabbo().Id);
                }
            }
            #endregion

            Session.GetRoleplay().IsWorking = true;
            RoleplayManager.GetLookAndMotto(Session);
            WorkManager.AddWorkerToList(Session);
            Session.GetRoleplay().TimerManager.CreateTimer("work", 1000, true);
            Session.GetRoleplay().CooldownManager.CreateCooldown("startwork", 1000, 10);
            return;

            #endregion
        }
Ejemplo n.º 15
0
        public IHttpActionResult Rank(int id, string ln)
        {
            CultureModel.ChangeCulture(ln);
            var leagueRank = new LeagueRank
            {
                Stages = new List <StageRank>()
            };

            int?seasonId              = seasonsRepo.GetLastSeasonByLeagueId(id);
            LeagueRankService svc     = new LeagueRankService(id);
            RankLeague        rLeague = svc.CreateLeagueRankTable(seasonId) ?? new RankLeague();

            foreach (var stage in rLeague.Stages)
            {
                if (stage.Groups.All(g => g.IsAdvanced))
                {
                    continue;
                }
                var rankStage = new StageRank();
                var nameStage = "";
                if (stage.Groups.Any() && stage.Groups.All(g => g.IsAdvanced))
                {
                    var firstGroup = stage.Groups.FirstOrDefault();
                    if (firstGroup != null && firstGroup.PlayoffBrackets != null)
                    {
                        int numOfBrackets = (int)firstGroup.PlayoffBrackets;
                        switch (numOfBrackets)
                        {
                        case 1:
                            nameStage = Messages.Final; break;

                        case 2:
                            nameStage = Messages.Semifinals; break;

                        case 4:
                            nameStage = Messages.Quarter_finals;
                            break;

                        case 8:
                            nameStage = Messages.Final_Eighth;
                            break;

                        default:
                            nameStage = (numOfBrackets * 2) + Messages.FinalNumber;
                            break;
                        }
                    }
                }
                else
                {
                    nameStage = Messages.Stage + stage.Number;
                }

                rankStage.NameStage = nameStage;
                rankStage.Groups    = new List <GroupRank>();

                foreach (var group in stage.Groups)
                {
                    var rankGroup = new GroupRank
                    {
                        NameGroup = @group.Title,
                        Teams     = new List <TeamRank>()
                    };

                    for (var i = 0; i < group.Teams.Count(); i++)
                    {
                        var rankTeam = new TeamRank
                        {
                            Team = @group.Teams[i].Title,
                            Logo = @group.Teams[i].Logo
                        };

                        int numOfBrackets = (int)group.PlayoffBrackets;
                        rankTeam.Position = i % (numOfBrackets) == 0 ? (i + 1).ToString() : "-";

                        rankGroup.Teams.Add(rankTeam);
                    }
                    rankStage.Groups.Add(rankGroup);
                }
                leagueRank.Stages.Add(rankStage);
            }

            return(Ok(leagueRank));
        }
Ejemplo n.º 16
0
        public void Execute(GameClient Session, Rooms.Room Room, string[] Params)
        {
            #region Variables
            int Bubble = 0;
            #endregion

            #region Conditions
            if (Params.Length == 1)
            {
                Session.SendWhisper("Opa, você esqueceu de inserir o usuário!", 1);
                return;
            }

            if (Session.GetRoleplay().JobId <= 0 && !Session.GetHabbo().GetPermissions().HasRight("corporation_rights"))
            {
                Session.SendWhisper("Você não faz parte de uma empresa!", 1);
                return;
            }

            GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]);
            if (TargetClient == null)
            {
                Session.SendWhisper("Ocorreu um erro ao encontrar este usuário, talvez ele esteja offline!", 1);
                return;
            }

            int JobRank = TargetClient.GetRoleplay().JobRank;

            if (Session.GetRoleplay().IsDead)
            {
                Session.SendWhisper("Você não pode fazer isso enquanto está morto!", 1);
                return;
            }

            if (Session.GetRoleplay().IsJailed)
            {
                Session.SendWhisper("Você não pode fazer isso enquanto está preso!", 1);
                return;
            }

            if (!Session.GetHabbo().GetPermissions().HasRight("corporation_rights"))
            {
                if (!GroupManager.HasJobCommand(Session, "demote"))
                {
                    Session.SendWhisper("Você não tem um cargo suficientemente alto na empresa para usar este comando!", 1);
                    return;
                }

                if (Session.GetRoleplay().JobId != TargetClient.GetRoleplay().JobId)
                {
                    Session.SendWhisper("Este cidadão não trabalha para você!", 1);
                    return;
                }

                Bubble = 4;
            }

            if (Session.GetHabbo().GetPermissions().HasRight("corporation_rights"))
            {
                Bubble = 23;
            }

            if (!GroupManager.JobExists(TargetClient.GetRoleplay().JobId, (JobRank - 1)))
            {
                Session.SendWhisper("Você não pode mais rebaixar seu trabalhador!", 1);
                return;
            }
            #endregion

            #region Execute
            if (TargetClient.GetRoleplay().IsWorking)
            {
                WorkManager.RemoveWorkerFromList(TargetClient);
                TargetClient.GetRoleplay().IsWorking = false;
                TargetClient.GetHabbo().Poof();

                if (GroupManager.HasJobCommand(TargetClient, "guide"))
                {
                    PlusEnvironment.GetGame().GetGuideManager().RemoveGuide(TargetClient);
                    TargetClient.SendMessage(new HelperToolConfigurationComposer(TargetClient));

                    #region End Existing Calls
                    if (TargetClient.GetRoleplay().GuideOtherUser != null)
                    {
                        TargetClient.GetRoleplay().GuideOtherUser.SendMessage(new OnGuideSessionDetachedComposer(0));
                        TargetClient.GetRoleplay().GuideOtherUser.SendMessage(new OnGuideSessionDetachedComposer(1));
                        if (TargetClient.GetRoleplay().GuideOtherUser.GetRoleplay() != null)
                        {
                            TargetClient.GetRoleplay().GuideOtherUser.GetRoleplay().Sent911Call = false;
                            TargetClient.GetRoleplay().GuideOtherUser.GetRoleplay().GuideOtherUser = null;
                        }

                        TargetClient.GetRoleplay().GuideOtherUser = null;
                        TargetClient.SendMessage(new OnGuideSessionDetachedComposer(0));
                        TargetClient.SendMessage(new OnGuideSessionDetachedComposer(1));
                    }
                    #endregion
                }
            }

            TargetClient.GetRoleplay().JobRank--;

            Group     Job  = GroupManager.GetJob(TargetClient.GetRoleplay().JobId);
            GroupRank Rank = GroupManager.GetJobRank(TargetClient.GetRoleplay().JobId, TargetClient.GetRoleplay().JobRank);

            Job.UpdateJobMember(TargetClient.GetHabbo().Id);
            Session.Shout("*Rebaixa " + TargetClient.GetHabbo().Username + " na empresa " + Job.Name + " para " + Rank.Name + "*", Bubble);
            #endregion
        }
Ejemplo n.º 17
0
        public override void HandleRequest(GameClient Client, string Message)
        {
            if (!OnDuty)
            {
                return;
            }

            if (GetBotRoleplay().WalkingToItem)
            {
                return;
            }

            if (RespondToSpeech(Client, Message))
            {
                return;
            }

            lock (GroupManager.Jobs)
            {
                List <string> JobNames = GroupManager.Jobs.Values.Select(x => x.Name.ToLower()).ToList();
                string        Name     = GetBotRoleplay().Name.ToLower();

                if (Message.ToLower() == "promover")
                {
                    var Job = GroupManager.GetJob(Client.GetRoleplay().JobId);

                    if (Job == null || Job.Id == 1)
                    {
                        string WhisperMessage = "Obter um emprego primeiro!";
                        Client.SendMessage(new WhisperComposer(GetRoomUser().VirtualId, WhisperMessage, 0, 2));
                        return;
                    }

                    if (!GroupManager.JobExists(Job.Id, Client.GetRoleplay().JobRank + 1) || Client.GetRoleplay().JobRank > 3)
                    {
                        string WhisperMessage = "Desculpe, mas não posso promovê-lo mais! Pergunte ao seu fundador corporativo em vez disso!";
                        Client.SendMessage(new WhisperComposer(GetRoomUser().VirtualId, WhisperMessage, 0, 2));
                        return;
                    }

                    if (GroupManager.HasJobCommand(Client, "guide"))
                    {
                        string WhisperMessage = "Desculpe, mas apenas o chefe da polícia pode promovê-lo!";
                        Client.SendMessage(new WhisperComposer(GetRoomUser().VirtualId, WhisperMessage, 0, 2));
                        return;
                    }

                    if (GroupManager.HasJobCommand(Client, "farming"))
                    {
                        string WhisperMessage = "Desculpe, mas os agricultores são promovidos automaticamente ao nivelar a agricultura deles!";
                        Client.SendMessage(new WhisperComposer(GetRoomUser().VirtualId, WhisperMessage, 0, 2));
                        return;
                    }

                    int TimeRequired = Client.GetRoleplay().JobRank * 200;

                    if (Client.GetRoleplay().TimeWorked >= TimeRequired)
                    {
                        var OldJobRank = GroupManager.GetJobRank(Job.Id, Client.GetRoleplay().JobRank);
                        var NewJobRank = GroupManager.GetJobRank(Job.Id, Client.GetRoleplay().JobRank + 1);

                        GetRoomUser().Chat("*Promove " + Client.GetHabbo().Username + " de " + OldJobRank.Name + " para um " + NewJobRank.Name + " na empresa " + Job.Name + "*", true);

                        if (Client.GetRoleplay().IsWorking)
                        {
                            WorkManager.RemoveWorkerFromList(Client);
                            Client.GetRoleplay().IsWorking = false;
                            Client.GetHabbo().Poof();
                        }

                        Client.GetRoleplay().JobRank++;
                        Job.UpdateJobMember(Client.GetHabbo().Id);
                        return;
                    }
                    else
                    {
                        string WhisperMessage = "Desculpe, mas você precisa " + TimeRequired + " minutos trabalhados para ser promovido!";
                        Client.SendMessage(new WhisperComposer(GetRoomUser().VirtualId, WhisperMessage, 0, 2));
                        return;
                    }
                }
                if (Message.ToLower() == Name)
                {
                    GetRoomUser().Chat("Sim " + Client.GetHabbo().Username + ", você quer um emprego?", true);
                }
                else if (Message.ToLower() == "emprego" || Message.ToLower() == "empregos" || Message.ToLower() == "trabalho")
                {
                    StringBuilder    JobList  = new StringBuilder().Append("<------ Trabalhos Disponíveis ------>\n\n");
                    List <GroupRank> JobRanks = GroupManager.Jobs.Values.Where(x => x.Id > 1).Select(x => GroupManager.GetJobRank(x.Id, 1)).Where(x => x != null).ToList();

                    foreach (GroupRank Rank in JobRanks)
                    {
                        Group Job = GroupManager.GetJob(Rank.JobId);

                        if (Job != null && Job.Members.Count < Rank.Limit)
                        {
                            JobList.Append("" + Job.Name + " - Salário R$" + Rank.Pay + " por 15 minutos. [" + (Rank.Limit - Job.Members.Count) + " vagas restantes]\n\n");
                        }
                    }
                    Client.SendMessage(new MOTDNotificationComposer(JobList.ToString()));
                }
                else if (JobNames.Contains(Message.ToLower()))
                {
                    Group Job = GroupManager.Jobs.Values.FirstOrDefault(x => x.Name.ToLower() == Message.ToLower());

                    if (Job == null)
                    {
                        return;
                    }

                    GroupRank JobRank = GroupManager.GetJobRank(Job.Id, 1);

                    if (JobRank == null)
                    {
                        return;
                    }

                    if (Job.Members.Values.Where(x => x.UserRank == 1).ToList().Count < JobRank.Limit)
                    {
                        if (JobRank.HasCommand("guide") && BlackListManager.BlackList.Contains(Client.GetHabbo().Id))
                        {
                            string WhisperMessage = "Desculpe, mas você foi na lista negra de se juntar à corporação policial!";
                            Client.SendMessage(new WhisperComposer(GetRoomUser().VirtualId, WhisperMessage, 0, 2));
                            return;
                        }

                        if (JobRank.HasCommand("guide"))
                        {
                            if (Client.GetRoleplay().Level < 5)
                            {
                                string WhisperMessage = "Desculpe, mas você precisa ser nível 5 ou mais para entrar neste emprego!";
                                Client.SendMessage(new WhisperComposer(GetRoomUser().VirtualId, WhisperMessage, 0, 2));
                                return;
                            }
                        }

                        if (JobRank.HasCommand("exercito"))
                        {
                            if (Client.GetRoleplay().Level < 3)
                            {
                                string WhisperMessage = "Desculpe, mas você precisa ser nível 3 ou mais para entrar neste emprego!";
                                Client.SendMessage(new WhisperComposer(GetRoomUser().VirtualId, WhisperMessage, 0, 2));
                                return;
                            }
                        }

                        if (JobRank.HasCommand("carlos"))
                        {
                            if (Client.GetRoleplay().JobRank < 2)
                            {
                                string WhisperMessage = "Você precisa ser um Cabo do Exército para entrar neste cargo";
                                Client.SendMessage(new WhisperComposer(GetRoomUser().VirtualId, WhisperMessage, 0, 2));
                                return;
                            }
                        }

                        if (Client.GetRoleplay().JobId == Job.Id)
                        {
                            string WhisperMessage = "Você já trabalha na corporação " + Job.Name + "!";
                            Client.SendMessage(new WhisperComposer(GetRoomUser().VirtualId, WhisperMessage, 0, 2));
                            return;
                        }

                        if (Client.GetRoleplay().OfferManager.ActiveOffers.ContainsKey("emprego"))
                        {
                            string WhisperMessage = "Você já recebeu uma oferta de Emprego! Digite ':aceitar emprego' ou ':recusar emprego' ou :ofertas, para ver o que aceitar/recusar!";
                            Client.SendMessage(new WhisperComposer(GetRoomUser().VirtualId, WhisperMessage, 0, 2));
                            return;
                        }

                        Client.GetRoleplay().OfferManager.CreateOffer("emprego", 0, Job.Id, this);
                        Client.SendWhisper("Você acabou de receber um emprego na empresa " + Job.Name + " como um " + JobRank.Name + "! Digite ':aceitar emprego' para aceitar!", 1);
                        GetRoomUser().Chat("*Oferece um emprego para " + Client.GetHabbo().Username + " na Empresa " + Job.Name + "*", true);
                        return;
                    }
                    else
                    {
                        string WhisperMessage = "Desculpe, mas a empresa " + Job.Name + " não está contratando ninguém agora!";
                        Client.SendMessage(new WhisperComposer(GetRoomUser().VirtualId, WhisperMessage, 0, 2));
                        return;
                    }
                }
            }
        }
Ejemplo n.º 18
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            #region Variables
            Group     Gang     = GroupManager.GetGang(Session.GetRoleplay().GangId);
            GroupRank GangRank = GroupManager.GetGangRank(Session.GetRoleplay().GangId, Session.GetRoleplay().GangRank);
            #endregion

            #region Conditions
            if (Gang == null)
            {
                Session.SendWhisper("Você não faz parte de nenhum grupo!", 1);
                return;
            }

            if (Gang.Id <= 1000)
            {
                Session.SendWhisper("Você não faz parte de nenhum grupo!", 1);
                return;
            }

            if (!GroupManager.HasGangCommand(Session, "gtransfer"))
            {
                Session.SendWhisper("Você não possui uma classificação suficientemente alta para usar esse comando!", 1);
                return;
            }

            if (Params.Length < 1)
            {
                Session.SendWhisper("Por favor digite ':gtransferir sim' se tiver certeza de que deseja desistir da sua gangue!", 1);
                return;
            }

            if (Params[1].ToString().ToLower() != "sim")
            {
                Session.SendWhisper("Por favor digite ':gtransferir sim' se tiver certeza de que deseja desistir da sua gangue!", 1);
                return;
            }

            if (Gang.Members.Values.Where(x => x.UserRank == 5).ToList().Count <= 0)
            {
                Session.SendWhisper("Não há co-fundador para transferir a gangue!", 1);
                return;
            }
            #endregion

            #region Execute
            int        GangCoFounder = Gang.Members.Values.FirstOrDefault(x => x.UserRank == 5).UserId;
            GameClient TargetClient  = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(GangCoFounder);

            if (TargetClient == null || TargetClient.GetHabbo() == null || TargetClient.GetRoleplay() == null)
            {
                Session.SendWhisper("Este usuário não pôde ser encontrado, talvez ele esteja offline.", 1);
                return;
            }

            Gang.TransferGangOwnership(Session, TargetClient);
            Session.SendWhisper("Você transferiu sua gangue com sucesso para " + TargetClient.GetHabbo().Username + "!", 1);

            foreach (int Member in Gang.Members.Keys)
            {
                GameClient Client = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Member);

                if (Client == null)
                {
                    continue;
                }

                Client.SendWhisper("[GANGUE] A propriedade da gangue acaba de ser transferida para: " + TargetClient.GetHabbo().Username + "!", 34);
            }
            #endregion
        }
Ejemplo n.º 19
0
        /// <summary>
        /// Gets the look of the user
        /// </summary>
        /// <param name="Client"></param>
        /// <returns></returns>
        public static void GetLookAndMotto(GameClient Client, string Type = "")
        {
            string WorkLook = "";
            string Look     = Client.GetHabbo().Look;
            string Motto    = Client.GetHabbo().Motto;
            string Gender   = Client.GetHabbo().Gender;

            if (Type.ToLower() == "poof")
            {
                Look  = Client.GetRoleplay().OriginalOutfit;
                Motto = Client.GetRoleplay().Class;
            }

            int JobId   = Client.GetRoleplay().JobId;
            int JobRank = Client.GetRoleplay().JobRank;

            Group     Group     = GroupManager.GetJob(JobId);
            GroupRank GroupRank = GroupManager.GetJobRank(JobId, JobRank);

            if (Client.GetRoleplay().IsDead)
            {
                if (Gender.ToLower() == "m")
                {
                    Look = SplitFigure(Look, "lg-280-83.ch-215-83");
                }

                if (Gender.ToLower() == "f")
                {
                    Look = SplitFigure(Look, "lg-710-83.ch-635-83");
                }

                Motto = "[Morto] " + Client.GetRoleplay().Class;
            }

            if (Client.GetRoleplay().IsJailed)
            {
                Random Random       = new Random();
                int    PrisonNumber = Random.Next(11111, 100000);

                if (Gender.ToLower() == "m")
                {
                    Look = SplitFigure(Look, "lg-280-1323.sh-3016-92.ch-220-1323");
                }

                if (Gender.ToLower() == "f")
                {
                    Look = SplitFigure(Look, "lg-710-1323.sh-3016-92.ch-3067-1323");
                }

                if (Client.GetRoleplay().Jailbroken)
                {
                    Motto = "[Encerrado] ID [#" + PrisonNumber + "]";
                }
                else
                {
                    Motto = "[Preso] ID [#" + PrisonNumber + "]";
                }
            }

            if (Client.GetRoleplay().IsWorking)
            {
                if (Gender.ToLower() == "m" && GroupRank.MaleFigure != "*")
                {
                    WorkLook = GroupRank.MaleFigure;
                }

                if (Gender.ToLower() == "f" && GroupRank.FemaleFigure != "*")
                {
                    WorkLook = GroupRank.FemaleFigure;
                }

                Look  = SplitFigure(Look, WorkLook);
                Motto = "[TRABALHANDO] " + GroupRank.Name;
            }

            if (Client.GetRoleplay().SexTimer > 0)
            {
                if (Gender.ToLower() == "m")
                {
                    Look = SplitFigure(Look, "lg-78322-79.ch-3203-153638.-180-7");
                }

                if (Gender.ToLower() == "f")
                {
                    Look = SplitFigure(Look, "ch-3135-1320.lg-78322-66.-600-1");
                }
            }

            Client.SendMessage(new AvatarAspectUpdateMessageComposer(Look, Gender));

            var RoomUser = Client.GetRoomUser();

            if (RoomUser != null)
            {
                Client.GetHabbo().Look = Look;
                if (RoomUser.IsAsleep)
                {
                    Client.GetHabbo().Motto = "[AUSENTE] - " + Motto;
                }
                else
                {
                    Client.GetHabbo().Motto = Motto;
                }

                Client.SendMessage(new UserChangeComposer(RoomUser, true));

                if (Client.GetHabbo().CurrentRoom != null)
                {
                    Client.GetHabbo().CurrentRoom.SendMessage(new UserChangeComposer(RoomUser, false));
                }
            }
        }
Ejemplo n.º 20
0
        public void Parse(GameClient Session, ClientPacket Packet)
        {
            int       GroupId   = Packet.PopInt();
            int       UserId    = Packet.PopInt();
            Group     Group     = null;
            GroupRank GroupRank = null;

            if (GroupId < 1000)
            {
                Group     = GroupManager.GetJob(GroupId);
                GroupRank = GroupManager.GetJobRank(GroupId, 1);
            }
            else
            {
                Group     = GroupManager.GetGang(GroupId);
                GroupRank = GroupManager.GetGangRank(GroupId, 1);
            }

            if (Group == null)
            {
                return;
            }

            if (GroupId < 1000 && !Group.IsMember(Session.GetHabbo().Id) && !Session.GetHabbo().GetPermissions().HasRight("corporation_rights"))
            {
                return;
            }

            bool IsAdmin = false;

            if (Group.IsAdmin(Session.GetHabbo().Id))
            {
                IsAdmin = true;
            }
            if (GroupId < 1000 && Session.GetHabbo().GetPermissions().HasRight("corporation_rights"))
            {
                IsAdmin = true;
            }

            bool IsOwner = false;

            if (Group.CreatorId == Session.GetHabbo().Id)
            {
                IsOwner = true;
            }
            if (GroupId < 1000 && Session.GetHabbo().GetPermissions().HasRight("roleplay_corp_manager"))
            {
                IsOwner = true;
            }

            if (!IsAdmin && !IsOwner)
            {
                return;
            }

            if (!Group.HasRequest(UserId))
            {
                return;
            }

            Habbo Habbo = PlusEnvironment.GetHabboById(UserId);

            if (Habbo == null)
            {
                Session.SendNotification("Opa, ocorreu um erro ao encontrar este usuário.");
                return;
            }

            if (Group.Id < 1000)
            {
                if (GroupRank.HasCommand("guide"))
                {
                    if (BlackListManager.BlackList.Contains(UserId))
                    {
                        Group.HandleRequest(UserId, false);
                        Session.SendMessage(new GroupInfoComposer(Group, Session));
                        Session.SendMessage(new UnknownGroupComposer(Group.Id, UserId));
                        Session.SendWhisper("Desculpe, mas este usuário está na lista negra e não pode se juntar à corporação policial!", 1);
                        return;
                    }
                }
            }

            GameClient Client = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Habbo.Id);

            if (Client != null && Client.GetRoleplay() != null)
            {
                if (Group.Id < 1000)
                {
                    if (Client.GetRoleplay().IsWorking)
                    {
                        Client.GetRoleplay().IsWorking = false;
                        WorkManager.RemoveWorkerFromList(Client);
                    }
                    Client.GetRoleplay().TimeWorked = 0;
                    Client.GetRoleplay().JobId      = Group.Id;
                    Client.GetRoleplay().JobRank    = 1;
                    Client.GetRoleplay().JobRequest = 0;
                }
                else
                {
                    Client.GetRoleplay().GangId      = Group.Id;
                    Client.GetRoleplay().GangRank    = 1;
                    Client.GetRoleplay().GangRequest = 0;
                }
            }

            Group.HandleRequest(UserId, true);
            Group.SendPackets(Client);

            string Username = Habbo == null ? "someone" : Habbo.Username;

            if (Group.Id < 1000)
            {
                Session.SendWhisper("Sucesso, você aceitou " + Username + " na sua empresa '" + Group.Name + "' no cargo '" + GroupRank.Name + "'!", 1);
            }
            else
            {
                Session.SendWhisper("Sucesso, você aceitou" + Username + " na sua gangue '" + Group.Name + "' no cargo '" + GroupRank.Name + "'!", 1);
            }
            Session.SendMessage(new GroupMemberUpdatedComposer(Group.Id, Habbo, 4));
        }
Ejemplo n.º 21
0
        /// <summary>
        /// Pays user after shift
        /// </summary>
        public override void Execute()
        {
            try
            {
                if (base.Client == null || base.Client.GetHabbo() == null || base.Client.GetRoleplay() == null)
                {
                    base.EndTimer();
                    return;
                }

                GuideManager guideManager = PlusEnvironment.GetGame().GetGuideManager();
                GroupRank    JobRank      = GroupManager.GetJobRank(base.Client.GetRoleplay().JobId, base.Client.GetRoleplay().JobRank);

                if (!base.Client.GetRoleplay().IsWorking || base.Client.GetRoleplay().JobId == 1)
                {
                    Client.GetRoleplay().UpdateTimerDialogue("Work-Timer", "remove", (TimeLeft / 60000), OriginalTime);

                    WorkManager.RemoveWorkerFromList(base.Client);
                    base.Client.GetRoleplay().IsWorking = false;
                    base.Client.GetHabbo().Poof();

                    if (GroupManager.HasJobCommand(base.Client, "guide"))
                    {
                        guideManager.RemoveGuide(base.Client);
                        base.Client.SendMessage(new HelperToolConfigurationComposer(base.Client));

                        #region End Existing Calls
                        if (base.Client.GetRoleplay().GuideOtherUser != null)
                        {
                            base.Client.GetRoleplay().GuideOtherUser.SendMessage(new OnGuideSessionDetachedComposer(0));
                            base.Client.GetRoleplay().GuideOtherUser.SendMessage(new OnGuideSessionDetachedComposer(1));
                            if (base.Client.GetRoleplay().GuideOtherUser.GetRoleplay() != null)
                            {
                                base.Client.GetRoleplay().GuideOtherUser.GetRoleplay().Sent911Call = false;
                                base.Client.GetRoleplay().GuideOtherUser.GetRoleplay().GuideOtherUser = null;
                            }

                            base.Client.GetRoleplay().GuideOtherUser = null;
                            base.Client.SendMessage(new OnGuideSessionDetachedComposer(0));
                            base.Client.SendMessage(new OnGuideSessionDetachedComposer(1));
                        }
                        #endregion
                    }
                    base.EndTimer();
                    return;
                }

                if (base.Client.GetRoleplay().CurEnergy <= 0)
                {
                    Client.GetRoleplay().UpdateTimerDialogue("Work-Timer", "remove", (TimeLeft / 60000), OriginalTime);

                    RoleplayManager.Shout(base.Client, "*Para de trabalhar por ficar sem energia*", 4);

                    WorkManager.RemoveWorkerFromList(base.Client);
                    base.Client.GetRoleplay().IsWorking = false;
                    base.Client.GetHabbo().Poof();

                    if (GroupManager.HasJobCommand(base.Client, "guide"))
                    {
                        guideManager.RemoveGuide(base.Client);
                        base.Client.SendMessage(new HelperToolConfigurationComposer(base.Client));

                        #region End Existing Calls
                        if (base.Client.GetRoleplay().GuideOtherUser != null)
                        {
                            base.Client.GetRoleplay().GuideOtherUser.SendMessage(new OnGuideSessionDetachedComposer(0));
                            base.Client.GetRoleplay().GuideOtherUser.SendMessage(new OnGuideSessionDetachedComposer(1));
                            if (base.Client.GetRoleplay().GuideOtherUser.GetRoleplay() != null)
                            {
                                base.Client.GetRoleplay().GuideOtherUser.GetRoleplay().Sent911Call = false;
                                base.Client.GetRoleplay().GuideOtherUser.GetRoleplay().GuideOtherUser = null;
                            }

                            base.Client.GetRoleplay().GuideOtherUser = null;
                            base.Client.SendMessage(new OnGuideSessionDetachedComposer(0));
                            base.Client.SendMessage(new OnGuideSessionDetachedComposer(1));
                        }
                        #endregion
                    }

                    base.EndTimer();
                    return;
                }

                if (base.Client.GetRoomUser() != null)
                {
                    if (base.Client.GetRoomUser().IsAsleep)
                    {
                        Client.GetRoleplay().UpdateTimerDialogue("Work-Timer", "remove", (TimeLeft / 60000), OriginalTime);
                        RoleplayManager.Shout(base.Client, "*Para de trabalhar por ficar ausente*", 4);

                        WorkManager.RemoveWorkerFromList(base.Client);
                        base.Client.GetRoleplay().IsWorking = false;
                        base.Client.GetHabbo().Poof();

                        if (GroupManager.HasJobCommand(base.Client, "guide"))
                        {
                            guideManager.RemoveGuide(base.Client);
                            base.Client.SendMessage(new HelperToolConfigurationComposer(base.Client));

                            #region End Existing Calls
                            if (base.Client.GetRoleplay().GuideOtherUser != null)
                            {
                                base.Client.GetRoleplay().GuideOtherUser.SendMessage(new OnGuideSessionDetachedComposer(0));
                                base.Client.GetRoleplay().GuideOtherUser.SendMessage(new OnGuideSessionDetachedComposer(1));
                                if (base.Client.GetRoleplay().GuideOtherUser.GetRoleplay() != null)
                                {
                                    base.Client.GetRoleplay().GuideOtherUser.GetRoleplay().Sent911Call = false;
                                    base.Client.GetRoleplay().GuideOtherUser.GetRoleplay().GuideOtherUser = null;
                                }

                                base.Client.GetRoleplay().GuideOtherUser = null;
                                base.Client.SendMessage(new OnGuideSessionDetachedComposer(0));
                                base.Client.SendMessage(new OnGuideSessionDetachedComposer(1));
                            }
                            #endregion
                        }

                        base.EndTimer();
                        return;
                    }

                    if (base.Client.GetHabbo().CurrentRoom != null)
                    {
                        if (base.Client.GetHabbo().CurrentRoom.TurfEnabled)
                        {
                            if (GroupManager.HasJobCommand(base.Client, "guide"))
                            {
                                Client.GetRoleplay().UpdateTimerDialogue("Work-Timer", "remove", (TimeLeft / 60000), OriginalTime);

                                WorkManager.RemoveWorkerFromList(base.Client);
                                base.Client.GetRoleplay().IsWorking = false;
                                base.Client.GetHabbo().Poof();

                                guideManager.RemoveGuide(base.Client);
                                base.Client.SendMessage(new HelperToolConfigurationComposer(base.Client));

                                #region End Existing Calls
                                if (base.Client.GetRoleplay().GuideOtherUser != null)
                                {
                                    base.Client.GetRoleplay().GuideOtherUser.SendMessage(new OnGuideSessionDetachedComposer(0));
                                    base.Client.GetRoleplay().GuideOtherUser.SendMessage(new OnGuideSessionDetachedComposer(1));
                                    if (base.Client.GetRoleplay().GuideOtherUser.GetRoleplay() != null)
                                    {
                                        base.Client.GetRoleplay().GuideOtherUser.GetRoleplay().Sent911Call = false;
                                        base.Client.GetRoleplay().GuideOtherUser.GetRoleplay().GuideOtherUser = null;
                                    }

                                    base.Client.GetRoleplay().GuideOtherUser = null;
                                    base.Client.SendMessage(new OnGuideSessionDetachedComposer(0));
                                    base.Client.SendMessage(new OnGuideSessionDetachedComposer(1));
                                }
                                #endregion

                                base.EndTimer();
                                return;
                            }
                        }
                    }
                }

                if (base.Client.GetRoomUser() != null)
                {
                    base.Client.GetRoomUser().IdleTime += 3;
                }

                if (RoleplayManager.JobCAPTCHABox)
                {
                    if (base.Client.GetRoleplay().CaptchaSent)
                    {
                        return;
                    }

                    if (!base.Client.GetRoleplay().CaptchaSent&& base.Client.GetRoleplay().CaptchaTime >= Convert.ToInt32(RoleplayData.GetData("captcha", "jobinterval")))
                    {
                        base.Client.GetRoleplay().CreateCaptcha("Digite o código na caixa para continuar cobrando cheques de pagamento!");
                        return;
                    }
                }

                TimeCount++;
                TimeCount2++;
                TimeLeft -= 1000;

                if (TimeCount == 30 || TimeCount == 60)
                {
                    var Timers = base.Client.GetRoleplay().TimerManager;

                    if (Timers != null)
                    {
                        if (Timers.ActiveTimers != null)
                        {
                            if (Timers.ActiveTimers.ContainsKey("hunger"))
                            {
                                int hungercount = Random.Next(20, 46);
                                Timers.ActiveTimers["hunger"].TimeCount += hungercount;
                            }
                            if (Timers.ActiveTimers.ContainsKey("hygiene"))
                            {
                                int hygienecount = Random.Next(20, 46);
                                Timers.ActiveTimers["hygiene"].TimeCount += hygienecount;
                            }
                        }
                    }
                }

                if (TimeCount2 == 60)
                {
                    base.Client.GetRoleplay().TimeWorked++;
                    TimeCount2 = 0;
                }

                if (TimeLeft > 0)
                {
                    if (TimeCount == 60)
                    {
                        int EnergyLoss = Random.Next(2, 6);

                        if (base.Client.GetRoleplay().CurEnergy - EnergyLoss <= 0)
                        {
                            base.Client.GetRoleplay().CurEnergy = 0;
                        }
                        else
                        {
                            base.Client.GetRoleplay().CurEnergy -= EnergyLoss;
                        }
                        Client.GetRoleplay().UpdateTimerDialogue("Work-Timer", "decrement", (TimeLeft / 60000), OriginalTime);

                        base.Client.SendWhisper("Você irá receber seu pagamento em " + (TimeLeft / 60000) + " minuto(s)! E você perdeu " + EnergyLoss + " energia trabalhando!", 1);
                        TimeCount = 0;
                    }
                    return;
                }

                if (JobRank == null)
                {
                    return;
                }

                int Pay = JobRank.Pay;

                if (base.Client.GetRoleplay().Class.ToLower() == "civilian")
                {
                    Random Random   = new Random();
                    int    ExtraPay = Random.Next(1, 6);

                    Pay += ExtraPay;
                }

                RoleplayManager.Shout(base.Client, "*Recebe meu pagamento*", 4);
                base.Client.SendWhisper("Você recebeu R$" + Pay + "." + (base.Client.GetRoleplay().BankAccount > 0 ? " O salário foi depositado automaticamente em sua conta bancária!" : ""), 1);

                if (base.Client.GetRoleplay().BankAccount > 0)
                {
                    base.Client.GetRoleplay().BankChequings += Pay;
                }
                else
                {
                    base.Client.GetHabbo().Credits += Pay;
                    base.Client.GetHabbo().UpdateCreditsBalance();
                }

                LevelManager.AddLevelEXP(base.Client, GetExp());
                PlusEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Client, QuestType.WORK_CYCLE);

                #region Timer Restart Calculation

                double TimeDivisible2 = Math.Floor(Convert.ToDouble(base.Client.GetRoleplay().TimeWorked) / 15);
                int    TimeRemaining2 = base.Client.GetRoleplay().TimeWorked - Convert.ToInt32(TimeDivisible2) * 15;
                TimeLeft   = (15 - TimeRemaining2) * 60000;
                TimeCount  = 0;
                TimeCount2 = 0;

                #endregion

                base.Client.SendWhisper("Começa a trabalhar no novo turno! Você irá receber seu salário em " + (TimeLeft / 60000) + " minutos!", 1);
                return;
            }
            catch (Exception e)
            {
                Logging.LogRPTimersError("Error in Execute() void: " + e);
                base.EndTimer();
            }
        }