diff options
author | EyesOfAHawk <blackoutro2006@gmail.com> | 2019-02-28 21:15:57 +1300 |
---|---|---|
committer | Haru <haru@dotalux.com> | 2019-06-02 14:32:04 +0200 |
commit | 858e732e15c495f3073c8037b9612c6c20390f76 (patch) | |
tree | ab04375d02387f5e3bb81c95fe3d8a8e57fbdadd /doc | |
parent | 1ac84c2dd856087a4a72fec95b3322137187637a (diff) | |
download | hercules-858e732e15c495f3073c8037b9612c6c20390f76.tar.gz hercules-858e732e15c495f3073c8037b9612c6c20390f76.tar.bz2 hercules-858e732e15c495f3073c8037b9612c6c20390f76.tar.xz hercules-858e732e15c495f3073c8037b9612c6c20390f76.zip |
Adds BUILDIN(delitemidx), which deletes an item at the given index.
Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/script_commands.txt | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/doc/script_commands.txt b/doc/script_commands.txt index c3cc8a799..065b75c2b 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -5317,6 +5317,34 @@ Check getitem2() to understand its expanded parameters. --------------------------------------- +*delitemidx(<index>{, <amount>{, <account id>}}) + +This command will remove an item at the given inventory index. Unlike the +'delitem()' counterpart, this doesn't check invalid Item ID, making it useful to remove +invalid item IDs in player's inventory. + +If <amount> is not specified, this will remove all of the items at the specified index. +Note that items with the 'ForceSerial' flag, not yet merged through 'mergeitem()', will only +be removed at the given index. + +The only way to get the inventory index is by using 'getinventorylist()'. After deleting +an item at the given index, that index can remain empty until the player relogs, so you +should recall 'getinventorylist()' again. If you try to delete an item at an invalid index, the +script will terminate with an error. + +This command is also useful to remove rental/bound items because 'delitem()' +does not discriminate at choosing which item to remove. + +Example: + + // This will remove all invalid Item ID in player's inventory + getinventorylist(); + for (.@i = 0; .@i < @inventorylist_count; ++.@i) + if (getiteminfo(@inventorylist_id[.@i], ITEMINFO_TYPE) == -1) + delitemidx(@inventorylist_idx[.@i]); + +--------------------------------------- + *countitem(<item id>) *countitem("<item name>") |