/// <summary> /// Checks to see if the client is jailed, if true send back to jail if not already in one /// </summary> private void JailCheck(GameClient Client, object[] Params) { if (Client.GetRoleplay().IsJailed) { if (Client.GetRoleplay().Jailbroken) { RoleplayManager.GetLookAndMotto(Client); return; } int JailRID = Convert.ToInt32(RoleplayData.GetData("jail", "insideroomid")); int JailRID2 = Convert.ToInt32(RoleplayData.GetData("jail", "outsideroomid")); int CourtRID = Convert.ToInt32(RoleplayData.GetData("court", "roomid")); Room Room = (Room)Params[0]; if (RoleplayManager.Defendant == Client && Room.Id == CourtRID) { RoleplayManager.GetLookAndMotto(Client); RoleplayManager.SpawnChairs(Client, "uni_lectern"); new Thread(() => { Thread.Sleep(500); if (Client.GetRoomUser() != null) { Client.GetRoomUser().Frozen = true; } }).Start(); return; } if (Room.Id != JailRID && Room.Id != JailRID2) { RoleplayManager.SendUser(Client, JailRID); Client.SendNotification("You cannot leave jail until your sentence has expired!"); } if (Room.Id == JailRID) { RoleplayManager.GetLookAndMotto(Client); RoleplayManager.SpawnBeds(Client, "bed_silo_one"); } } else { return; } }
/// <summary> /// Checks to see if the client is dead, if true send back to hospital if not already in one /// </summary> private void DeathCheck(GameClient Client, object[] Params) { if (Client.GetRoleplay().IsDead) { int HospitalRID = Convert.ToInt32(RoleplayData.GetData("hospital", "roomid2")); Room Room = (Room)Params[0]; if (Room.Id != HospitalRID) { RoleplayManager.SendUser(Client, HospitalRID); Client.SendNotification("You cannot leave the hospital while you are dead!"); } RoleplayManager.GetLookAndMotto(Client); RoleplayManager.SpawnBeds(Client, "hosptl_bed"); } else { return; } }
/// <summary> /// Ends the jailbreak /// </summary> public override void Execute() { try { if (!JailbreakManager.JailbreakActivated) { base.EndTimer(); return; } List <GameClient> CurrentJailbrokenUsers = PlusEnvironment.GetGame().GetClientManager().GetClients.Where(x => x != null && x.GetHabbo() != null && x.GetRoleplay() != null && x.GetRoleplay().Jailbroken).ToList(); GameClient UserJailbreaking = JailbreakManager.UserJailbreaking; if (CurrentJailbrokenUsers.Count <= 0) { JailbreakManager.JailbreakActivated = false; if (JailbreakManager.FenceBroken) { Room Room = RoleplayManager.GenerateRoom(Convert.ToInt32(RoleplayData.GetData("jail", "outsideroomid"))); if (Room != null) { JailbreakManager.GenerateFence(Room); } JailbreakManager.FenceBroken = false; } MessagePoliceOfficers(); base.EndTimer(); return; } if (UserJailbreaking != null || UserJailbreaking.GetHabbo().CurrentRoom != null || UserJailbreaking.GetRoomUser() != null) { if (UserJailbreaking.GetHabbo().CurrentRoomId != Convert.ToInt32(RoleplayData.GetData("jail", "outsideroomid"))) { JailbreakManager.JailbreakActivated = false; if (JailbreakManager.FenceBroken) { Room Room = RoleplayManager.GenerateRoom(Convert.ToInt32(RoleplayData.GetData("jail", "outsideroomid"))); if (Room != null) { JailbreakManager.GenerateFence(Room); } JailbreakManager.FenceBroken = false; } foreach (GameClient Client in CurrentJailbrokenUsers) { if (Client == null || Client.GetRoleplay() == null || Client.GetHabbo() == null) { continue; } if (Client.GetRoleplay().Jailbroken&& !JailbreakManager.FenceBroken) { Client.GetRoleplay().Jailbroken = false; } if (Client.GetHabbo().CurrentRoomId == Convert.ToInt32(RoleplayData.GetData("jail", "insideroomid"))) { RoleplayManager.GetLookAndMotto(Client); RoleplayManager.SpawnBeds(Client, "bed_silo_one"); Client.SendNotification("O processo para fuga da prisão parou, então você voltou para ela!"); } else { Client.SendNotification("O processo para fuga da prisão parou, então você voltou para ela!"); RoleplayManager.SendUser(Client, Convert.ToInt32(RoleplayData.GetData("jail", "insideroomid"))); } } MessagePoliceOfficers(); RoleplayManager.Shout(UserJailbreaking, "*Para a fuga*", 4); base.EndTimer(); return; } } TimeCount++; TimeLeft -= 1000; if (TimeLeft > 0) { if (TimeCount == 60) { if (UserJailbreaking != null || UserJailbreaking.GetHabbo().CurrentRoom != null || UserJailbreaking.GetRoomUser() != null) { RoleplayManager.Shout(UserJailbreaking, "*Estou mais perto de terminar a fuga dos prisioneiros [" + (TimeLeft / 60000) + " minutos restantes]*", 4); } TimeCount = 0; } return; } foreach (GameClient Client in CurrentJailbrokenUsers) { if (Client == null || Client.GetRoleplay() == null || Client.GetHabbo() == null) { continue; } RoleplayManager.Shout(Client, "*Escapa completamente da prisão graças a um parceiro*", 4); PlusEnvironment.GetGame().GetAchievementManager().ProgressAchievement(Client, "ACH_Jailbreak", 1); Client.GetRoleplay().Jailbroken = false; Client.GetRoleplay().IsWanted = false; Client.GetRoleplay().IsJailed = false; Client.GetHabbo().Poof(); } if (JailbreakManager.FenceBroken) { Room Room = RoleplayManager.GenerateRoom(Convert.ToInt32(RoleplayData.GetData("jail", "outsideroomid"))); if (Room != null) { JailbreakManager.GenerateFence(Room); } JailbreakManager.FenceBroken = false; } JailbreakManager.JailbreakActivated = false; JailbreakManager.UserJailbreaking = null; base.EndTimer(); return; } catch (Exception e) { Logging.LogRPTimersError("Error in Execute() void: " + e); base.EndTimer(); } }
/// <summary> /// Kills the user normally, sends them to the hospital /// </summary> /// <param name="Client"></param> private void NormalDeath(GameClient Client) { RoleplayManager.Shout(Client, "*Cai no chão desmaiado e morre*", 32); if (Client.GetRoomUser() != null) { Client.GetRoomUser().ApplyEffect(0); } #region Lays User Down if (Client.GetRoomUser() != null) { var User = Client.GetRoomUser(); if (User.isLying) { User.RemoveStatus("lay"); User.isLying = false; } if (User.isSitting) { User.RemoveStatus("sit"); User.isSitting = false; } if ((User.RotBody % 2) == 0) { if (User == null) { return; } try { User.Statusses.Add("lay", "1.0 null"); User.Z -= 0.35; User.isLying = true; User.UpdateNeeded = true; } catch { } } else { User.RotBody--; User.Statusses.Add("lay", "1.0 null"); User.Z -= 0.35; User.isLying = true; User.UpdateNeeded = true; } } #endregion if (Client.GetRoleplay().IsWorking) { WorkManager.RemoveWorkerFromList(Client); Client.GetRoleplay().IsWorking = false; } Client.GetRoleplay().IsDead = true; Client.GetRoleplay().DeadTimeLeft = RoleplayManager.DeathTime; if (Client.GetRoleplay() != null && Client.GetRoleplay().TimerManager != null && Client.GetRoleplay().TimerManager.ActiveTimers != null) { if (Client.GetRoleplay().TimerManager.ActiveTimers.ContainsKey("death")) { Client.GetRoleplay().TimerManager.ActiveTimers["death"].EndTimer(); } Client.GetRoleplay().TimerManager.CreateTimer("death", 1000, true); } PlusEnvironment.GetGame().GetQuestManager().ProgressUserQuest(Client, QuestType.DEATH); int HospitalRID = Convert.ToInt32(RoleplayData.GetData("hospital", "insideroomid")); RoomData roomData = PlusEnvironment.GetGame().GetRoomManager().GenerateRoomData(HospitalRID); if (Client != null && Client.GetHabbo() != null) { if (Client.GetHabbo().CurrentRoomId == HospitalRID) { RoleplayManager.GetLookAndMotto(Client); RoleplayManager.SpawnBeds(Client, "hosptl_bed"); Client.SendMessage(new RoomNotificationComposer("room_death_axe", "message", "Você morreu! Você está sendo levado ao Hospital.")); } else { Client.SendMessage(new RoomNotificationComposer("room_death_axe", "message", "Você morreu! Você está sendo levado ao Hospital.")); RoleplayManager.SendUser(Client, HospitalRID); } } }
public void Execute(GameClient Session, Rooms.Room Room, string[] Params) { if (Params.Length < 3) { Session.SendWhisper("Opa, você esqueceu de inserir um nome de usuário ou o número de estrelas de 1-6!", 1); return; } GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]); if (TargetClient == null) { Session.SendWhisper("Ocorreu um erro ao tentar encontrar esse usuário, talvez ele esteja offline.", 1); return; } var RoomUser = Session.GetRoomUser(); var TargetRoomUser = TargetClient.GetRoomUser(); if (RoomUser == null || TargetRoomUser == null) { return; } if (TargetClient.GetRoleplay().IsJailed) { Session.SendWhisper("Esta pessoa já está presa!", 1); return; } int Stars; if (!int.TryParse(Params[2], out Stars)) { Session.SendWhisper("Digite um número de estrelas válido de 1-6", 1); return; } else { if (Stars < 1 || Stars > 6) { Session.SendWhisper("Digite um número de estrelas válido de 1-6", 1); return; } } int WantedTime = Stars * 5; TargetClient.GetRoleplay().WantedLevel = Stars; if (TargetClient.GetRoleplay().IsDead) { TargetClient.GetRoleplay().IsDead = false; TargetClient.GetRoleplay().ReplenishStats(true); TargetClient.GetHabbo().Poof(); } if (TargetClient.GetRoleplay().IsWorking) { WorkManager.RemoveWorkerFromList(TargetClient); TargetClient.GetRoleplay().IsWorking = false; TargetClient.GetHabbo().Poof(); } if (TargetClient.GetRoleplay().Cuffed) { TargetClient.GetRoleplay().Cuffed = false; } if (TargetClient.GetRoleplay().OnProbation) { TargetClient.GetRoleplay().OnProbation = false; } if (TargetRoomUser.Frozen) { TargetRoomUser.Frozen = false; } TargetClient.GetRoleplay().IsJailed = true; TargetClient.GetRoleplay().JailedTimeLeft = WantedTime; TargetClient.GetRoleplay().TimerManager.CreateTimer("jail", 1000, false); int JailRID = Convert.ToInt32(RoleplayData.GetData("jail", "insideroomid")); if (TargetClient.GetHabbo().CurrentRoomId == JailRID) { RoleplayManager.GetLookAndMotto(TargetClient); RoleplayManager.SpawnBeds(TargetClient, "bed_silo_one"); TargetClient.SendMessage(new RoomNotificationComposer("room_jail_prison", "message", "Você foi preso por " + Session.GetHabbo().Username + " por " + WantedTime + " minutos!")); } else { TargetClient.SendMessage(new RoomNotificationComposer("room_jail_prison", "message", "Você foi preso por " + Session.GetHabbo().Username + " por " + WantedTime + " minutos!")); RoleplayManager.SendUser(TargetClient, JailRID); } if (RoleplayManager.WantedList.ContainsKey(TargetClient.GetHabbo().Id)) { Wanted Junk; RoleplayManager.WantedList.TryRemove(TargetClient.GetHabbo().Id, out Junk); PlusEnvironment.GetGame().GetClientManager().JailAlert("[Alerta RÁDIO] " + TargetClient.GetHabbo().Username + " acabou de ser preso por " + Session.GetHabbo().Username + "! Bom trabalho."); } Session.Shout("*Prende imediatamente o " + TargetClient.GetHabbo().Username + " por " + WantedTime + " minutos*", 23); return; }
public void Parse(GameClient Session, ClientPacket Packet) { RoomUser User = Session.GetRoomUser(); Group Group = GroupManager.GetJob(Session.GetRoleplay().JobId); #region Conditions if (User == null) { return; } if (Group == null) { Session.SendNotification("Somente um policial pode usar esta ferramenta!"); return; } if (Group.Id <= 0) { Session.SendNotification("Somente um policial pode usar esta ferramenta!!"); return; } if (!GroupManager.HasJobCommand(Session, "guide")) { Session.SendNotification("Somente um policial pode usar esta ferramenta!!"); return; } if (Session.GetRoleplay().IsDead) { Session.SendMessage(new HelperToolConfigurationComposer(Session)); Session.SendWhisper("Você não pode trabalhar enquanto está morto!", 1); return; } if (Session.GetRoleplay().IsJailed) { Session.SendMessage(new HelperToolConfigurationComposer(Session)); Session.SendWhisper("Você não pode trabalhar enquanto está preso!", 1); return; } if (Session.GetRoleplay().IsWorkingOut) { Session.SendMessage(new HelperToolConfigurationComposer(Session)); Session.SendWhisper("Você não pode trabalhar enquanto está malhando!", 1); return; } if (Session.GetRoleplay().TimerManager.ActiveTimers.ContainsKey("sendhome")) { Session.SendMessage(new HelperToolConfigurationComposer(Session)); Session.SendWhisper("Você não pode trabalhar enquanto foi enviado para casa!", 1); return; } if (Session.GetRoleplay().Game != null) { Session.SendMessage(new HelperToolConfigurationComposer(Session)); Session.SendWhisper("Você não pode trabalhar enquanto estiver dentro de um evento!", 1); return; } if (GroupManager.HasJobCommand(Session, "guide") && RoleplayManager.PurgeStarted) { Session.SendMessage(new HelperToolConfigurationComposer(Session)); Session.SendWhisper("Você não pode começar a trabalhar como policial enquanto uma purga foi ativada!", 1); return; } if (GroupManager.HasJobCommand(Session, "guide") && Session.GetHabbo().CurrentRoom.RoomData.TurfEnabled&& !RoleplayManager.StartWorkInPoliceHQ) { Session.SendMessage(new HelperToolConfigurationComposer(Session)); Session.SendWhisper("Você não pode trabalhar como policial enquanto está dentro de um território!", 1); return; } if (BlackListManager.BlackList.Contains(Session.GetHabbo().Id)) { Session.SendMessage(new HelperToolConfigurationComposer(Session)); Session.SendWhisper("Desculpe, mas você está na lista negra da corporação policial!", 1); return; } #endregion GuideManager guideManager = PlusEnvironment.GetGame().GetGuideManager(); bool onDuty = Packet.PopBoolean(); Session.GetRoleplay().HandlingCalls = Packet.PopBoolean(); Session.GetRoleplay().HandlingJailbreaks = Packet.PopBoolean(); Session.GetRoleplay().HandlingHeists = Packet.PopBoolean(); if (onDuty) { if (Session.GetRoleplay().TryGetCooldown("startwork", true)) { Session.SendMessage(new HelperToolConfigurationComposer(Session)); return; } if (Session.GetRoleplay().CurEnergy <= 0) { Session.SendMessage(new HelperToolConfigurationComposer(Session)); Session.SendWhisper("Você não tem energia para trabalhar!", 1); return; } if (!Session.GetRoleplay().IsWorking) { Session.GetRoleplay().IsWorking = true; guideManager.AddGuide(Session); Session.Shout("*Começa a trabalhar como " + GroupManager.GetJob(Session.GetRoleplay().JobId).Name + " no cargo " + GroupManager.GetJobRank(Session.GetRoleplay().JobId, Session.GetRoleplay().JobRank).Name + "*", 4); RoleplayManager.GetLookAndMotto(Session); WorkManager.AddWorkerToList(Session); Session.GetRoleplay().TimerManager.CreateTimer("work", 1000, true); Session.GetRoleplay().CooldownManager.CreateCooldown("startwork", 1000, 10); if (Session.GetHabbo().CurrentRoomId != Convert.ToInt32(RoleplayData.GetData("police", "headquartersroomid"))) { if (RoleplayManager.StartWorkInPoliceHQ) { RoleplayManager.SendUser(Session, Convert.ToInt32(RoleplayData.GetData("police", "headquartersroomid"))); } } } } else { if (Session.GetRoleplay().TryGetCooldown("stopwork", true)) { Session.SendMessage(new HelperToolConfigurationComposer(Session)); return; } if (Session.GetRoleplay().IsWorking) { Session.GetRoleplay().IsWorking = false; guideManager.RemoveGuide(Session); Session.Shout("*Para de trabalhar como " + GroupManager.GetJob(Session.GetRoleplay().JobId).Name + " [" + GroupManager.GetJobRank(Session.GetRoleplay().JobId, Session.GetRoleplay().JobRank).Name + "]*", 4); WorkManager.RemoveWorkerFromList(Session); Session.GetHabbo().Poof(); Session.GetRoleplay().CooldownManager.CreateCooldown("stopwork", 1000, 10); } } Session.SendMessage(new HelperToolConfigurationComposer(Session)); }
public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params) { #region Conditions if (Params.Length == 1) { Session.SendWhisper("Opa, você esqueceu de inserir um nome de usuário!", 1); return; } GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]); if (TargetClient == null) { Session.SendWhisper("Ocorreu um erro ao tentar encontrar esse usuário, talvez ele esteja offline.", 1); return; } RoomUser RoomUser = Session.GetRoomUser(); RoomUser TargetUser = Room.GetRoomUserManager().GetRoomUserByHabbo(TargetClient.GetHabbo().Username); if (TargetUser == null) { Session.SendWhisper("Ocorreu um erro ao encontrar esse usuário, talvez ele não esteja online ou nesta sala.", 1); return; } if (Session.GetRoleplay().TryGetCooldown("sexo")) { return; } if (Session.GetRoleplay().MarriedTo == 0) { Session.SendWhisper("Você não pode completar esta ação quando não é casado(a)!", 1); return; } if (Session.GetRoleplay().MarriedTo != TargetClient.GetHabbo().Id) { Session.SendWhisper("Você só pode fazer sexo com sua esposa/seu esposo!", 1); return; } if (TargetClient.GetRoleplay().IsDead) { Session.SendWhisper("Você não pode fazer sexo com alguém que está morto!", 1); return; } if (TargetClient.GetRoleplay().Game != null) { Session.SendWhisper("Você não pode fazer sexo com alguém enquanto estiver dentro de um evento!", 1); return; } if (TargetUser.IsAsleep) { Session.SendWhisper("Você não pode fazer sexo com alguém está ausente!", 1); return; } #endregion #region Execute Point ClientPos = new Point(RoomUser.X, RoomUser.Y); Point TargetClientPos = new Point(TargetUser.X, TargetUser.Y); double Distance = RoleplayManager.GetDistanceBetweenPoints2D(ClientPos, TargetClientPos); if (Distance <= 1) { if (Session.GetHabbo().Gender.ToLower().StartsWith("m") && TargetClient.GetHabbo().Gender.ToLower().StartsWith("f")) { Session.Shout("*Agarra " + TargetClient.GetHabbo().Username + " pelos quadris e deixe-o no chão, tirando suas roupas*", 16); RoleplayManager.Shout(TargetClient, "*Gemidos de " + Session.GetHabbo().Username + " quando empurra seu pênis dentro dela*", 16); } else if (Session.GetHabbo().Gender.ToLower().StartsWith("f") && TargetClient.GetHabbo().Gender.ToLower().StartsWith("m")) { Session.Shout("*Pushes " + TargetClient.GetHabbo().Username + " down onto the floor, climbing ontop of him and sliding his clothes off*", 16); RoleplayManager.Shout(TargetClient, "*Gemidos de " + Session.GetHabbo().Username + " quando desliza o dedo dentro dela*", 16); } else if (Session.GetHabbo().Gender.ToLower().StartsWith("m") && TargetClient.GetHabbo().Gender.ToLower().StartsWith("m")) { Session.Shout("*Agarra " + TargetClient.GetHabbo().Username + " pelo peito e abate-o, tirando a roupa*", 16); RoleplayManager.Shout(TargetClient, "*Gemidos de prazer de " + Session.GetHabbo().Username + " saltando para cima e para baixo seu pau*", 16); } else if (Session.GetHabbo().Gender.ToLower().StartsWith("f") && TargetClient.GetHabbo().Gender.ToLower().StartsWith("f")) { Session.Shout("*Empurra " + TargetClient.GetHabbo().Username + " descendo no chão, subindo sobre ela e deslizando as roupas dela*", 16); RoleplayManager.Shout(TargetClient, "*Gemidos de " + Session.GetHabbo().Username + " quando os dedos deslizam dentro dela*", 16); } else { Session.Shout("*Faz amor doce com " + TargetClient.GetHabbo().Username + "*", 16); RoleplayManager.Shout(TargetClient, "*Gemidos dos movimentos de " + Session.GetHabbo().Username + "*", 16); } Session.GetRoleplay().CooldownManager.CreateCooldown("sexo", 1000, 60); RoomUser.ApplyEffect(507); TargetUser.ApplyEffect(507); Session.GetRoleplay().SexTimer = 15; TargetClient.GetRoleplay().SexTimer = 15; RoleplayManager.GetLookAndMotto(Session); RoleplayManager.GetLookAndMotto(TargetClient); return; } else { Session.SendWhisper("Você deve se aproximar desse cidadão para fazer sexo com ele!", 1); return; } #endregion }
public void Execute(GameClient Session, Rooms.Room Room, string[] Params) { #region Conditions if (Params.Length == 1) { Session.SendWhisper("Opa, você esqueceu de inserir um nome de usuário!", 1); return; } GameClient TargetClient = PlusEnvironment.GetGame().GetClientManager().GetClientByUsername(Params[1]); if (TargetClient == null) { Session.SendWhisper("Ocorreu um erro ao tentar encontrar esse usuário, talvez ele esteja offline.", 1); return; } RoomUser RoomUser = Session.GetRoomUser(); RoomUser TargetUser = Room.GetRoomUserManager().GetRoomUserByHabbo(TargetClient.GetHabbo().Username); if (TargetUser == null) { Session.SendWhisper("Ocorreu um erro ao encontrar esse usuário, talvez ele não esteja online ou nesta sala.", 1); return; } if (TargetUser == 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().IsDead) { Session.SendWhisper("Você não pode escoltar alguém que está morto!", 1); return; } if (TargetClient.GetRoleplay().IsJailed&& !TargetClient.GetRoleplay().Jailbroken) { Session.SendWhisper("Você não pode escoltar alguém que já está preso!", 1); return; } if (!TargetClient.GetRoleplay().Cuffed) { Session.SendWhisper("Você não pode escoltar alguém que não está algemado!", 1); return; } if (TargetUser.IsAsleep) { Session.SendWhisper("Você não pode escoltar alguém que está ausente!", 1); return; } if (TargetClient == Session) { Session.SendWhisper("Você não pode se escoltar!", 1); return; } if (!TargetClient.GetRoleplay().Jailbroken) { if (!RoleplayManager.WantedList.ContainsKey(TargetClient.GetHabbo().Id)) { if (TargetClient.GetRoleplay().TimerManager.ActiveTimers.ContainsKey("probation")) { TargetClient.GetRoleplay().TimerManager.ActiveTimers["probation"].EndTimer(); } TargetClient.GetRoleplay().IsWanted = true; TargetClient.GetRoleplay().WantedLevel = 1; TargetClient.GetRoleplay().WantedTimeLeft = 10; TargetClient.GetRoleplay().TimerManager.CreateTimer("procurado", 1000, false); RoleplayManager.WantedList.TryUpdate(TargetClient.GetHabbo().Id, new Wanted(Convert.ToUInt32(TargetClient.GetHabbo().Id), Room.Id.ToString(), 1), RoleplayManager.WantedList[TargetClient.GetHabbo().Id]); } } #endregion #region Execute Point ClientPos = new Point(RoomUser.X, RoomUser.Y); Point TargetClientPos = new Point(TargetUser.X, TargetUser.Y); double Distance = RoleplayManager.GetDistanceBetweenPoints2D(ClientPos, TargetClientPos); Wanted Wanted = RoleplayManager.WantedList.ContainsKey(TargetClient.GetHabbo().Id) ? RoleplayManager.WantedList[TargetClient.GetHabbo().Id] : null; int WantedTime = Wanted == null ? 6 : Wanted.WantedLevel * 5; if (Distance <= 1) { if (TargetClient.GetRoleplay().IsWorking) { WorkManager.RemoveWorkerFromList(TargetClient); TargetClient.GetRoleplay().IsWorking = false; TargetClient.GetHabbo().Poof(); } Session.Shout("*Algema as mãos de " + TargetClient.GetHabbo().Username + ", coloca as algemas e prende por " + WantedTime + " minutos*", (GroupManager.HasJobCommand(Session, "guide") && Session.GetRoleplay().IsWorking ? 37 : 4)); TargetClient.GetRoleplay().Cuffed = false; TargetClient.GetRoomUser().ApplyEffect(0); if (TargetClient.GetHabbo().Look.Contains("lg-78322")) { if (!TargetClient.GetRoleplay().WantedFor.Contains("exposição indecente")) { TargetClient.GetRoleplay().WantedFor = TargetClient.GetRoleplay().WantedFor + "exposição indecente, "; } } if (TargetUser.Frozen) { TargetUser.Frozen = false; } if (!TargetClient.GetRoleplay().IsJailed) { TargetClient.GetRoleplay().IsJailed = true; TargetClient.GetRoleplay().JailedTimeLeft = WantedTime; TargetClient.GetRoleplay().TimerManager.CreateTimer("jail", 1000, false); } if (TargetClient.GetRoleplay().Jailbroken&& !JailbreakManager.FenceBroken) { TargetClient.GetRoleplay().Jailbroken = false; } int JailRID = Convert.ToInt32(RoleplayData.GetData("jail", "insideroomid")); if (TargetClient.GetHabbo().CurrentRoomId == JailRID) { RoleplayManager.GetLookAndMotto(TargetClient); RoleplayManager.SpawnBeds(TargetClient, "bed_silo_one"); TargetClient.SendMessage(new RoomNotificationComposer("room_jail_prison", "message", "Você foi escoltado por " + Session.GetHabbo().Username + " por " + WantedTime + " minutos!")); } else { TargetClient.SendMessage(new RoomNotificationComposer("room_jail_prison", "message", "Você foi escoltado por " + Session.GetHabbo().Username + " por " + WantedTime + " minutos!")); RoleplayManager.SendUser(TargetClient, JailRID); } PlusEnvironment.GetGame().GetClientManager().JailAlert("[Alerta RÁDIO] " + TargetClient.GetHabbo().Username + " acabou de ser escoltado para a prisão por " + Session.GetHabbo().Username + "!"); PlusEnvironment.GetGame().GetAchievementManager().ProgressAchievement(Session, "ACH_Arrests", 1); Session.GetRoleplay().Arrests++; PlusEnvironment.GetGame().GetAchievementManager().ProgressAchievement(TargetClient, "ACH_Arrested", 1); TargetClient.GetRoleplay().Arrested++; return; } else { Session.SendWhisper("Você deve se aproximar desse cidadão para escoltá-lo!", 1); return; } #endregion }
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 }