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(); }
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; }
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)); }
public static bool IsGroupRank(Player player, GroupRank groupRank) { foreach (GroupRank g in player.ActiveCharacter.GroupRanks) { if (g == groupRank) { return(true); } } return(false); }
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 }
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; } }
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 }
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 }
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())); } } }
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); } } }
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; } }
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())); }
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(); }
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 }
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)); }
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 }
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; } } } }
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 }
/// <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)); } } }
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)); }
/// <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(); } }