private void OrganizeAfterToggle(InventoryHolder invHolder, int pos, bool equip) { int newPos = invHolder.FindFirstEmptySlot(); invHolder.MoveItem(pos, newPos, 1); invHolder.ItemHolders[newPos].IsEquipped = equip; }
private void itemGive(InventoryHolder user, GameObject item, int stack) { GameObject newI = GameObject.Instantiate(item); newI.GetComponent <Item>().CurrentStack = stack; user.AddItemIfFree(item.GetComponent <Item>()); }
public static void StartTraid(Client sender, NetHandle pnj) { try { int idtraite = API.shared.getEntitySyncedData(pnj, "processedItemID"); int itemPrice = API.shared.getEntitySyncedData(pnj, "ItemPrice"); InventoryHolder ih = API.shared.getEntityData(sender, "InventoryHolder"); Item itemtraite = ItemByID(idtraite); InventoryItem items = ih.Inventory.SingleOrDefault(ii => ii.Details.ID == itemtraite.ID); if (items == null) { return; } int qtitem = items.Quantity; if (qtitem > 0) { int price = qtitem * itemPrice; ih.RemoveItemFromInventory(itemtraite, qtitem); Players.Money.GiveMoney(sender, price); API.shared.triggerClientEvent(sender, "display_subtitle", "Vous avez vendu votre ~r~" + itemtraite.Name.ToString() + " ~s~pour la somme de ~r~" + price.ToString() + "~s~$", 30000); } } catch (Exception e) { API.shared.consoleOutput("~r~[ERROR][INITFARM] : ~s~" + e.ToString()); } }
public void CalculateArmor() { IInventoryItem inventoryItem; InventoryHolder inventoryHolder = this.inventoryHolder; ProtectionTakeDamage protectionTakeDamage = this.takeDamage; if (inventoryHolder && protectionTakeDamage) { DamageTypeList damageTypeList = new DamageTypeList(); for (int i = 36; i < 40; i++) { if (inventoryHolder.inventory.GetItem(i, out inventoryItem)) { ArmorDataBlock armorDataBlock = inventoryItem.datablock as ArmorDataBlock; ArmorDataBlock armorDataBlock1 = armorDataBlock; if (armorDataBlock) { armorDataBlock1.AddToDamageTypeList(damageTypeList); } } } if (protectionTakeDamage) { protectionTakeDamage.SetArmorValues(damageTypeList); } } }
public static void UpdatePlayerInfo(Client player) { try { if (Players.Player.IsPlayerLoggedIn(player)) { Vector3 PlayerPos = API.shared.getEntityPosition(player); InventoryHolder inventory = API.shared.getEntityData(player, "InventoryHolder"); UpdatePlayerMoney(player); string pos = "[[" + PlayerPos.X.ToString() + "],[" + PlayerPos.Y.ToString() + "],[" + PlayerPos.Z.ToString() + "]]"; var invs = ""; foreach (InventoryItem ii in inventory.Inventory) { invs += "[" + ii.Details.ID.ToString() + "," + ii.Quantity.ToString() + "],"; } char[] car = { ',' }; var inventaires = "[" + invs.TrimEnd(car) + "]"; int hunger = API.shared.getEntitySyncedData(player, "PLAYER_HUNGRY"); int drink = API.shared.getEntitySyncedData(player, "PLAYER_THIRSTY"); int health = API.shared.getPlayerHealth(player); string query = String.Format("UPDATE user SET position='{0}', inventory='{1}', hunger='{2}', thirst='{3}', health='{4}' WHERE name='{5}'", pos, inventaires, hunger, drink, health, player.socialClubName); InsertQuery(query); } } catch (Exception e) { API.shared.consoleOutput("~r~[ERROR] : ~s~" + e.ToString()); } }
private void CheckBeltUsage() { if (UIUnityEvents.shouldBlockButtonInput) { return; } if (!base.enabled) { return; } if (ConsoleWindow.IsVisible()) { return; } Inventory inventory = this.inventory; if (!inventory) { return; } InventoryHolder inventoryHolder = inventory.inventoryHolder; if (!inventoryHolder) { return; } int num = HumanController.InputSample.PollItemButtons(); if (num != -1) { inventoryHolder.BeltUse(num); } }
private static bool GetCharacterStuff(ref ConsoleSystem.Arg args, out Character character, out CameraMount camera, out ItemRepresentation itemRep, out ArmorModelRenderer armor) { character = null; itemRep = null; armor = null; camera = CameraMount.current; if (!camera) { args.ReplyWith("Theres no active camera mount."); return(false); } character = IDBase.GetMain(camera) as Character; if (!character) { args.ReplyWith("theres no character for the current mounted camera"); return(false); } armor = character.GetLocal <ArmorModelRenderer>(); InventoryHolder local = character.GetLocal <InventoryHolder>(); if (local) { itemRep = local.itemRepresentation; } return(true); }
public void ItemSelected(Client sender, int index) { try { var Products = API.getEntityData(sender, "ProductsOfUsingShop"); var item = ItemByID(Products[index].Key); var price = Products[index].Value; API.resetEntityData(sender, "ProductsOfUsingShop"); if (Money.TakeMoney(sender, price)) { InventoryHolder ih = API.shared.getEntityData(sender, "InventoryHolder"); ih.AddItemToInventory(item, 1); UpdatePlayerMoney(sender); API.shared.triggerClientEvent(sender, "display_subtitle", "Item ajouté à votre inventaire", 3000); } else { API.shared.triggerClientEvent(sender, "display_subtitle", "Désolé, vous n'avez pas assez d'argent", 3000); } } catch (Exception e) { API.consoleOutput("~r~[ERROR][INITITEM] : ~s~" + e.ToString()); } }
private void OnClientEventTrigger(Client sender, string eventName, object[] arguments) { if (eventName == "menu_handler_select_item") { if ((int)arguments[0] == 181) { var Products = API.getEntityData(sender, "ProductsOfUsingShop"); var item = ItemByID(Products[(int)arguments[1]].Key); var price = Products[(int)arguments[1]].Value; API.resetEntityData(sender, "ProductsOfUsingShop"); InventoryHolder ih = API.getEntityData(sender, "InventoryHolder"); if (ih.CheckWeightInventory(item, 1)) { if (Money.TakeMoney(sender, price)) { ih.AddItemToInventory(item, 1); UpdatePlayerMoney(sender); API.triggerClientEvent(sender, "display_subtitle", "L'arme a été ajouté à votre inventaire", 3000); } else { API.triggerClientEvent(sender, "display_subtitle", "Désolé, vous n'avez pas assez d'argent", 3000); } } else { API.triggerClientEvent(sender, "display_subtitle", "Désolé, vous n'avez pas assez de place dans votre inventaire.", 3000); } } } }
public override void Use(Client c) { int timeeffect = 32000; //32 sc API.shared.triggerClientEvent(c, "display_subtitle", "Un bon petit joint!", 3000); API.shared.playPlayerScenario(c, "world_human_drug_dealer"); /* * object[] test = new object[4]; * * test[0] = c; * test[1] = "WORLD_HUMAN_DRUG_DEALER"; * test[2] = 0; * test[3] = true; * * API.shared.sendNativeToAllPlayers(Hash.TASK_START_SCENARIO_IN_PLACE, test); */ API.shared.triggerClientEvent(c, "smokeweedeveryday", timeeffect); API.shared.sleep(timeeffect); API.shared.stopPlayerAnimation(c); InventoryHolder ih = API.shared.getEntityData(c, "InventoryHolder"); ih.RemoveItemFromInventory(this, 1); }
public void ToggleEquipAbility() { InventoryHolder invHolder = ItemManager.Instance.GetInvHolder(itemsDisplay.CurrentPossessor); Equipment itemToToggle = (Equipment)ItemManager.Instance.GetItemAt(itemsDisplay.SelectedPos, itemsDisplay.CurrentPossessor); itemToToggle.ToggleEquipAbility(PossessorSearcher.GetPossessor(itemsDisplay.CurrentPossessor)); if (invHolder.ItemHolders[itemsDisplay.SelectedPos].IsEquipped) { OrganizeAfterToggle(invHolder, itemsDisplay.SelectedPos, false); } else { int equippedItemPos = invHolder.FindSameEquippedType(itemToToggle); if (equippedItemPos != InventoryHolder.POSITION_INVALID) { OrganizeAfterToggle(invHolder, equippedItemPos, false); } OrganizeAfterToggle(invHolder, itemsDisplay.SelectedPos, true); } itemsDisplay.DisplayAll(); }
protected void Reload(EqpWeapon wep, InventoryHolder ih) { int bulletsToReload = wep.ClipSize - wep.CurrentAmmo; int rem = ih.RemoveItem(wep.AmmoType.GetComponent <Item>(), bulletsToReload); wep.CurrentAmmo += rem; }
public BaseInventory(InventoryHolder holder, Dictionary <int, Item> items = null) { this.Holder = holder; if (items != null) { this.slots = items; } }
public static void InventoryHolder_TryGiveDefaultItems(InventoryHolder holder) { object[] args = new object[] { holder }; Method.Invoke("RustExtended.RustHook.InventoryHolder_TryGiveDefaultItems", args); }
protected override void onTrigger(GameObject interactor) { if (interactor.GetComponent <InventoryHolder>()) { SetInventoryGUIOn(true); m_currentInspector = interactor.GetComponent <InventoryHolder>(); } }
public override void Use(Client c) { //API.shared.sendNativeToPlayer(c, Hash.ADD_AMMO_TO_PED, args); API.shared.setPlayerWeaponAmmo(c, (WeaponHash)WHash, 20); InventoryHolder ih = API.shared.getEntityData(c, "InventoryHolder"); ih.RemoveItemFromInventory(this, 1); }
public override void Refresh() { InventoryHolder inventoryHolder = base.inventoryHolder; if (inventoryHolder != null) { inventoryHolder.InventoryModified(); } }
public Inventory(InventoryHolder owner) { this.owner = owner; for (int i = 0; i < items.Length; i++) { items[i] = null; } }
protected override void OnLocalPlayerPreRender() { InventoryHolder inventoryHolder = this.inventoryHolder; if (inventoryHolder) { inventoryHolder.InvokeInputItemPreRender(); } }
public BeltUseEvent(InventoryHolder holder, int belt) { _holder = holder; _belt = belt; if (holder.netUser != null) { _player = Fougerite.Server.GetServer().FindPlayer(holder.netUser.userID); } }
public static InventoryItem GetCurrentEquippedItem(Character character) { InventoryHolder component = character.GetComponent <InventoryHolder>(); if ((component != null) && (component.itemRepresentation != null)) { return((InventoryItem)component.inputItem); } return(null); }
private void itemEqp(InventoryHolder user, GameObject item, string slotName) { int itemCount = user.GetItemCount(item.GetComponent <Item>()); if (itemCount < 1) { itemGive(user, item, 1); } user.ForceEquip(item.GetComponent <Item>(), slotName); }
public static void StartFarming(Client sender) { try { if (Players.Player.IsOnProgress(sender)) { return; } InventoryHolder ih = API.shared.getEntityData(sender, "InventoryHolder"); var unprocessedItemID = API.shared.getEntityData(sender, "OnFarmZone"); Item itemfarm = ItemByID(unprocessedItemID); if (ih.CheckWeightInventory(itemfarm)) { Players.Player.OnProgress(sender); API.shared.triggerClientEvent(sender, "display_subtitle", "Vous commencez à ramasser du ~r~" + itemfarm.Name, 5000); bool _exit = false; int count = 0; while (!_exit) { API.shared.sleep(10000); if (!API.shared.hasEntityData(sender.handle, "OnFarmZone")) { API.shared.triggerClientEvent(sender, "display_subtitle", "Récolte interrompue : Veuillez retourner dans la zone pour récolter.", 60000); _exit = true; return; } else if (!ih.CheckWeightInventory(itemfarm)) { _exit = true; } else if (sender.vehicle != null) { _exit = true; } count = count + 1; ih.AddItemToInventory(itemfarm, 1); API.shared.triggerClientEvent(sender, "display_subtitle", "Récolte en cours: Vous avez ramassé +1 ~r~" + itemfarm.Name, 5000); } API.shared.triggerClientEvent(sender, "display_subtitle", "Récolte terminée : Vous avez ramassé ~r~" + count.ToString() + " " + itemfarm.Name.ToString(), 60000); Players.Player.OnProgress(sender, false); } else { API.shared.triggerClientEvent(sender, "display_subtitle", "Vous inventaire est plein!", 60000); } } catch (Exception e) { API.shared.consoleOutput("~r~[ERROR][INITFARM] : ~s~" + e.ToString()); } }
public override void OnOpen(Player player) { base.OnOpen(player); ContainerOpenPacket pk = new ContainerOpenPacket(); pk.WindowId = this.Type; pk.Type = this.Type; InventoryHolder holder = this.Holder; pk.Position = new Vector3(holder.X, holder.Y, holder.Z); player.SendPacket(pk); }
private void ClearSignals() { if (this._characterSignalee != null) { this._characterSignalee.signal_state -= this.stateSignalReceive; } if (this._holder != null) { this._holder.ClearItemRepresentation(this); this._holder = null; } this._characterSignalee = null; }
public override void Use(Client c) { if (c.vehicle == null) { API.shared.sendNotificationToPlayer(c, "Vous devez être dans un véhicule pour le réparer"); return; } API.shared.setVehicleHealth(c.vehicle, 2000); InventoryHolder ih = c.getData("InventoryHolder"); ih.RemoveItemFromInventory(this, 1); API.shared.sendNotificationToPlayer(c, "~g~ Véhicule Réparé"); }
public override void Use(Client c) { int actualHealth = API.shared.getPlayerHealth(c); int NewHeath = actualHealth + AmountToHeal; if (NewHeath > 100) { NewHeath = 100; } API.shared.setPlayerHealth(c, NewHeath); InventoryHolder ih = API.shared.getEntityData(c, "InventoryHolder"); ih.RemoveItemFromInventory(this, 1); }
private void Update() { if (Target == null) { return; } InventoryHolder ih = Target.GetComponent <InventoryHolder>(); if (ih == null) { return; } UpdateAmmo(ih.GetItemInSlot("Primary"), m_lastPrimary, m_primaryEquipmentIcon, m_primaryName, m_primaryCurrentClipText, m_primaryReserveAmmoText); //UpdateAmmo(ih.GetItemInSlot("Secondary"), m_lastSecondary, m_secondaryEquipmentIcon, m_secondaryName, m_secondaryCurrentClipText, m_secondaryReserveAmmoText); }
public override void Use(Client c) { int Thirst = API.shared.getEntitySyncedData(c, "PLAYER_HUNGRY"); int newThirst = Thirst + Food; if (newThirst > 100) { newThirst = 100; } API.shared.setEntitySyncedData(c, "PLAYER_HUNGRY", newThirst); API.shared.triggerClientEvent(c, "UpdateSurvival"); InventoryHolder ih = API.shared.getEntityData(c, "InventoryHolder"); ih.RemoveItemFromInventory(this, 1); }
public override void Use(Client c) { if (!API.shared.isPlayerInAnyVehicle(c)) { API.shared.triggerClientEvent(c, "display_subtitle", "Vous devez être dans un véhicule pour réparer ses pneus."); } else { for (var i = 0; i < 7; i++) { API.shared.popVehicleTyre(c.vehicle, i, false); } InventoryHolder ih = API.shared.getEntityData(c, "InventoryHolder"); ih.RemoveItemFromInventory(this, 1); } }