Black ops 4 (T8) information…
Each thing you can find on the ground in Blackout is an item (Armors, Attachments, Quest items, Vehicles, Weapons, etc.).
An item is described by its id, name, rarity and type.
Rarity
None
- Ammo, Armor, Armor_shard, Attachment, Backpack, Cash, Equipment, Generic, Killstreak, Quest, Resource, Vehicle, WeaponCommon
- Weapon, Health, Attachment, EquipmentRare
- Unused, but can be seen in the codeEpic
- Gold weaponsLegendary
- Operator weaponsType
ammo
- Ammosarmor
- Armorsarmor_shard
- Armor shardsattachment
- Attachmentsbackpack
- Backpack (only one element)cash
- Cash (only one element, unused)equipment
- Equipmentsgeneric
- Perkshealth
- Health itemskillstreak
- Killstreak items (Recon car)quest
- Quest itemsresource
- Resources (Paint cans and Blackjack key)vehicle
- Vehiclesweapon
- Weapons (Heros, WWs, Gold, Operator, Wallbuy or Other)To use an item, you need to create an item point from it, an item point is describing an instance of this item in the world.
struct ItemPoint {
// item id
int id;
// item id (same)
int var_bd027dd9;
// item angle in the world
vector angles = (0, 0, 0);
// item origin in the world
vector origin = (0, 0, -64000);
// item information, if undefined the item doesn't exist
ItemInfo var_a6762160;
}
struct ItemInfo {
// item name
string name;
// amount by default
int amount;
// item type
string itemtype;
// item rarity
string rarity;
// unknown
string type = "itemspawnentry";
// the weapon if this item is a weapon
Weapon? weapon;
// the vehicle name if this item is a vehicle
string? vehicle;
}
To create an item point you can use the item id or the item name. You have 2 functions,
// create an item point from a hash
function_4ba8fde(hash name)->ItemPoint;
// create an item point from an id
function_b1702735(int id)->ItemPoint;
If you want to get all the items, the id is starting from 0 to the value returned by this function (exclusive)
// get the count of items
function_8322cf16()->int;
The items are complex structures, you can’t use them without using the in-game functions.
You have 3 main functions,
#using scripts\wz_common\wz_loadouts.gsc;
#using scripts\mp_common\item_inventory.gsc;
#using scripts\mp_common\item_world.gsc;
// get the item point, same as function_4ba8fde, but apply the fixup
wz_loadouts::_get_item(hash item_id)->ItemPoint;
// get the slot id of an item point in the player inventory
<player> item_inventory::function_e66dcff5(ItemPoint itempoint)->int;
// give to a player an item into a slot
item_world::function_de2018e3(ItemPoint itempoint, Player player, int slotid);
TODO