Has

From AGI Wiki
Jump to navigationJump to search

The has command returns TRUE if the specified inventory item is in the player's inventory (i.e. the item's room number equals 255).

Syntax

has(itm iA)
has("item")

Remarks

Test commands are only valid in an if statement.

The has command checks the room number value of item iA and returns true if it equals 255. This is basically a shortcut equivalent to the obj.in.room command if testing for room 255.

If an inventory item's room number is 255 it means the object has been 'picked up' and is in the player's inventory.

This statement can be combined with the NOT operator to create a ‘not in inventory’ test.

Possible Errors

If the inventory item is not valid (the number exceeds the total number of inventory items in the OBJECT file), AGI will raise trappable error #23.

Example

Code:

<syntaxhighlight lang="agi"> if(has(i12))

 {   
 print("you already have item 12");
 }

[ equivalent code: v50 = 255; if obj.in.room(i12, v50))

 {
 print("you already have item 12");
 }

</syntaxhighlight>

Technical Information

Required Interpreter Version: Available in all AGI versions.
Byte-Code Value: 9 (0x09 hex)

See Also

Test Commands
Inventory Item Commands
obj.in.room