Difference between revisions of "GetItemCount - ObjectReference"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>Bug64
m (added link to getNumItems())
imported>Terra Nova2
m (→‎Notes: Dont call this on an objectrefernce outside of its cell.)
Line 37: Line 37:
* In all cases, if the object reference contains CK-Defined Leveled lists of items then this function will fail to operate properly ([http://forums.bethsoft.com/topic/1444477-about-addressing-the-follower-bow-issue/ Source])
* In all cases, if the object reference contains CK-Defined Leveled lists of items then this function will fail to operate properly ([http://forums.bethsoft.com/topic/1444477-about-addressing-the-follower-bow-issue/ 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 ([http://forums.bethsoft.com/topic/1441239-cant-getitemcount-on-the-pc-via-formlist-of-keywords/page__view__findpost__p__22215007 Source]) : it fails to include the CK-defined inventory when GetItemCount tries to calculate its count.
* 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 ([http://forums.bethsoft.com/topic/1441239-cant-getitemcount-on-the-pc-via-formlist-of-keywords/page__view__findpost__p__22215007 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.


== See Also ==
== See Also ==

Revision as of 03:24, 3 June 2016

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.

See Also