Difference between revisions of "GetNumItems"
Jump to navigation
Jump to search
imported>Haama (→Notes: Performance) |
imported>Haama (Added to Functions category) |
||
Line 31: | Line 31: | ||
[[Category: Functions]] | |||
[[Category: Functions (OBSE)]] | [[Category: Functions (OBSE)]] | ||
[[Category: Inventory Functions]] | [[Category: Inventory Functions]] |
Revision as of 01:52, 20 November 2007
A command for Oblivion Script Extender
Syntax:
GetNumItems
Must be called on a reference. Returns the number of unique items in the object's inventory.
Notes
- Note that it is the number of unique items in the inventory - 10 arrows will only count as one item.
- Gold counts as an item, so if you have any gold, you'll get a +1 to your return
- Equipped items and identical items that are unequipped are still only one unique item
- Using this function every frame will significantly drop FPS. The more items that have to be scanned, the worse it is (i.e., 1 item a frame will drop it by 3, 15 by 25). Use this function only when necessary, and try to avoid using it in GameMode.
- There are several ways to use GetInventoryObject instead of GetNumItems (keep in mind that it is also CPU-heavy, but not as much).
- There are several ways to use GetInventoryObject instead of GetNumItems (keep in mind that it is also CPU-heavy, but not as much).
If you need to test if a container has items in it, use
ref pInvObj ... set pInvObj to (SomeContainer.GetInventoryObject 0) if pInvObj ...
If you need to see if the player has a new item, use GetNumItems once and then GetInventoryObject
ref pInvObj short InvTotal ... if (InvTotal == 0) set InvTotal to SomeContainer.GetNumItems else set pInvObj (SomeContainer.GetInventoryObject InvTotal) if pInvObj ...