====== tnhScript ====== These scripts can be found in the free-to-use module ''tnhScript.osm''. Fan-mission authors may include the script module in their mission as long as they fully comply with the Dromed EULA. ===== Demo Fan-Mission ===== This fan-mission contains sample uses of most of the scripts. * [[http://whoopdedo.org/tnhdemo21.zip|tnhdemo21.zip]] ===== Using the Scripts ===== Dromed provides standard properties and links for scripts to use. The ``[[dromed:link:ControlDevice]]`` link is most often used to assocated a trigger (the source of the links) with a trap (the destination). Scripts which have a delayed effect usually check the ``[[dromed:property:ScriptTiming]]`` property for the time value. Custom scripts often require settings not provided by the standard properties. The [[DesignNote|Editor->Design Note]] property is used for additional configuration options. When a special type of link is required, the association is made with a ``[[dromed:link:ScriptParams]]`` link and the data of the link tells what the special meaning is. ===== Generic Scripts ===== Many of the scripts share common features. These are implemented in three generic scripts. |[[GenericTrap]] | A switch-like script which responds to ``TurnOn`` and ``TurnOff`` messages. | |[[GenericScale]] | A knob-like script which works with a numerical argument. | |[[GenericControl]] | A script which can take a string argument. | |[[GenericTrigger]] | A script that is more likely to send triggers, than receive them. | All of the generic scripts should put a meaningful value in the message return argument, or at least set it to non-zero if I couldn't think of anything "meaningful." This is so the scripts can be used directly in a pseudo-script. Returning zero causes the pseudo-script to abort, which usually is too drastic. ===== The Scripts ===== * [[ScriptController]] * [[CommandControl]] * [[TrapFrobber]] * [[TrigFrobber]] * [[TrapMoveRelative]] * [[TrapCampaignQVar]] * [[TrapKillEvents]] * [[TrapCamAttach]] * [[TrapFreezePlayer]] * [[TrapThreshold]] * [[TrapRandomTimer]] * [[TrapRelayRepeat]] * [[TrapRenderFlash]] * [[TrapDisarmPlayer]] * [[ObjFrobInert]] * [[DoorFrobInert]] * [[GrabFrobInert]] * [[TweqFrobInert]] * [[TrapFrobInert]] * [[UnlinkOnContained]] * [[TimedGrenade]] * [[ZeroGravRoom]] * [[TrapFadeOut]] * [[LockHelper]] * [[TrapSiblingRelay]] * [[TrigContact]] * [[TrapText]] * [[FocusPlaque]] * [[ContainerPhysics]] * [[RandomPatrolPath]] * [[RandomStartingPoint]] * [[TrigDoorOpening]] * [[InvCarryOver]] * [[InvLoadUp]] * [[GenericPotion]] * [[InventoryMetaprop]] * [[TrapContainer]] * [[TrapDispenser]] * [[TrigPurchase]] * [[SimpleGun]] * [[TurnAtWaypoints]] * [[VisibleRelay]] * [[ResetTweqState]] * [[RecallDevice]] * [[TrigProxFrob]] * [[PoliteVOTrap]] * [[TrigSchemaDoneSpec]] * [[AIGoMissing]] * [[MissingMarker]] * [[UndeadRadar]] * [[TrigBreadcrumb]] * [[FollowBreadcrumb]] * [[RainSFX]] * [[TrackAttach]] * [[ElevatorCar]] * [[TrigElevator]] * [[TrapPhysical]] * [[TrigProximity]] * [[ScaleJointTweq]] * [[KnockOnDoor]] * [[OnScreenText]] * [[InteractFrobHack]] * [[AIInteraction]] * [[PlayerInteraction]] * [[AwarenessFilter]] * [[TrapSignalAwareness]] * [[PrivateRoom]] * [[HighlySuspicious]] * [[VendorRelay]] * [[LootExchange]] * [[PurchaseItem]] * [[ShoppingCart]] * [[LootStats]] * [[AIFactory]] * [[NewCrystal]] * [[NewKey]] * [[NewGasLight]] * [[NewSecurityDoor]]