GetItemCount - ObjectReference
Revision as of 03:24, 3 June 2016 by imported>Terra Nova2 (→Notes: Dont call this on an objectrefernce outside of its cell.)
Member of: ObjectReference Script
Returns how many of the specified item is in this reference's inventory.
Syntax
int Function GetItemCount(Form akItem) native
Parameters
- akItem: The item to look for in this reference's inventory.
- If a reference, will look for just that particular reference.
- If a base object (like armor or a weapon), it will count the how many instances of that base object are in the container
- If a form list, it will count how many of each item in the form list is in the container and sum it all up
- If a keyword, it will count how many items with that keyword are in the container
Return Value
How many of said item is in this reference's inventory.
Examples
if (Game.GetPlayer().GetItemCount(WeapTypeSwordKeyword) == 0)
Debug.Trace("Player has no swords")
endIf
if (Game.GetPlayer().GetItemCount(SuperSecretPotionReference) == 0)
Debug.Trace("Player doesn't have the super-secret potion")
endIf
Notes
- If the argument akItem is a keyword and the object reference is an actor this function will fail to operate properly. A solution is to transfer the contents of the actor's inventory to a container and call the function on that container ( Source (EN) - Source (FR)).
- In all cases, if the object reference contains CK-Defined Leveled lists of items then this function will fail to operate properly (Source)
- If the argument akItem is a keyword and the object reference contains CK-defined items (Object References) then this function will fail to operate properly (Source) : it fails to include the CK-defined inventory when GetItemCount tries to calculate its count.
- Calling this function on and objectrefernce from the outside of its cell will return 1 in the case of the passed in form being in a leveled list. Needs more testing.. but works fine if the player is in the same cell.