private void Event_OnClientEventTrigger(Client sender, string eventName, params object[] arguments) { //args[0] to index na liście pozycji if (eventName == "OnPlayerSelectedCrimeBotDiscrict") { AccountEntity player = sender.GetAccountEntity(); if (player.CharacterEntity.OnDutyGroup is CrimeGroup group && group.CanPlayerCallCrimeBot(player)) { if (group.CrimePedEntity != null) { // crime bot already spawned sender.SendChatMessage("~#ffdb00~", "Wybrany abonent ma wyłączony telefon, bądź znajduje się poza zasięgiem, spróbuj później."); return; } RoleplayContext ctx = Singletons.RoleplayContextFactory.Create(); using (CrimeBotsRepository repository = new CrimeBotsRepository(ctx)) { CrimeBotModel crimeBotData = repository.Get(crimeBot => crimeBot.GroupModel.Id == group.Id); CrimeBotPosition position = XmlHelper.GetXmlObjects <CrimeBotPosition>( Path.Combine(Utils.XmlDirectory, "CrimeBotPositions"))[Convert.ToInt32(arguments[0])]; group.CrimePedEntity = new CrimePedEntity(player, group, position.VehiclePosition, crimeBotData.Name, NAPI.Util.PedNameToModel(crimeBotData.PedSkin), position.BotPosition); group.CrimePedEntity.Spawn(); sender.TriggerEvent("DrawCrimeBotComponents", position.BotPosition.Position, 500, 2); } } else { sender.SendChatMessage("~#ffdb00~", "Wybrany abonent ma wyłączony telefon, bądź znajduje się poza zasięgiem, spróbuj później."); } }
public void DeleteCrimeBotPosition(Client sender, string name = "") { CrimeBotPosition position = null; List <CrimeBotPosition> positions = XmlHelper .GetXmlObjects <CrimeBotPosition>(Path.Combine(Utils.XmlDirectory, "CrimeBotPositions")); if (name != "") { position = positions.OrderBy(a => a.BotPosition.Position.DistanceTo(sender.Position)).First(); } else { if (positions.Any(f => f.Name == name)) { position = positions.First(x => x.Name == name); } } if (position != null && XmlHelper.TryDeleteXmlObject(position.FilePath)) { sender.SendInfo("Usuwanie pozycji bota zakończyło się pomyślnie."); } else { sender.SendError("Usuwanie pozycji bota zakończyło się niepomyślnie."); } }