public void Execute(IRocketPlayer caller, string[] command) { ushort AmountToSpawn = (ushort)0; SDG.Unturned.ItemAsset currentEquiped; UnturnedPlayer Uplayer = (UnturnedPlayer)caller; currentEquiped = Uplayer.Player.equipment.asset; if (currentEquiped == null) { UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("nothing_equipped")); return; } if (checkIfBlacklisted(caller, currentEquiped)) { UnturnedChat.Say(EasyAmmo.Instance.Translate("Clonei_item_blacklisted", currentEquiped.name)); return; } var state = Uplayer.Player.equipment.state; /* for (int count = 0; count <= state.Length - 1; count++) * { * Logger.Log("State " + count.ToString() + " : " + state[count].ToString()); * //state[count] = 17; * } */ /* * state[0] is a sight * state[8] is a magazine * state[10] is ammo count */ SDG.Unturned.Item newItem = new SDG.Unturned.Item(currentEquiped.id, 100, 100, state); if (AmountToSpawn == 0) { AmountToSpawn = 1; } if (caller.HasPermission("clonei.amount")) { for (int ii = 0; ii < AmountToSpawn; ii++) { Uplayer.GiveItem(newItem); } } else { Uplayer.GiveItem(newItem); } UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("cloned_item", UnturnedItems.GetItemAssetById(currentEquiped.id).itemName, AmountToSpawn.ToString())); return; }
public HealthStation(BarricadeRegion region, BarricadeDrop drop, int time) { Id = 2; Name = "item_barricade_healthstation"; DisplayName = "HealthStation"; ItemType = ItemType.BARRICADE; UnturnedItem = new SDG.Unturned.Item(1050, true); Asset = (ItemAsset)Assets.find(EAssetType.ITEM, 1050); Region = region; Drop = drop; Expired = false; TimeLeft = time; AsyncHelper.Schedule("HealthStationTick", HealthStationTick, 500); InterfaceManager.SendEffectLocationUnsafe(2000, drop.model.position); }
public C4(BarricadeRegion region, BarricadeDrop drop, int time) { Id = 1; Name = "item_barricade_c4"; DisplayName = "C4"; ItemType = ItemType.BARRICADE; UnturnedItem = new SDG.Unturned.Item(1241, true); Asset = (ItemAsset)Assets.find(EAssetType.ITEM, 1241); Region = region; Drop = drop; Defused = false; Length = time; TimeLeft = time; AsyncHelper.Schedule("C4Tick", C4Tick, 500); }
public static void AddItem(UnturnedPlayer player, Item item) { SDG.Unturned.Item uItem = new SDG.Unturned.Item(item.id, true) { metadata = item.meta }; if (item.page == 0 && item.x == 0 && item.y == 0 && item.rot == 0) { player.Inventory.tryAddItem(uItem, true, true); } else { player.Inventory.tryAddItem(uItem, item.x, item.y, item.page, item.rot); } }
private void AddItems(UnturnedPlayer player, bool showWarnings) { foreach (Item item in Configuration.Instance.Items) // maybe hard to understand, sorry { int random = rand.Next(item.min, item.max + 1); try { SDG.Unturned.Item itemToAdd = new SDG.Unturned.Item(item.id, true); for (int i = random; i > 0; i--) { try { player.Player.inventory.tryAddItem(itemToAdd, true); } catch (Exception e) { if (showWarnings) { Logger.LogWarning(@"[DropManager] Warning: Cant add item to player " + player.CharacterName); Logger.LogWarning(@"[DropManager] Warning: Full problem description: " + e.Message); } } DropAllItems(player, showWarnings); } } catch (Exception e) { if (showWarnings) { Logger.LogWarning(@"[DropManager] Warning: Cant find item by this id: " + item.id); Logger.LogWarning(@"[DropManager] Warning: Check config and site, where you get Unturned items id list"); Logger.LogWarning(@"[DropManager] Warning: Full problem description: " + e.Message); } } } }
public void Execute(IRocketPlayer caller, string[] command) { ushort AmountToSpawn = (ushort)0; bool EnteredAmount = false; SDG.Unturned.ItemAsset currentEquiped; UnturnedPlayer Uplayer = (UnturnedPlayer)caller; if (command.Length == 1) { if (ushort.TryParse(command[0], out AmountToSpawn)) { EnteredAmount = true; } } currentEquiped = Uplayer.Player.equipment.asset; if (currentEquiped == null) { UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("nothing_equipped")); return; } if (checkIfBlacklisted(caller, currentEquiped)) { UnturnedChat.Say(EasyAmmo.Instance.Translate("Clonei_item_blacklisted", currentEquiped.Name)); return; } var state = Uplayer.Player.equipment.state; /* for (int count = 0; count <= state.Length - 1; count++) { Logger.Log("State " + count.ToString() + " : " + state[count].ToString()); //state[count] = 17; } */ /* state[0] is a sight state[8] is a magazine state[10] is ammo count */ SDG.Unturned.Item newItem = new SDG.Unturned.Item(currentEquiped.id, 100, 100, state); if (AmountToSpawn == 0) { AmountToSpawn = 1; } if (caller.HasPermission("clonei.amount")) { for (int ii = 0; ii < AmountToSpawn; ii++) { Uplayer.GiveItem(newItem); } } else { Uplayer.GiveItem(newItem); } UnturnedChat.Say(caller, EasyAmmo.Instance.Translate("cloned_item", UnturnedItems.GetItemAssetById(currentEquiped.id).itemName, AmountToSpawn.ToString())); return; }
public void Execute(IRocketPlayer caller, params string[] command) { if (!UTools.Instance.Configuration.Instance.AllowAuction) { UnturnedChat.Say(caller, UTools.Instance.Translate("auction_disabled")); return; } UnturnedPlayer player = (UnturnedPlayer)caller; if (command.Length == 0) { UnturnedChat.Say(player, UTools.Instance.Translate("auction_command_usage")); return; } if (command.Length == 1) { switch (command[0]) { case ("add"): UnturnedChat.Say(player, UTools.Instance.Translate("auction_addcommand_usage")); return; case ("list"): string Message = ""; string[] ItemNameAndQuality = UTools.Instance.DatabaseAuction.GetAllItemNameWithQuality(); string[] AuctionID = UTools.Instance.DatabaseAuction.GetAllAuctionID(); string[] ItemPrice = UTools.Instance.DatabaseAuction.GetAllItemPrice(); int count = 0; for (int x = 0; x < ItemNameAndQuality.Length; x++) { if (x < ItemNameAndQuality.Length - 1) { Message += "[" + AuctionID[x] + "]: " + ItemNameAndQuality[x] + " for " + ItemPrice[x] + Uconomy.Instance.Configuration.Instance.MoneyName + ", "; } else { Message += "[" + AuctionID[x] + "]: " + ItemNameAndQuality[x] + " for " + ItemPrice[x] + Uconomy.Instance.Configuration.Instance.MoneyName; } count++; if (count == 2) { UnturnedChat.Say(player, Message); Message = ""; count = 0; } } if (Message != "") { UnturnedChat.Say(player, Message); } break; case ("buy"): UnturnedChat.Say(player, UTools.Instance.Translate("auction_buycommand_usage")); return; case ("cancel"): UnturnedChat.Say(player, UTools.Instance.Translate("auction_cancelcommand_usage")); return; case ("find"): UnturnedChat.Say(player, UTools.Instance.Translate("auction_findcommand_usage")); return; } } if (command.Length == 2) { int auctionid = 0; switch (command[0]) { case ("add"): UnturnedChat.Say(player, UTools.Instance.Translate("auction_addcommand_usage2")); return; case ("buy"): if (int.TryParse(command[1], out auctionid)) { try { string[] itemInfo = UTools.Instance.DatabaseAuction.AuctionBuy(auctionid); decimal balance = Uconomy.Instance.Database.GetBalance(player.Id); decimal cost = 1.00m; decimal.TryParse(itemInfo[2], out cost); if (balance < cost) { UnturnedChat.Say(player, UTools.Instance.DefaultTranslations.Translate("not_enough_currency_msg", Uconomy.Instance.Configuration.Instance.MoneyName, itemInfo[1])); return; } SDG.Unturned.Item item = new SDG.Unturned.Item(ushort.Parse(itemInfo[0]), 1, byte.Parse(itemInfo[3]), Convert.FromBase64String(itemInfo[6])); player.Inventory.forceAddItem(item, true); UTools.Instance.DatabaseAuction.DeleteAuction(command[1]); decimal newbal = Uconomy.Instance.Database.IncreaseBalance(player.CSteamID.ToString(), (cost * -1)); UnturnedChat.Say(player, UTools.Instance.Translate("auction_buy_msg", itemInfo[1], cost, Uconomy.Instance.Configuration.Instance.MoneyName, newbal, Uconomy.Instance.Configuration.Instance.MoneyName)); decimal sellernewbalance = Uconomy.Instance.Database.IncreaseBalance(itemInfo[4], (cost * 1)); } catch { UnturnedChat.Say(player, UTools.Instance.Translate("auction_addcommand_idnotexist")); return; } } else { UnturnedChat.Say(player, UTools.Instance.Translate("auction_addcommand_usage2")); return; } break; case ("cancel"): if (int.TryParse(command[1], out auctionid)) { if (UTools.Instance.DatabaseAuction.checkAuctionExist(auctionid)) { string OwnerID = UTools.Instance.DatabaseAuction.GetOwner(auctionid); if (OwnerID.Trim() == player.Id.Trim()) { string[] itemInfo = UTools.Instance.DatabaseAuction.AuctionCancel(auctionid); SDG.Unturned.Item item = new SDG.Unturned.Item(ushort.Parse(itemInfo[0]), 1, byte.Parse(itemInfo[1]), Convert.FromBase64String(itemInfo[2])); player.Inventory.forceAddItem(item, true); UTools.Instance.DatabaseAuction.DeleteAuction(auctionid.ToString()); UnturnedChat.Say(player, UTools.Instance.Translate("auction_cancelled", auctionid)); } else { UnturnedChat.Say(player, UTools.Instance.Translate("auction_notown")); return; } } else { UnturnedChat.Say(player, UTools.Instance.Translate("auction_notexist")); return; } } else { UnturnedChat.Say(player, UTools.Instance.Translate("auction_notexist")); return; } break; case ("find"): uint ItemID; if (uint.TryParse(command[1], out ItemID)) { string[] AuctionID = UTools.Instance.DatabaseAuction.FindItemByID(ItemID.ToString()); string Message = ""; string[] ItemNameAndQuality = UTools.Instance.DatabaseAuction.FindAllItemNameWithQualityByID(ItemID.ToString()); string[] ItemPrice = UTools.Instance.DatabaseAuction.FindAllItemPriceByID(ItemID.ToString()); int count = 0; for (int x = 0; x < ItemNameAndQuality.Length; x++) { if (x < ItemNameAndQuality.Length - 1) { Message += "[" + AuctionID[x] + "]: " + ItemNameAndQuality[x] + " for " + ItemPrice[x] + " " + Uconomy.Instance.Configuration.Instance.MoneyName + ", "; } else { Message += "[" + AuctionID[x] + "]: " + ItemNameAndQuality[x] + " for " + ItemPrice[x] + " " + Uconomy.Instance.Configuration.Instance.MoneyName; } count++; if (count == 2) { UnturnedChat.Say(player, Message); Message = " "; count = 0; } } if (Message != null) { UnturnedChat.Say(player, Message); } else { UnturnedChat.Say(player, UTools.Instance.Translate("auction_find_failed")); return; } } else { Asset[] array = Assets.find(EAssetType.ITEM); Asset[] array2 = array; ushort id; string ItemName = ""; for (int i = 0; i < array2.Length; i++) { ItemAsset vAsset = (ItemAsset)array2[i]; if (vAsset != null && vAsset.itemName != null && vAsset.itemName.ToLower().Contains(command[1].ToLower())) { id = vAsset.id; ItemName = vAsset.itemName; break; } } if (ItemName != "") { string[] AuctionID = UTools.Instance.DatabaseAuction.FindItemByName(ItemName); string Message = ""; string[] ItemNameAndQuality = UTools.Instance.DatabaseAuction.FindAllItemNameWithQualityByItemName(ItemName); string[] ItemPrice = UTools.Instance.DatabaseAuction.FindAllItemPriceByItemName(ItemName); int count = 0; for (int x = 0; x < ItemNameAndQuality.Length; x++) { if (x < ItemNameAndQuality.Length - 1) { Message += "[" + AuctionID[x] + "]: " + ItemNameAndQuality[x] + " for " + ItemPrice[x] + Uconomy.Instance.Configuration.Instance.MoneyName + ", "; } else { Message += "[" + AuctionID[x] + "]: " + ItemNameAndQuality[x] + " for " + ItemPrice[x] + Uconomy.Instance.Configuration.Instance.MoneyName; } count++; if (count == 2) { UnturnedChat.Say(player, Message); Message = ""; count = 0; } } if (Message != "") { UnturnedChat.Say(player, Message); } else { UnturnedChat.Say(player, UTools.Instance.Translate("auction_find_failed")); return; } } else { UnturnedChat.Say(player, UTools.Instance.Translate("auction_find_failed")); return; } } break; } } if (command.Length > 2 && player.HasPermission("auction.add")) { switch (command[0]) { case ("add"): byte amt = 1; ushort id; string name = null; ItemAsset vAsset = null; string itemname = ""; for (int x = 1; x < command.Length - 1; x++) { itemname += command[x] + " "; } itemname = itemname.Trim(); if (!ushort.TryParse(itemname, out id)) { Asset[] array = Assets.find(EAssetType.ITEM); Asset[] array2 = array; for (int i = 0; i < array2.Length; i++) { vAsset = (ItemAsset)array2[i]; if (vAsset != null && vAsset.itemName != null && vAsset.itemName.ToLower().Contains(itemname.ToLower())) { id = vAsset.id; name = vAsset.itemName; if (name == "Hell's Fury") { name = "Hells Fury"; } break; } } } if (name == null && id == 0) { UnturnedChat.Say(player, UTools.Instance.Translate("could_not_find", itemname)); return; } else if (name == null && id != 0) { try { vAsset = (ItemAsset)Assets.find(EAssetType.ITEM, id); name = vAsset.itemName; if (name == "Hell's Fury") { name = "Hells Fury"; } } catch { UnturnedChat.Say(player, UTools.Instance.Translate("item_invalid")); return; } } if (player.Inventory.has(id) == null) { UnturnedChat.Say(player, UTools.Instance.Translate("not_have_item_auction", name)); return; } List <InventorySearch> list = player.Inventory.search(id, true, true); if (vAsset.amount > 1) { UnturnedChat.Say(player, UTools.Instance.Translate("auction_item_mag_ammo", name)); return; } decimal price = 0.00m; if (UTools.Instance.Configuration.Instance.EnableShopPriceCheck) { price = ZaupShop.ZaupShop.Instance.ShopDB.GetItemCost(id); if (price <= 0.00m) { UnturnedChat.Say(player, UTools.Instance.Translate("auction_item_notinshop", name)); price = 0.00m; } } if (ZaupShop.ZaupShop.Instance.ShopDB.GetItemCost(id) == 0 || (ZaupShop.ZaupShop.Instance.ShopDB.GetItemCost(id) != 0 && Convert.ToDecimal(command[command.Length - 1]) >= (ZaupShop.ZaupShop.Instance.ShopDB.GetItemCost(id) * 0.3m) && Convert.ToDecimal(command[command.Length - 1]) <= (ZaupShop.ZaupShop.Instance.ShopDB.GetItemCost(id) * 1.5m))) { int quality = 100; string metadata = null; switch (vAsset.amount) { case 1: while (amt > 0) { try { if (player.Player.equipment.checkSelection(list[0].page, list[0].jar.x, list[0].jar.y)) { player.Player.equipment.dequip(); } } catch { UnturnedChat.Say(player, UTools.Instance.Translate("auction_unequip_item", name)); return; } quality = list[0].jar.item.durability; metadata = (list[0].jar.item.metadata != null ? Convert.ToBase64String(list[0].jar.item.metadata) : string.Empty); player.Inventory.removeItem(list[0].page, player.Inventory.getIndex(list[0].page, list[0].jar.x, list[0].jar.y)); list.RemoveAt(0); amt--; } break; default: UnturnedChat.Say(player, UTools.Instance.Translate("auction_item_mag_ammo", name)); return; } decimal SetPrice; if (!decimal.TryParse(command[command.Length - 1], out SetPrice)) { SetPrice = price; } if (UTools.Instance.DatabaseAuction.AddAuctionItem(UTools.Instance.DatabaseAuction.GetLastAuctionNo(), id.ToString(), name, SetPrice, price, quality, metadata, player.Id, player.DisplayName.ToString())) { UnturnedChat.Say(player, UTools.Instance.Translate("auction_item_succes", name, SetPrice, Uconomy.Instance.Configuration.Instance.MoneyName)); } else { UnturnedChat.Say(player, UTools.Instance.Translate("auction_item_failed")); } } else { UnturnedChat.Say(player, UTools.Instance.Translate("auction_price_low_high", Math.Floor((ZaupShop.ZaupShop.Instance.ShopDB.GetItemCost(id) * 0.3m)), Math.Floor((ZaupShop.ZaupShop.Instance.ShopDB.GetItemCost(id) * 1.5m)))); } break; } } if (command.Length > 2 && !player.HasPermission("auction.add")) { UnturnedChat.Say(player, UTools.Instance.Translate("auction_add_no_perm")); } }