public static void OpenHotelManageMenu(Client player) { Menu menu = new Menu("hotelmanage", false, false); menu.Callback += callback_hotelmanage; Menu.Item menuItem = new Menu.Item("header", Menu.MenuItem.Header); menuItem.Text = $"Отель"; menu.Add(menuItem); menuItem = new Menu.Item("info", Menu.MenuItem.Card); menuItem.Text = $"Аренда оплачена на {Main.Players[player].HotelLeft}ч"; menu.Add(menuItem); menuItem = new Menu.Item("extend", Menu.MenuItem.Button); menuItem.Text = "Продлить аренду"; menu.Add(menuItem); menuItem = new Menu.Item("moveout", Menu.MenuItem.Button); menuItem.Text = "Выселиться"; menu.Add(menuItem); menuItem = new Menu.Item("close", Menu.MenuItem.Button); menuItem.Text = "Закрыть"; menu.Add(menuItem); menu.Open(player); }
public static void openGoPostalStart(Client player) { Menu menu = new Menu("gopostal", false, false); menu.Callback = callback_gpStartMenu; Menu.Item menuItem = new Menu.Item("header", Menu.MenuItem.Header); menuItem.Text = "Склад"; menu.Add(menuItem); menuItem = new Menu.Item("start", Menu.MenuItem.Button); menuItem.Text = "Начать работу"; menu.Add(menuItem); menuItem = new Menu.Item("get", Menu.MenuItem.Button); menuItem.Text = "Взять посылки"; menu.Add(menuItem); menuItem = new Menu.Item("finish", Menu.MenuItem.Button); menuItem.Text = "Закончить работу"; menu.Add(menuItem); menuItem = new Menu.Item("close", Menu.MenuItem.Button); menuItem.Text = "Закрыть"; menu.Add(menuItem); menu.Open(player); }
public static void OpenHospitalStockMenu(Client player) { Menu menu = new Menu("hospitalstock", false, false); menu.Callback = callback_hospitalstock; Menu.Item menuItem = new Menu.Item("header", Menu.MenuItem.Header); menuItem.Text = $"Склад ({Stocks.fracStocks[8].Medkits}шт)"; menu.Add(menuItem); menuItem = new Menu.Item("takemed", Menu.MenuItem.Button); menuItem.Text = "Взять аптечку"; menu.Add(menuItem); menuItem = new Menu.Item("putmed", Menu.MenuItem.Button); menuItem.Text = "Положить аптечку"; menu.Add(menuItem); menuItem = new Menu.Item("tazer", Menu.MenuItem.Button); menuItem.Text = "Взять электрошокер"; menu.Add(menuItem); menuItem = new Menu.Item("close", Menu.MenuItem.Button); menuItem.Text = "Закрыть"; menu.Add(menuItem); menu.Open(player); }
private static void callback_tattoodelete(Client client, Menu menu, Menu.Item item, string eventName, dynamic data) { if (item.ID == "close") { MenuManager.Close(client); return; } var zone = Enum.Parse <TattooZones>(item.ID); if (Customization.CustomPlayerData[Main.Players[client].UUID].Tattoos[Convert.ToInt32(zone)].Count == 0) { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, "У Вас нет татуировок в этой зоне", 3000); return; } if (!MoneySystem.Wallet.Change(client, -600)) { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, "Недостаточно средств", 3000); return; } GameLog.Money($"player({Main.Players[client].UUID})", $"server", 600, $"tattooRemove"); Fractions.Stocks.fracStocks[6].Money += 600; foreach (var tattoo in Customization.CustomPlayerData[Main.Players[client].UUID].Tattoos[Convert.ToInt32(zone)]) { var decoration = new Decoration(); decoration.Collection = NAPI.Util.GetHashKey(tattoo.Dictionary); decoration.Overlay = NAPI.Util.GetHashKey(tattoo.Hash); client.RemoveDecoration(decoration); } Customization.CustomPlayerData[Main.Players[client].UUID].Tattoos[Convert.ToInt32(zone)] = new List <Tattoo>(); client.SetSharedData("TATTOOS", Newtonsoft.Json.JsonConvert.SerializeObject(Customization.CustomPlayerData[Main.Players[client].UUID].Tattoos)); Notify.Send(client, NotifyType.Success, NotifyPosition.BottomCenter, "Вы свели татуировки с " + TattooZonesNames[Convert.ToInt32(zone)], 3000); }
private static void callback_hotelbuy(Client player, Menu menu, Menu.Item item, string eventName, dynamic data) { switch (item.ID) { case "rent": if (Houses.HouseManager.GetHouse(player) != null) { Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, "Вы проживаете в доме и не можете арендовать комнату в отеле", 3000); return; } if (!MoneySystem.Wallet.Change(player, -HotelRent)) { Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, "Недостаточно средств", 3000); return; } GameLog.Money($"player({Main.Players[player].UUID})", $"server", HotelRent, $"hotelRent"); Main.Players[player].HotelID = player.GetData("HOTEL_ID"); Main.Players[player].HotelLeft = 1; Notify.Send(player, NotifyType.Info, NotifyPosition.BottomCenter, $"Вы арендовали комнату в отеле на 1ч. Продлить аренду можно в телефоне (M)", 3000); SendToRoom(player); MenuManager.Close(player); return; case "close": MenuManager.Close(player); return; } }
protected IList <TestableEditorElements.MenuOption> ConvertFromConfigurationOptionsToGenericMenuOptions(IList <Menu.Option <T> > options, object currentValue, Action <object> changeValueCallback) { return(options.Select <Menu.Option <T>, TestableEditorElements.MenuOption>(menuOption => { Menu.Separator <T> separator = menuOption as Menu.Separator <T>; Menu.DisabledItem <T> disabled = menuOption as Menu.DisabledItem <T>; Menu.Item <T> item = menuOption as Menu.Item <T>; if (separator != null) { return new TestableEditorElements.MenuSeparator(separator.PathToSubmenu); } if (disabled != null) { return new TestableEditorElements.DisabledMenuItem(disabled.Label); } if (item != null) { return new TestableEditorElements.MenuItem(item.DisplayedName, false, () => ChangeValue(() => item.GetNewItem(), () => currentValue, changeValueCallback)); } throw new InvalidCastException("There is a closed list of implementations of AddItemMenuOption."); }).ToList()); }
public void Test_GetItemByMealNumber() { var menurepo = new MenuRepo(); var item = new Menu.Item(); int mealnumber = item.MealNumber; menurepo.GetMealByNumber(mealnumber); Assert.IsNotNull(item); }
public void Test_RemoveItem() { var initialcount = _listofItems.Count; var menurepo = new MenuRepo(); var item = new Menu.Item(); menurepo.RemoveItem(item.MealNumber); Assert.AreNotEqual(initialcount, _listofItems.Count); }
private static void callback_driveschool(Client client, Menu menu, Menu.Item item, string eventName, dynamic data) { MenuManager.Close(client); if (item.ID == "close") { return; } var id = item.ID.Split('_')[1]; startDrivingCourse(client, Convert.ToInt32(id)); return; }
public static void OpenArmyCombatMenu(Client player) { Menu menu = new Menu("armycombat", false, false); menu.Callback = callback_armycombat; Menu.Item menuItem = new Menu.Item("header", Menu.MenuItem.Header); menuItem.Text = "Боевая форма"; menu.Add(menuItem); menuItem = new Menu.Item("cam1", Menu.MenuItem.Button); menuItem.Text = "Песочный камуфляж"; menu.Add(menuItem); menuItem = new Menu.Item("cam2", Menu.MenuItem.Button); menuItem.Text = "Городской камуфляж"; menu.Add(menuItem); menuItem = new Menu.Item("cam3", Menu.MenuItem.Button); menuItem.Text = "Зеленый камуфляж"; menu.Add(menuItem); menuItem = new Menu.Item("cam4", Menu.MenuItem.Button); menuItem.Text = "Черно-зеленый камфуляж"; menu.Add(menuItem); menuItem = new Menu.Item("cam5", Menu.MenuItem.Button); menuItem.Text = "Какой-то камфуляж"; menu.Add(menuItem); menuItem = new Menu.Item("cam6", Menu.MenuItem.Button); menuItem.Text = "И ещё один камфуляж"; menu.Add(menuItem); menuItem = new Menu.Item("cam7", Menu.MenuItem.Button); menuItem.Text = "Форма Лётчиков"; menu.Add(menuItem); menuItem = new Menu.Item("cam8", Menu.MenuItem.Button); menuItem.Text = "Форма №15"; menu.Add(menuItem); menuItem = new Menu.Item("takeoff", Menu.MenuItem.Button); menuItem.Text = "Снять форму"; menu.Add(menuItem); menuItem = new Menu.Item("back", Menu.MenuItem.Button); menuItem.Text = "Назад"; menu.Add(menuItem); menu.Open(player); }
public void Test_AddItem() { var menurepo = new MenuRepo(); Menu.Item item = new Menu.Item(); menurepo.AddItem(item); var addList = menurepo.GetItemList(); var addcount = addList.Count; var listcount = _listofItems.Count; Assert.AreNotEqual(listcount, addList); }
private static void callback_safedoor(Client player, Menu menu, Menu.Item item, string eventName, dynamic data) { switch (item.ID) { case "change": MenuManager.Close(player); if (Main.Players[player].FractionID == 6 && Main.Players[player].FractionLVL >= 14) { if (isCracking) { Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"Невозможно сделать это сейчас", 3000); return; } if (!canBeClosed) { Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"Невозможно сделать это сейчас", 3000); return; } if (isOpen) { isOpen = false; Doormanager.SetDoorLocked(2, true, 0); } else { isOpen = true; Doormanager.SetDoorLocked(2, true, 45f); } string msg = "Вы закрыли дверь"; if (isOpen) { msg = "Вы открыли дверь"; } Notify.Send(player, NotifyType.Success, NotifyPosition.BottomCenter, msg, 3000); } else { Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, $"Вы не можете сделать это", 3000); } return; case "crack": MenuManager.Close(player); startSafeDoorCracking(player); return; case "close": MenuManager.Close(player); return; } }
static void Generate() { if (Menu.Selected.Items.Count > 0) { return; } for (var i = 0; i < 50; ++i) { var sub = new Menu.Item("Dynamic - " + i, Print); Menu.Selected.Add(sub); } }
public static void OpenTattooDeleteMenu(Client player) { Menu menu = new Menu("tattoodelete", false, false); menu.Callback = callback_tattoodelete; Menu.Item menuItem = new Menu.Item("header", Menu.MenuItem.Header); menuItem.Text = $"Сведение татуировок"; menu.Add(menuItem); menuItem = new Menu.Item("header", Menu.MenuItem.Card); menuItem.Text = $"Выберите зону, в которой хотите свести все татуировки. Стоимость сведения в одной зоне - 3000$"; menu.Add(menuItem); menuItem = new Menu.Item("Torso", Menu.MenuItem.Button); menuItem.Text = "Торс"; menu.Add(menuItem); menuItem = new Menu.Item("Head", Menu.MenuItem.Button); menuItem.Text = "Голова"; menu.Add(menuItem); menuItem = new Menu.Item("LeftArm", Menu.MenuItem.Button); menuItem.Text = "Левая рука"; menu.Add(menuItem); menuItem = new Menu.Item("RightArm", Menu.MenuItem.Button); menuItem.Text = "Правая рука"; menu.Add(menuItem); menuItem = new Menu.Item("LeftLeg", Menu.MenuItem.Button); menuItem.Text = "Левая нога"; menu.Add(menuItem); menuItem = new Menu.Item("RightLeg", Menu.MenuItem.Button); menuItem.Text = "Правая нога"; menu.Add(menuItem); menuItem = new Menu.Item("close", Menu.MenuItem.Button); menuItem.Text = "Закрыть"; menu.Add(menuItem); menu.Open(player); }
private static void callback_armyclothes(Client client, Menu menu, Menu.Item item, string eventName, dynamic data) { switch (item.ID) { case "change": if (Main.Players[client].FractionLVL < 6) { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, $"Вы не можете переодеться/раздеться", 3000); return; } if (!client.GetData("ON_DUTY")) { Notify.Send(client, NotifyType.Success, NotifyPosition.BottomCenter, $"Вы переоделись в служебную форму", 3000); Manager.setSkin(client, 14, Main.Players[client].FractionLVL); client.SetData("ON_DUTY", true); } else { Notify.Send(client, NotifyType.Success, NotifyPosition.BottomCenter, $"Вы переоделись в повседневную одежду", 3000); Customization.ApplyCharacter(client); if (client.HasData("HAND_MONEY")) { client.SetClothes(5, 45, 0); } else if (client.HasData("HEIST_DRILL")) { client.SetClothes(5, 41, 0); } client.SetData("ON_DUTY", false); } return; case "combat": MenuManager.Close(client); OpenArmyCombatMenu(client); return; case "close": MenuManager.Close(client); return; } }
private static void callback_hotelmanage(Client player, Menu menu, Menu.Item item, string eventName, dynamic data) { switch (item.ID) { case "extend": MenuManager.Close(player); Trigger.ClientEvent(player, "openInput", $"Продлить аренду ({HotelRent}$/ч)", "Введите количество часов", 1, "extend_hotel_rent"); return; case "moveout": MoveOutPlayer(player); Notify.Send(player, NotifyType.Info, NotifyPosition.BottomCenter, "Вы выселились из отеля", 3000); MenuManager.Close(player); return; case "close": MenuManager.Close(player); return; } }
protected override void FirstUpdate() { Menu menu = new Menu(Canvas.Palette, Selection(3, 20, 84, (_availableGovernments.Length * Resources.Instance.GetFontHeight(0)))) { X = 103, Y = 84, Width = 82, ActiveColour = 11, TextColour = 5, FontId = 0 }; Menu.Item menuItem; for (int i = 0; i < _availableGovernments.Length; i++) { menu.Items.Add(menuItem = new Menu.Item($"{_availableGovernments[i].NameAdjective}", i)); menuItem.Selected += GovernmentChoice; } AddMenu(menu); }
public static void OpenDriveSchoolMenu(Client player) { Menu menu = new Menu("driveschool", false, false); menu.Callback = callback_driveschool; Menu.Item menuItem = new Menu.Item("header", Menu.MenuItem.Header); menuItem.Text = "Лицензии"; menu.Add(menuItem); menuItem = new Menu.Item("lic_0", Menu.MenuItem.Button); menuItem.Text = $"Мотоциклы (A) - {LicPrices[0]}$"; menu.Add(menuItem); menuItem = new Menu.Item("lic_1", Menu.MenuItem.Button); menuItem.Text = $"Легковые машины (B) - {LicPrices[1]}$"; menu.Add(menuItem); menuItem = new Menu.Item("lic_2", Menu.MenuItem.Button); menuItem.Text = $"Грузовые машины (C) - {LicPrices[2]}$"; menu.Add(menuItem); menuItem = new Menu.Item("lic_3", Menu.MenuItem.Button); menuItem.Text = $"Водный транспорт (V) - {LicPrices[3]}$"; menu.Add(menuItem); menuItem = new Menu.Item("lic_4", Menu.MenuItem.Button); menuItem.Text = $"Вертолёты (LV) - {LicPrices[4]}$"; menu.Add(menuItem); menuItem = new Menu.Item("lic_5", Menu.MenuItem.Button); menuItem.Text = $"Самолёты (LS) - {LicPrices[5]}$"; menu.Add(menuItem); menuItem = new Menu.Item("close", Menu.MenuItem.Button); menuItem.Text = "Закрыть"; menu.Add(menuItem); menu.Open(player); }
public static void OpenSpecialPoliceMenu(Client player) { Menu menu = new Menu("policeSpecial", false, false); menu.Callback += callback_policeSpecial; Menu.Item menuItem = new Menu.Item("header", Menu.MenuItem.Header); menuItem.Text = "Оружейная"; menu.Add(menuItem); menuItem = new Menu.Item("changeclothes", Menu.MenuItem.Button); menuItem.Text = "Переодеться"; menu.Add(menuItem); menuItem = new Menu.Item("pistol50", Menu.MenuItem.Button); menuItem.Text = "Desert Eagle"; menu.Add(menuItem); menuItem = new Menu.Item("carbineRifle", Menu.MenuItem.Button); menuItem.Text = "Штурмовая винтовка"; menu.Add(menuItem); menuItem = new Menu.Item("riflesammo", Menu.MenuItem.Button); menuItem.Text = "Автоматный калибр x30"; menu.Add(menuItem); menuItem = new Menu.Item("heavyshotgun", Menu.MenuItem.Button); menuItem.Text = "Тяжелый дробовик"; menu.Add(menuItem); menuItem = new Menu.Item("stungun", Menu.MenuItem.Button); menuItem.Text = "Tazer"; menu.Add(menuItem); menuItem = new Menu.Item("close", Menu.MenuItem.Button); menuItem.Text = "Закрыть"; menu.Add(menuItem); menu.Open(player); }
private void AddItem() { System.Console.Clear(); var newmeal = new Menu.Item(); System.Console.WriteLine("Enter the Meal Number: "); string mealnumstring = (System.Console.ReadLine()); int mealnum = Convert.ToInt32(mealnumstring); newmeal.MealNumber = mealnum; System.Console.WriteLine("Enter the Meal Name: "); string mealname = System.Console.ReadLine(); newmeal.MealName = mealname; System.Console.WriteLine("Enter a description for the new meal item: "); string mealdescription = System.Console.ReadLine(); newmeal.Description = mealdescription; System.Console.WriteLine("Please write a list of the meal ingredients(separated by commas): "); string ingredients = System.Console.ReadLine(); newmeal.ListOfIngredients = ingredients; System.Console.WriteLine("Enter the new meal price(as a decimal value(i.e. '1.99')): "); string mealpricestring = System.Console.ReadLine(); decimal mealprice = Convert.ToDecimal(mealpricestring); newmeal.Price = mealprice; _menuRepo.AddItem(newmeal); }
public static void OpenHotelBuyMenu(Client player) { Menu menu = new Menu("hotelbuy", false, false); menu.Callback += callback_hotelbuy; Menu.Item menuItem = new Menu.Item("header", Menu.MenuItem.Header); menuItem.Text = $"Отель"; menu.Add(menuItem); menuItem = new Menu.Item("info", Menu.MenuItem.Card); menuItem.Text = $"Деньги за аренду будут сниматься каждый пейдей только когда Вы в игре."; menu.Add(menuItem); menuItem = new Menu.Item("rent", Menu.MenuItem.Button); menuItem.Text = $"Арендовать ({HotelRent}$)"; menu.Add(menuItem); menuItem = new Menu.Item("close", Menu.MenuItem.Button); menuItem.Text = "Закрыть"; menu.Add(menuItem); menu.Open(player); }
public static void OpenSafedoorMenu(Client player) { Menu menu = new Menu("safedoor", false, false); menu.Callback = callback_safedoor; Menu.Item menuItem = new Menu.Item("header", Menu.MenuItem.Header); menuItem.Text = "Дверь хранилища"; menu.Add(menuItem); menuItem = new Menu.Item("change", Menu.MenuItem.Button); menuItem.Text = "Открыть/Закрыть"; menu.Add(menuItem); menuItem = new Menu.Item("crack", Menu.MenuItem.Button); menuItem.Text = "Взломать"; menu.Add(menuItem); menuItem = new Menu.Item("close", Menu.MenuItem.Button); menuItem.Text = "Закрыть"; menu.Add(menuItem); menu.Open(player); }
public static void OpenArmyClothesMenu(Client player) { Menu menu = new Menu("armyclothes", false, false); menu.Callback = callback_armyclothes; Menu.Item menuItem = new Menu.Item("header", Menu.MenuItem.Header); menuItem.Text = "Одежда"; menu.Add(menuItem); menuItem = new Menu.Item("change", Menu.MenuItem.Button); menuItem.Text = "Переодеться"; menu.Add(menuItem); menuItem = new Menu.Item("combat", Menu.MenuItem.Button); menuItem.Text = "Боевая форма"; menu.Add(menuItem); menuItem = new Menu.Item("close", Menu.MenuItem.Button); menuItem.Text = "Закрыть"; menu.Add(menuItem); menu.Open(player); }
private static void callback_armycombat(Client client, Menu menu, Menu.Item item, string eventName, dynamic data) { if (item.ID == "back") { MenuManager.Close(client); OpenArmyClothesMenu(client); return; } if (Main.Players[client].FractionID != 14) { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, $"Вы не служите в армии", 3000); return; } if (!client.GetData("ON_DUTY")) { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, $"Вы должны начать службу", 3000); return; } client.SetData("IN_CP_MODE", true); var gender = Main.Players[client].Gender; Customization.ClearClothes(client, gender); switch (item.ID) { case "cam1": if (gender) { client.SetClothes(1, 104, 5); Customization.SetHat(client, 117, 13); client.SetClothes(11, 221, 5); client.SetClothes(4, 87, 5); client.SetClothes(6, 62, 0); client.SetClothes(9, 16, 0); client.SetClothes(3, 49, 1); } else { Customization.SetHat(client, 116, 13); client.SetClothes(1, 104, 5); client.SetClothes(4, 90, 5); client.SetClothes(11, 224, 5); client.SetClothes(6, 65, 0); client.SetClothes(3, 46, 1); client.SetClothes(9, 18, 0); } return; case "cam2": if (gender) { client.SetClothes(1, 104, 10); Customization.SetHat(client, 117, 18); client.SetClothes(11, 222, 10); client.SetClothes(4, 87, 10); client.SetClothes(6, 62, 2); client.SetClothes(9, 16, 2); client.SetClothes(3, 48, 0); } else { Customization.SetHat(client, 116, 18); client.SetClothes(1, 104, 10); client.SetClothes(4, 90, 10); client.SetClothes(11, 224, 10); client.SetClothes(6, 65, 2); client.SetClothes(3, 46, 0); client.SetClothes(9, 18, 2); } return; case "cam3": if (gender) { client.SetClothes(1, 104, 15); Customization.SetHat(client, 117, 22); client.SetClothes(11, 220, 15); client.SetClothes(4, 87, 15); client.SetClothes(6, 25, 0); client.SetClothes(9, 16, 2); client.SetClothes(3, 49, 0); } else { Customization.SetHat(client, 116, 22); client.SetClothes(1, 104, 15); client.SetClothes(4, 90, 15); client.SetClothes(11, 224, 15); client.SetClothes(6, 25, 0); client.SetClothes(3, 46, 0); client.SetClothes(9, 18, 2); } return; case "cam4": if (gender) { client.SetClothes(1, 104, 12); Customization.SetHat(client, 117, 20); client.SetClothes(11, 221, 12); client.SetClothes(4, 87, 12); client.SetClothes(6, 25, 0); client.SetClothes(9, 16, 2); client.SetClothes(3, 49, 0); } else { Customization.SetHat(client, 116, 20); client.SetClothes(1, 104, 12); client.SetClothes(4, 90, 12); client.SetClothes(11, 224, 12); client.SetClothes(6, 25, 0); client.SetClothes(3, 46, 0); client.SetClothes(9, 18, 2); } return; case "cam5": if (gender) { client.SetClothes(1, 104, 16); Customization.SetHat(client, 117, 23); client.SetClothes(11, 220, 16); client.SetClothes(4, 87, 16); client.SetClothes(6, 62, 7); client.SetClothes(9, 16, 0); client.SetClothes(3, 48, 0); } else { Customization.SetHat(client, 116, 23); client.SetClothes(1, 104, 16); client.SetClothes(4, 90, 16); client.SetClothes(11, 224, 16); client.SetClothes(6, 65, 7); client.SetClothes(3, 46, 1); client.SetClothes(9, 18, 0); } return; case "cam6": if (gender) { client.SetClothes(1, 104, 11); Customization.SetHat(client, 117, 19); client.SetClothes(11, 222, 11); client.SetClothes(4, 87, 11); client.SetClothes(6, 25, 0); client.SetClothes(9, 16, 2); client.SetClothes(3, 48, 0); } else { Customization.SetHat(client, 116, 19); client.SetClothes(1, 104, 11); client.SetClothes(4, 90, 11); client.SetClothes(11, 224, 10); client.SetClothes(6, 25, 0); client.SetClothes(3, 46, 0); client.SetClothes(9, 18, 2); } return; case "takeoff": Manager.setSkin(client, Main.Players[client].FractionID, Main.Players[client].FractionLVL); client.SetData("IN_CP_MODE", false); return; } }
private static void callback_policeSpecial(Client client, Menu menu, Menu.Item item, string eventName, dynamic data) { switch (item.ID) { case "changeclothes": if (!NAPI.Data.GetEntityData(client, "IN_CP_MODE")) { bool gender = Main.Players[client].Gender; Customization.ApplyCharacter(client); Customization.ClearClothes(client, gender); if (gender) { Customization.SetHat(client, 39, 0); //client.SetClothes(1, 52, 0); client.SetClothes(11, 53, 0); client.SetClothes(4, 31, 0); client.SetClothes(6, 25, 0); client.SetClothes(9, 15, 2); client.SetClothes(3, 49, 0); } else { Customization.SetHat(client, 38, 0); //client.SetClothes(1, 57, 0); client.SetClothes(11, 46, 0); client.SetClothes(4, 30, 0); client.SetClothes(6, 25, 0); client.SetClothes(9, 17, 2); client.SetClothes(3, 53, 0); } if (client.HasData("HAND_MONEY")) { client.SetClothes(5, 45, 0); } else if (client.HasData("HEIST_DRILL")) { client.SetClothes(5, 41, 0); } NAPI.Data.SetEntityData(client, "IN_CP_MODE", true); return; } Fractions.Manager.setSkin(client, 7, Main.Players[client].FractionLVL); client.SetData("IN_CP_MODE", false); return; case "pistol50": Fractions.Manager.giveGun(client, Weapons.Hash.Pistol50, "pistol50"); return; case "carbineRifle": Fractions.Manager.giveGun(client, Weapons.Hash.CarbineRifle, "carbineRifle"); return; case "riflesammo": if (!Manager.canGetWeapon(client, "RiflesAmmo")) { return; } Fractions.Manager.giveAmmo(client, ItemType.RiflesAmmo, 30); return; case "heavyshotgun": Fractions.Manager.giveGun(client, Weapons.Hash.HeavyShotgun, "heavyshotgun"); return; case "stungun": Fractions.Manager.giveGun(client, Weapons.Hash.StunGun, "stungun"); return; case "close": MenuManager.Close(client); return; } }
private static void callback_hospitalstock(Client client, Menu menu, Menu.Item item, string eventName, dynamic data) { switch (item.ID) { case "takemed": if (!Manager.canGetWeapon(client, "Medkits")) { return; } if (Stocks.fracStocks[8].Medkits <= 0) { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, $"На складе не осталось аптечек", 3000); return; } var tryAdd = nInventory.TryAdd(client, new nItem(ItemType.HealthKit)); if (tryAdd == -1 || tryAdd > 0) { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, $"Недостаточно места в инвентаре", 3000); return; } nInventory.Add(client, new nItem(ItemType.HealthKit)); var itemInv = nInventory.Find(Main.Players[client].UUID, ItemType.HealthKit); Notify.Send(client, NotifyType.Info, NotifyPosition.BottomCenter, $"Вы взяли аптечку. У Вас {itemInv.Count} штук", 3000); Stocks.fracStocks[8].Medkits--; GameLog.Stock(Main.Players[client].FractionID, Main.Players[client].UUID, "medkit", 1, false); break; case "putmed": itemInv = nInventory.Find(Main.Players[client].UUID, ItemType.HealthKit); if (itemInv == null) { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, $"У Вас нет аптечек", 3000); return; } nInventory.Remove(client, ItemType.HealthKit, 1); Notify.Send(client, NotifyType.Info, NotifyPosition.BottomCenter, $"Вы положили аптечку. У Вас осталось {itemInv.Count - 1} штук", 3000); Stocks.fracStocks[8].Medkits++; GameLog.Stock(Main.Players[client].FractionID, Main.Players[client].UUID, "medkit", 1, true); break; case "tazer": if (!Main.Players.ContainsKey(client)) { return; } if (Main.Players[client].FractionLVL < 3) { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, $"Вы не имеете доступа к электрошокеру", 3000); return; } Weapons.GiveWeapon(client, ItemType.StunGun, Weapons.GetSerial(true, 8)); Trigger.ClientEvent(client, "acguns"); return; case "close": MenuManager.Close(client); return; } Menu.Item menuItem = new Menu.Item("header", Menu.MenuItem.Header); menuItem.Text = $"Склад ({Stocks.fracStocks[8].Medkits}шт)"; menu.Change(client, 0, menuItem); }
private static void callback_gpStartMenu(Client client, Menu menu, Menu.Item item, string eventName, dynamic data) { if (!Main.Players.ContainsKey(client) || client.Position.DistanceTo(Gopostal.Coords[0]) > 15) { MenuManager.Close(client); return; } switch (item.ID) { case "start": if (Main.Players[client].WorkID == 2) { if (!NAPI.Data.GetEntityData(client, "ON_WORK")) { if (Houses.HouseManager.Houses.Count == 0) { return; } client.SetData("PACKAGES", 10); Notify.Send(client, NotifyType.Info, NotifyPosition.BottomCenter, $"Вы получили 10 посылок, развезите их по домам", 3000); client.SetData("ON_WORK", true); client.SetData("W_LASTPOS", client.Position); client.SetData("W_LASTTIME", DateTime.Now); var next = Jobs.WorkManager.rnd.Next(0, Houses.HouseManager.Houses.Count - 1); while (Houses.HouseManager.Houses[next].Position.DistanceTo2D(client.Position) < 200) { next = Jobs.WorkManager.rnd.Next(0, Houses.HouseManager.Houses.Count - 1); } client.SetData("NEXTHOUSE", Houses.HouseManager.Houses[next].ID); Trigger.ClientEvent(client, "createCheckpoint", 1, 1, Houses.HouseManager.Houses[next].Position, 1, 0, 255, 0, 0); Trigger.ClientEvent(client, "createWaypoint", Houses.HouseManager.Houses[next].Position.X, Houses.HouseManager.Houses[next].Position.Y); Trigger.ClientEvent(client, "createWorkBlip", Houses.HouseManager.Houses[next].Position); var gender = Main.Players[client].Gender; Customization.ClearClothes(client, gender); if (gender) { Customization.SetHat(client, 76, 10); client.SetClothes(11, 38, 3); client.SetClothes(4, 17, 0); client.SetClothes(6, 1, 7); client.SetClothes(3, Core.Customization.CorrectTorso[gender][38], 0); } else { Customization.SetHat(client, 75, 10); client.SetClothes(11, 0, 6); client.SetClothes(4, 25, 2); client.SetClothes(6, 1, 2); client.SetClothes(3, Core.Customization.CorrectTorso[gender][0], 0); } int x = Jobs.WorkManager.rnd.Next(0, Gopostal.GoPostalObjects.Count); BasicSync.AttachObjectToPlayer(client, Jobs.Gopostal.GoPostalObjects[x], 60309, new Vector3(0.03, 0, 0.02), new Vector3(0, 0, 50)); } else { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, $"Вы уже начали рабочий день", 3000); } } else { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, $"Вы не работаете курьером. Устроиться можно в мэрии", 3000); } return; case "get": { if (Main.Players[client].WorkID != 2) { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, $"Вы не работаете курьером", 3000); return; } if (!client.GetData("ON_WORK")) { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, $"Вы не начали рабочий день", 3000); return; } if (client.GetData("PACKAGES") != 0) { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, $"Вы не раздали все посылки. У Вас осталось ещё {client.GetData("PACKAGES")} штук", 3000); return; } if (Houses.HouseManager.Houses.Count == 0) { return; } client.SetData("PACKAGES", 10); Notify.Send(client, NotifyType.Info, NotifyPosition.BottomCenter, $"Вы получили 10 посылок. Развезите их по домам", 3000); client.SetData("W_LASTPOS", client.Position); client.SetData("W_LASTTIME", DateTime.Now); var next = Jobs.WorkManager.rnd.Next(0, Houses.HouseManager.Houses.Count - 1); while (Houses.HouseManager.Houses[next].Position.DistanceTo2D(client.Position) < 200) { next = Jobs.WorkManager.rnd.Next(0, Houses.HouseManager.Houses.Count - 1); } client.SetData("NEXTHOUSE", Houses.HouseManager.Houses[next].ID); Trigger.ClientEvent(client, "createCheckpoint", 1, 1, Houses.HouseManager.Houses[next].Position, 1, 0, 255, 0, 0); Trigger.ClientEvent(client, "createWaypoint", Houses.HouseManager.Houses[next].Position.X, Houses.HouseManager.Houses[next].Position.Y); Trigger.ClientEvent(client, "createWorkBlip", Houses.HouseManager.Houses[next].Position); int y = Jobs.WorkManager.rnd.Next(0, Jobs.Gopostal.GoPostalObjects.Count); BasicSync.AttachObjectToPlayer(client, Jobs.Gopostal.GoPostalObjects[y], 60309, new Vector3(0.03, 0, 0.02), new Vector3(0, 0, 50)); return; } case "finish": if (Main.Players[client].WorkID == 2) { if (NAPI.Data.GetEntityData(client, "ON_WORK")) { Trigger.ClientEvent(client, "deleteCheckpoint", 1, 0); BasicSync.DetachObject(client); Notify.Send(client, NotifyType.Info, NotifyPosition.BottomCenter, $"Вы закончили рабочий день", 3000); Trigger.ClientEvent(client, "deleteWorkBlip"); client.SetData("PAYMENT", 0); Customization.ApplyCharacter(client); if (client.HasData("HAND_MONEY")) { client.SetClothes(5, 45, 0); } else if (client.HasData("HEIST_DRILL")) { client.SetClothes(5, 41, 0); } client.SetData("PACKAGES", 0); client.SetData("ON_WORK", false); if (client.GetData("WORK") != null) { NAPI.Entity.DeleteEntity(client.GetData("WORK")); client.SetData("WORK", null); } } else { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, $"Вы не работаете", 3000); } } else { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, $"Вы не работаете курьером", 3000); } return; case "close": MenuManager.Close(client); return; } }
public static void OpenTruckersOrders(Client player) { Menu menu = new Menu("truckersorders", false, false); menu.Callback += callback_truckersorders; Menu.Item menuItem = new Menu.Item("header", Menu.MenuItem.Header); menuItem.Text = "Заказы"; menu.Add(menuItem); Order order = null; List <string> ordersIDs = new List <string>(); foreach (var o in BusinessManager.Orders) { var biz = BusinessManager.BizList[o.Value]; var temp_order = biz.Orders.FirstOrDefault(or => or.UID == o.Key); if (temp_order == null || temp_order.Taked) { continue; } if (order == null) { order = temp_order; } ordersIDs.Add(o.Key.ToString()); } if (ordersIDs.Count == 0) { Notify.Send(player, NotifyType.Error, NotifyPosition.BottomCenter, "Нет свободных заказов", 3000); return; } menuItem = new Menu.Item("products", Menu.MenuItem.List); menuItem.Elements = ordersIDs; menu.Add(menuItem); menuItem = new Menu.Item("Name", Menu.MenuItem.Card); menuItem.Text = $"Продукт: {order.Name}"; menu.Add(menuItem); var youGet = Convert.ToInt32(order.Amount * BusinessManager.ProductsOrderPrice[order.Name] * 0.1); var max = Convert.ToInt32(2000 * Group.GroupPayAdd[Main.Accounts[player].VipLvl]); var min = Convert.ToInt32(500 * Group.GroupPayAdd[Main.Accounts[player].VipLvl]); if (youGet > max) { youGet = max; } else if (youGet < min) { youGet = min; } menuItem = new Menu.Item("youget", Menu.MenuItem.Card); menuItem.Text = $"Вы получите: {youGet}$"; menu.Add(menuItem); menuItem = new Menu.Item("take", Menu.MenuItem.Button); menuItem.Text = "Взять заказ"; menu.Add(menuItem); menuItem = new Menu.Item("close", Menu.MenuItem.Button); menuItem.Text = "Закрыть"; menu.Add(menuItem); menu.Open(player); }
private static void callback_truckersorders(Client client, Menu menu, Menu.Item item, string eventName, dynamic data) { List <Order> orders = client.GetData("TRUCKERORDERLIST"); switch (eventName) { case "listChangeright": case "listChangeleft": { var uid = Convert.ToInt32(data["1"]["Value"].ToString()); if (!BusinessManager.Orders.ContainsKey(uid)) { return; } Business biz = BusinessManager.BizList[BusinessManager.Orders[uid]]; var order = biz.Orders.FirstOrDefault(o => o.UID == uid); menu.Items[2].Text = $"Продукт: {order.Name}"; menu.Change(client, 2, menu.Items[2]); var youGet = Convert.ToInt32(order.Amount * BusinessManager.ProductsOrderPrice[order.Name] * 0.1); var max = Convert.ToInt32(2000 * Group.GroupPayAdd[Main.Accounts[client].VipLvl]); var min = Convert.ToInt32(500 * Group.GroupPayAdd[Main.Accounts[client].VipLvl]); if (youGet > max) { youGet = max; } else if (youGet < min) { youGet = min; } menu.Items[3].Text = $"Вы получите: {youGet}$"; menu.Change(client, 3, menu.Items[3]); return; } case "button": { if (item.ID == "close") { MenuManager.Close(client); } else { if (client.HasData("ORDER")) { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, $"Вы уже взяли заказ", 3000); return; } var uid = Convert.ToInt32(data["1"]["Value"].ToString()); if (!BusinessManager.Orders.ContainsKey(uid)) { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, $"Такого заказа больше не существует", 3000); return; } ; Business biz = BusinessManager.BizList[BusinessManager.Orders[uid]]; var order = biz.Orders.FirstOrDefault(o => o.UID == uid); if (order == null || order.Taked) { Notify.Send(client, NotifyType.Error, NotifyPosition.BottomCenter, $"Этот заказ уже взял кто-то другой", 3000); return; } order.Taked = true; client.SetData("ORDERDATE", DateTime.Now.AddMinutes(6)); Notify.Send(client, NotifyType.Info, NotifyPosition.BottomCenter, $"Вы взяли заказ по доставке {order.Name} в {BusinessManager.BusinessTypeNames[biz.Type]}. Сначала закупите товар", 3000); var pos = getProduct[biz.Type]; Trigger.ClientEvent(client, "createWaypoint", pos.X, pos.Y); client.SetData("ORDER", uid); MenuManager.Close(client); } return; } } }