Crossfire Server, Branches 1.12  R18729
Detector

Description

Detectors work quite much like inventory checkers/pedestals: If the detector finds a specific object, it toggles its connected value.

What is "unique" about them, compared to inventory checkers/ pedestals?

  • First, detectors check their square for a match periodically, not instantly. Second, detectors check directly for object names. Third, detectors do not check the inventory of players/monsters.

Type defined by:

Attributes

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.
connection connection value When the detector is triggered, all objects with the same connection value get activated.
detection speed obj::speed This value defines the time between two detector-checks. If you want the detector to behave almost like pedestals/buttons, set speed rather high, like <detection speed> 1.0.
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 name obj::slaying <match name> specifies the name of the object we are looking for. Actually it does also check for the <key string> in key-objects, but for this case inventory checkers are often more powerful to use.
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.
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 ;) ).