Full Version : Use levers and switches to activate other objects
xmlspawner >>XMLSpawner - How do I? >>Use levers and switches to activate other objects
<< Prev | Next >>
ArteGordon- 01-01-2006
Levers and Switches
The script SimpleSwitches.cs included in the xmlspawner2 package adds three items
SimpleLever - a 2or3-state lever
SimpleSwitch - a 2 state switch with different facings determined by direction
CombinationLock - a multiple digit lock.
These can be placed by using the [add command like
[add simplelever
When the lever or switch are placed into a particular position (states) by double clicking them, they can be configured to set properties on target items such as doors (locked/unlocked), or even to do things like add items to containers, or activate spawners.
The states have the values 0,1, and 2 (for the 3 state lever). Each of these states has a pair of TargetItem and TargetProperties associate with it, like
Target0Item and Target0Property for state 0
Target1Item and Target1Property for state 1
Target2Item and Target2Property for state 2 (3 state lever only)
By setting the TargetItem and TargetProperty properties, you allow the switch/lever states to set properties on the target item according the corresponding TargetProperty string.
So, for example to use a switch to unlock a door when the switch is in the 1 state, set Target1Item to the door and then set Target1Property to
/locked/false
to open the door set it to
/open/true
to lock and close it when the switch is in the 0 state, set Target0Item to the door and then set Target0Property to
/locked/true/open/false
(note, it uses the same syntax as the xmlspawner2 property specification strings. Since it shares the same syntax, you can also have it do things like change the color of an item, or add items to a container using the ADD/<spec> string.)
Activating the switches and levers is subject to range, line-of-sight restrictions (have to be within 2 tiles and be able to see it to use it).
Timed Levers and Switches
The TimedSwitch, TimedLever, and TimedSwitchableItem items are similar to the SimpleSwitch and Simple lever, but the TimedSwitch, TimedLever items add a reset timer to the switch/lever states with MinDelay and MaxDelay properties.
The item TimedSwitchableItem is a TimedSwitch that allows you to specify the Item statics that will be assigned to each state, allowing flexible user-defined visuals during switching, such as a torch or a stone, or a wall section, etc.
Because it is a TimedSwitch you can assign actions that are associated with each state as well, such as opening a door when double-clicking a torch, or opening a secret passage when double-clicking on a wall section, etc.
The current switching state of all of these items is contained in the State property, and the ResetState is the value that the State will be returned to after the reset timer expires.
The amount of time remaining until the switch or lever resets can be seen or changed in the TimeUntilReset property.
The Combination lock
SimpleCombinationLock simulates a multi-digit (max 8) combination lock. The state of each of the digits can be set using (for example) the lever or switch items. The combination is set in the Combination property. So the combination of 378, would correspond to digits 2,1,0 taking on values of 3,7, and 8 respectively.
The Match property can be tested to determine when the target combination is matched by the combination of digits.
Note that digit number corresponds to significance, from least to most.
Each digit is a property (Digit0, Digit1, Digit2, ... Digit7) and can take on the values 0-9. You can set the property string to indicate either a property name on the target item (e.g. switchstate, or leverstate, or totalgold), or you can specify a test such as totalgold<100, or open=false, or locked=true.
You could use this item to look for certain combinations of switches or levers, door states, etc. or even combinations of levers, and weight of a container, or number of kills on a spawn etc., and then open a door, or add items to a container, or change the color of a stone, trigger a spawn, etc.
Mage-Solitaire- 01-03-2006
Les leviers et les commutateurs
le script SimpleSwitches.cs inclus dans le paquet xmlspawner2 ajoute trois objets:
SimpleLever - 2 ou 3 positions du levier
SimpleSwitch - un commutateur de 2 états avec différentes faces déterminées par la direction
CombinationLock - une serrure multiple de chiffre.
Ceux-ci peuvent être placés en employant la commande [add comme ceci:
[add simplelever
quand le levier ou le commutateur sont placés dans une position particulière (states) par un double click, ils peuvent être configurés pour déterminer des propriétés sur des objets tels que les portes (locked/unlocked), ou même pour faire des choses comme ajouter des des objets dans un coffre, ou activer un spawner.
Les states ont les valeurs 0,1, et 2 (pour le levier de 3 états). Chacun de ces states a une 2 entrées associées: TargetItem et TargetProperties
Target0Item et Target0Property pour l'état 0
Target1Item et Target1Property pour l'état 1
Target2Item et Target2Property pour l'état 2 (pour le levier a 3 states uniquement)
en plaçant les propriétés de TargetItem et de TargetProperty, vous permettez aux states de switch/lever de placer des propriétés sur l'objet cible, suivant la configuration de l'entrée TargetProperty.
Ainsi, par exemple pour utiliser un commutateur pour ouvrir une porte quand le commutateur est dans le state 1, placez Target1Item sur la porte et puis configurez Target1Property sur:
/locked/false
pour ouvrir la porte, configurez
/open/true
pour fermer la serrure et fermer la porte quand le commutateur est sur le state 0, placez Target0Item sur la porte et puis configurez Target0Property sur:
/locked/true/open/false
(note, on emploie la même syntaxe que dans les entrée de lignes des xmlspawner2. Puisqu'elles partagent la même syntaxe, vous pouvez également lui faire faire d'autres choses comme le changement la couleur d'un objet, ou ajoutez des objets dans un coffres: ADD/<spec > .)
Le déclenchement des commutateurs et des leviers est sujet à distance et aux restrictions de ligne de vue (2 tiles max de distance et être vu pour les employer).
Timed Levers and Switches
les objets de TimedSwitch, de TimedLever, et de TimedSwitchableItem sont semblables au SimpleSwitch et au Simplelever, mais les TimedSwitch et TimedLever ajoutent un temporisateur aux states de switch/lever avec des propriétés de MinDelay et de MaxDelay.
L'objet TimedSwitchableItem est un TimedSwitch qui vous permet d'indiquer l'objet static qui sera assigné à chaque état, permettant des visuels définis pour l'utilisateur flexibles pendant la commutation, telle qu'une torche ou une pierre, ou une section murale, etc...
Puisque c'est un TimedSwitch vous pouvez assigner les actions qui sont aussi bien associées à chaque état, comme ouvrir une porte en double cliquant sur une torche, ou en ouvrant un passage secret en double cliquant sur une section murale, etc...
L'état courant de commutation de tous ces articles est contenu dans la propriété d'état, et le ResetState est la valeur à laquelle l'état retournera à après que le temporisateur expire.
La durée de temps restante jusqu'a remise à zéro du commutateur ou due levier peut être vue ou changée dans la propriété de TimeUntilReset.
La Combination lock
SimpleCombinationLock simule une serrure multi-chiffre (serrure de combinaison de maximum 8). L'état de chacun des chiffres peut être placé en utilisant (par exemple) les objets levier ou commutateur. La combinaison est placée dans la propriété "combinaison".
Ainsi la combinaison de 378, correspondrait aux chiffres 2.1.0 prenant des valeurs de 3.7 et 8 respectivement.
La propriété Match peut être examinée pour déterminer quand la combinaison est bonne.
Chaque chiffre est une propriété (Digit0, Digit1, Digit2... Digit7) et peut prendre sur les valeurs 0-9.
Vous pouvez configurer l'entrée de la propriété pour indiquer un nom de propriété sur l'objet cible (par exemple switchstate, ou leverstate, ou totalgold), ou vous pouvez indiquer un essai tel que totalgold<100, ou open=false, ou le locked=true.
Vous pourriez employer cet objet pour rechercher certaines combinaisons de commutateurs ou des leviers, des états de porte, etc. ou même des combinaisons de leviers, et du poids d'un coffre, ou du nombre de morts sur un spawn etc., et puis ouvrez une porte, ou ajoutez des objets à un coffre, ou changez la couleur d'une pierre, déclenchez un spawn, etc...