Difference between revisions of "RemoveItem"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>Maturin
 
imported>Dev akm
(→‎Notes: Troubleshooting link)
 
(19 intermediate revisions by 10 users not shown)
Line 1: Line 1:
Removes ''count'' number of the specified item from the calling object's inventory.
'''Syntax:'''
'''Syntax:'''
  RemoveItem ''ObjectID'', ''count'', ''RetainOwnershipFlag (optional)''
  RemoveItem ''ObjectID'', ''count''
'''Example:'''
 
'''Examples:'''
  RemoveItem Gold001 50
  RemoveItem Gold001 50


Ref MyItem
Short count
set MyItem to ArenaAkaviriLongSword
set count to 1
player.removeitem MyItem Count


Removes ''count'' number of the specified item from the calling object's inventory.
==Notes==
* Suffers from the same stability limitations as [[RemoveMe]]. Using RemoveItem immediately after the object has been added will often result in a crash. To prevent this, wait more than one frame before you remove the item.


* You can use a [[Variable_types:_reference_variables|reference variable]] as ''ObjectID'' and a [[Variable_types:_shortint|short]] variable for ''count''.


If ObjectID is a leveled list, the leveled item generated from the leveled list will be removed.
* If ObjectID is a leveled list, the leveled item generated from the leveled list will be removed.


* See [[Message Spam]] for techniques to avoid unwanted "Item Removed" messages.


If RetainOwnershipFlag = 1, the items' original ownership is retained; otherwise, the ownership is cleared.  
* RemoveItem is not always reliable when removing multiple items at once. See [[Common_Bugs#Remove_Item|Troubleshooting: Common Bugs]].


==Inventory Updating==
When you remove an item while the player's inventory menu ([[MenuMode]] 1002) is open, the item will remain visible even though it's really not there. To refresh the menu after removing the item, use
<pre>player.AddItem YourMiscItem 1
player.EquipItem YourMiscItem
player.UnEquipItem YourMiscItem
player.RemoveItem YourMiscItem 1</pre>
However, if the menu has been hidden with '''con_ToggleMenus''' (either via script or console) this will not work.


When you remove a large number of unique items from the player while their inventory menu is open, there may be some lag. You can prevent this with OBSE's [[con_ToggleMenus]] by placing it on both sides of the remove lines:
<pre>con_ToggleMenus
player.RemoveItem SomeItem001 1
...
player.RemoveItem SomeItem100 1
con_ToggleMenus
;Refresh the menu
player.AddItem YourMiscItem 1
player.EquipItem YourMiscItem
player.UnEquipItem YourMiscItem
player.RemoveItem YourMiscItem 1</pre>


==See Also==
==See Also==
[[RemoveAllItems]]
*[[RemoveItemNS]] - Spamless version of command (OBSE 15).
*[[AddItem]]
*[[GetItemCount]]
*[[RemoveAllItems]]
*[[Message Spam]] - Preventing message spam.


[[Category: Functions]]
[[Category:Functions (CS)]]
[[Category: Functions (CS 1.0)]]
[[Category: Inventory Functions]]
[[Category: Inventory Functions (CS 1.0)]]


[[Category: Functions]]
<!-- Begin Search Terms
[[Category: Object Functions]]
Remove
Item
End Search Terms -->

Latest revision as of 11:08, 14 April 2009

Removes count number of the specified item from the calling object's inventory.

Syntax:

RemoveItem ObjectID, count

Examples:

RemoveItem Gold001 50
Ref MyItem
Short count

set MyItem to ArenaAkaviriLongSword
set count to 1
player.removeitem MyItem Count

Notes[edit | edit source]

  • Suffers from the same stability limitations as RemoveMe. Using RemoveItem immediately after the object has been added will often result in a crash. To prevent this, wait more than one frame before you remove the item.
  • If ObjectID is a leveled list, the leveled item generated from the leveled list will be removed.
  • See Message Spam for techniques to avoid unwanted "Item Removed" messages.

Inventory Updating[edit | edit source]

When you remove an item while the player's inventory menu (MenuMode 1002) is open, the item will remain visible even though it's really not there. To refresh the menu after removing the item, use

player.AddItem YourMiscItem 1
player.EquipItem YourMiscItem
player.UnEquipItem YourMiscItem
player.RemoveItem YourMiscItem 1

However, if the menu has been hidden with con_ToggleMenus (either via script or console) this will not work.

When you remove a large number of unique items from the player while their inventory menu is open, there may be some lag. You can prevent this with OBSE's con_ToggleMenus by placing it on both sides of the remove lines:

con_ToggleMenus
player.RemoveItem SomeItem001 1
...
player.RemoveItem SomeItem100 1
con_ToggleMenus
;Refresh the menu
player.AddItem YourMiscItem 1
player.EquipItem YourMiscItem
player.UnEquipItem YourMiscItem
player.RemoveItem YourMiscItem 1

See Also[edit | edit source]