Crossfire Server, Branches 1.12
R18729
|
Inventory checkers passively check the players inventory for a specific object. You can set a connected value that is triggered either if that object is present or missing (-> "last_sp") when a player walks over the inventory checker. A valid option is to remove the matching object (usually not recommended, see "last_heal").
Alternatively, you can set your inventory checker to block all players that do/don't carry the matching object (-> "blocked movement").
As you can see, inventory checkers are quite powerful, holding a great variety of possibilities.
Type defined by:
Attribute | Field | Description |
---|---|---|
block view | FLAG_BLOCKSVIEW | If an item is set to block view, players (and monsters) cannot see beyond it unless they cross it or manage to stand on top. |
blocked movement | obj::move_block | If set, only players meeting the match criteria can pass through that space. If unset (default), the inventory checker acts like a trigger/button. |
connection | connection value | Whenever the inventory checker is triggered, all objects with identical <connection> value get activated. This only makes sense together with <blocking passage> disabled. |
elevation | obj::elevation | The elevation (height above sea level) of this tile. It is used for weather calculations and should be in the range -32000..32000. The elevation of a tile must be set in the bottom-most game object; elevation values for non-bottom-most game objects are ignored by the Crossfire server. |
glow radius | obj::glow_radius | If <glow radius> is set to a value greater zero, the object appears lit up on dark maps. <glow radius> can be a value between 0 and 4, the higher, the more light does the object emit. |
identified | FLAG_IDENTIFIED | If an item is identified, the player has full knowledge about it. |
image | obj::face | The image-name defines what image is displayed for this object in-game. |
invisible | obj::invisible | Generally makes the object invisible. Depending on the object-type, some can be made visible by the show_invisible spell. If in doubt, test it. Putting an invisible object under the floor always prevents it from being shown. |
match = having | obj::last_sp | Enabled means having that object is a match. Disabled means not having that object is a match. |
match arch name | obj::race | This string specifies the object we are looking for: We have a match if the player does/don't carry an object of archetype <match arch name>. |
match key string | obj::slaying | This string specifies the object we are looking for: We have a match if the player does/don't carry a key object or a mark with identical <key string>. Note that key objects usually appear as "passports" in this context. A typical example is the city gate mechanism of Scorn. |
match type | liv::hp | This value specifies the object we are looking for: We have a match if the player does/don't carry an object that is of type <match type>. Example: Set <match type> 15 (type 15 => weapon) and <blocking passage> enabled. Now you have an inventory checker blocking all players that carry any kind of melee weapon. To pass, a player is forced to leave behind all his weaponry... bad news for a warrior. ;) |
material | obj::material | This bitmask-value informs the player of which material(s) the object consists. Material does also affect how likely the object can be destroyed by hazardous spell-effects. |
name | obj::name | This is the name of the object, displayed to the player. |
non-pickable | FLAG_NO_PICK | If set, the object cannot be picked up (Neither by players nor monsters). |
number | obj::nrof | This value determines the number of objects in one stack (for example: 100 gold coins => "number = 100"). You should set this at least to one, for any pickable object - otherwise it won't be mergeable into a stack. |
plural name | obj::name_pl | This is the plural name of the object. A plural name must be set for all items that can be picked up and collected by the player. |
remove match | obj::last_heal | <remove match> means remove object if found. Setting this is usually not recommended because inventory checkers are in general invisible. So, unlike for altars/ locked doors, the player won't expect to lose an object when walking over that square. And he doesn't even get a message either. So, if you enable <remove match>, make sure to inform the player what's going on! |
smooth level | obj::smoothlevel | If <smooth level> is set to a value greater zero, the object will be drawn partially over adjacent squares having a lower <smooth level> value. The value must be between 0 and 255 (inclusive); 0 means "never overlap adjacent squares". |
title | obj::title | This is the object's title. Once an object is identified the title is attached to the name. Typical titles are "of Mostrai", "of xray vision" etc. |
unpaid | FLAG_UNPAID | An <unpaid> item cannot be used unless a player carried it over a shop mat, paying the demanded price. Setting this flag makes sense only for pickable items inside shops. |
value | obj::value | Adds a certain value to the object: It will be worth that many times the default value from it's archetype (E.g. "value = 3" means three times worth the default value). Value for buying/selling will be further modified by various factors. Hence, testing values in-game is usually inevitable. |
weight | obj::weight | This value defines the object's weight in grams (1000g is 1kg). Objects with zero weight are not pickable for players. Still, set the "non-pickable"-flag for explicitly non-pickable objects (hey, this is opensource.. you never know ;) ). |