Difference between revisions of "Global Python Scripts"
(→xAgeSDLBoolRespond) |
m (remove a space) |
||
(16 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | + | Global Python scripts are ready-made components which can be used in combination with [[Using SDL States|SDL states]], or sometimes directly with specific scene objects. There are several advantages to using these global scripts: you don't need to write your own script for most common interactions, and in many cases these scripts are highly adaptable to your needs. In addition, they are generally well-tested as they are used throughout the existing game, and by other Age-writers as well, so everyone benefits from their features and bug-fixes. | |
− | These scripts require parameters | + | These scripts usually require you to pass parameters to them. If you are using 3DS Max you can see these parameters in the roll-out of your Python File Component (provided that you have [https://github.com/H-uru/Plasma/archive/master.zip downloaded] and installed the Python files from Scripts/Python to the Python folder within your Max export folder). PyPRP users will need to manually specify these parameters in a ''pythonfile'' [[Beginner's Guide to AlcScript|logicmod]] of your AlcScript. Korman users can select the file when adding a [[Korman:Python Nodes|Python File Mod logic node]], and the available attributes will be automatically populated in the node. |
− | In | + | In order to use these scripts, you will need to know what those parameters do. This page is a reference for the most common or notable global scripts. |
− | This | + | This reference lists the global Python scripts as found in Uru:CC (with Drizzle/Offline KI modifications if available) and MOULa. The table provided for each script lists the versions of the game in which each parameter is available. |
+ | == Python parameters and ID numbers == | ||
+ | The parameters for each script are numbered, and each parameter ID number is unique. It is important that this number in the script matches the one provided by your Age. The Max plugin and Korman will take care of that automatically. Users of PyPRP will find that by default it assigns ID numbers in the order of appearance in the AlcScript. Since some parameters skip numbers (due to old options being deprecated), you must sometimes add blank entries in AlcScript by adding fake parameters of the type "skip", or else manually specify the index as one of the array keys. | ||
− | '' | + | == Age SDL == |
+ | === Boolean AND Responder === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Age SDL Var #1||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||Age SDL Var #2||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||Run if bool true:||Responder||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Run if bool false:||Responder||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |5||F-Forward on VM notify||Boolean||<pre>'default': 1</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |6||F-Forward on Init||Boolean||<pre>'default': 1</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |7||Default setting||Boolean||<pre>'default': 0</pre>||MOUL | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xAgeSDLBoolAndRespond.py xAgeSDLBoolAndRespond] | ||
+ | Runs either of two responders if the result of a logical AND between the values of two SDL variables is either true or false. Useful to trigger something when two disconnected actions have been taken by the avatar. | ||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Boolean AND Setter === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||AgeSDL Operand 1||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||AgeSDL Operand 2||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||AgeSDL Result||String||<pre></pre>||MOUL, PotS | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xAgeSDLBoolAndSet.py xAgeSDLBoolAndSet] | ||
+ | Sets an SDL value to the result of a logical AND of two other SDL values. | ||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Boolean Conditional Responder === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Activator:||Activator||<pre></pre>||MOUL | ||
+ | |- | ||
+ | |2||Age SDL Var Name:||String||<pre></pre>||MOUL | ||
+ | |- | ||
+ | |3||Responder:||Responder||<pre></pre>||MOUL | ||
+ | |- | ||
+ | |4||Trigger on SDL=true?||Boolean||<pre>'default': 1</pre>||MOUL | ||
+ | |- | ||
+ | |5||F-Forward on Init||Boolean||<pre>'default': 0</pre>||MOUL | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xAgeSDLBoolCondResp.py xAgeSDLBoolCondResp] | ||
+ | Triggers a responder when the activator is triggered, if the SDL value is currently true (or false, if specified). Useful for a button which should only have an effect if the device is already powered elsewhere. | ||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Boolean Responder === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Age SDL Var Name||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||Run if bool true:||Responder||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||Run if bool false:||Responder||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||F-Forward on VM notify||Boolean||<pre>'default': True</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |5||F-Forward on Init||Boolean||<pre>'default': True</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |6||Default setting||Boolean||<pre>'default': False</pre>||MOUL | ||
+ | |- | ||
+ | |7||Init SDL On First Update?||Boolean||<pre>'default': False</pre>||MOUL | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xAgeSDLBoolRespond.py xAgeSDLBoolRespond] | ||
+ | Runs either responder 2 or responder 3 when the specified SDL value is changed, depending on whether the new value is true or false. The actual state change is handled by another Python script, usually [[#Boolean Setter|xAgeSDLBoolSet]] or [[#Boolean Toggle|xAgeSDLBoolToggle]]. | ||
+ | <div style="clear:both;"> </div> | ||
− | == | + | ==== AlcScript ==== |
− | < | + | <source lang="yaml" class="mw-collapsible mw-collapsed"> |
− | + | <object name>: | |
− | + | logic: | |
− | + | actions: | |
− | + | - pythonfile: | |
− | + | file: xAgeSDLBoolRespond | |
− | </ | + | parameters: |
+ | - type: string | ||
+ | value: <name of BOOL SDL to monitor> | ||
+ | - ref: :<responder to run if bool true> | ||
+ | type: responder | ||
+ | - ref: :<responder to run if bool false> | ||
+ | type: responder | ||
+ | - type: bool | ||
+ | value: false | ||
+ | - type: bool | ||
+ | value: true | ||
+ | tag: BoolRespond | ||
+ | type: pythonfile | ||
+ | </source> | ||
− | == | + | <div style="clear:both;"> </div> |
− | <pre> | + | ---- |
− | + | === Boolean Setter === | |
− | + | {| class="wikitable" style="float:right;" | |
− | + | !ID || Description || Type || Arguments || Engine Support | |
− | </pre> | + | |- |
− | + | |1||Activator||Activator||<pre></pre>||MOUL, PotS | |
+ | |- | ||
+ | |2||Age SDL Var Name||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |7||Set Var to:||Integer||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |8||Extra info to pass along||String||<pre></pre>||MOUL, PotS | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xAgeSDLBoolSet.py xAgeSDLBoolSet] | ||
+ | Sets an SDL variable to 0 (false) or 1 (true). Often used in combination with [[#Boolean Responder|xAgeSDLBoolRespond]]. | ||
+ | xAgeSDLBoolSet is useful for those events which you want to be irreversible, or which are controlled by different activators (for example a device with separate on and off buttons). In most cases you'll probably want to use [[#Boolean Toggle|xAgeSDLBoolToggle]] instead. | ||
− | + | <div style="clear:both;"> </div> | |
− | + | ||
− | + | ||
− | == | + | ==== AlcScript ==== |
− | < | + | <source lang="yaml" class="mw-collapsible mw-collapsed"> |
− | + | <object name>: | |
− | + | logic: | |
− | + | actions: | |
− | + | - pythonfile: | |
− | + | file: xAgeSDLBoolSet | |
− | < | + | parameters: |
− | + | - ref: logicmod:<logic modifier name> | |
+ | type: activator | ||
+ | - type: string | ||
+ | value: <name of BOOL SDL to set> | ||
+ | - type: skip | ||
+ | - type: skip | ||
+ | - type: skip | ||
+ | - type: skip | ||
+ | - type: int | ||
+ | value: <0 or 1> | ||
+ | - type: string | ||
+ | value: <info string> | ||
+ | tag: BoolSet | ||
+ | type: pythonfile | ||
+ | </source> | ||
− | + | <div style="clear:both;"> </div> | |
− | + | ---- | |
− | + | === Boolean Show/Hide === | |
− | + | {| class="wikitable" style="float:right;" | |
− | + | !ID || Description || Type || Arguments || Engine Support | |
+ | |- | ||
+ | |1||Age SDL Var Name||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||Show on true||Boolean||<pre>'default': True</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||Default setting||Boolean||<pre>'default': False</pre>||MOUL | ||
+ | |- | ||
+ | |4||Eval On First Update?||Boolean||<pre>'default': False</pre>||MOUL | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xAgeSDLBoolShowHide.py xAgeSDLBoolShowHide] | ||
+ | This modifier hides or shows the object to which it is attached based on the value of the specified SDL variable. By default, a value of True shows the object, and False hides it. Setting "show on true" to false reverses that logic. | ||
− | = | + | <div style="clear:both;"> </div> |
− | < | + | ==== AlcScript ==== |
+ | <source lang="yaml" class="mw-collapsible mw-collapsed"> | ||
<object name>: | <object name>: | ||
− | + | logic: | |
− | + | actions: | |
− | - type: | + | - pythonfile: |
− | + | file: xAgeSDLBoolShowHide | |
− | + | parameters: | |
− | + | - type: string | |
− | + | value: <name of BOOL SDL to monitor> | |
− | + | - type: bool | |
− | + | value: true | |
− | + | tag: BoolShowHide | |
− | + | type: pythonfile | |
− | + | </source> | |
− | + | ||
− | + | <div style="clear:both;"> </div> | |
− | + | ---- | |
− | + | === Boolean Toggle === | |
− | + | {| class="wikitable" style="float:right;" | |
− | + | !ID || Description || Type || Arguments || Engine Support | |
− | + | |- | |
− | </pre> | + | |1||Activator||Activator||<pre></pre>||MOUL, PotS |
+ | |- | ||
+ | |2||Age SDL Var Name||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |5||Extra info to pass along||String||<pre></pre>||MOUL, PotS | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xAgeSDLBoolToggle.py xAgeSDLBoolToggle] | ||
+ | Toggles an SDL variable between 0 (false) and 1 (true). Often used in combination with [[#Boolean Responder|xAgeSDLBoolRespond]]. This is often used for things like light switches. | ||
+ | |||
+ | <div style="clear:both;"> </div> | ||
+ | |||
+ | ==== AlcScript ==== | ||
+ | <source lang="yaml" class="mw-collapsible mw-collapsed"> | ||
+ | <object name>: | ||
+ | logic: | ||
+ | actions: | ||
+ | - pythonfile: | ||
+ | file: xAgeSDLBoolToggle | ||
+ | parameters: | ||
+ | - ref: logicmod:<logic modifier name> | ||
+ | type: activator | ||
+ | - type: string | ||
+ | value: <name of BOOL SDL to toggle> | ||
+ | - type: skip | ||
+ | - type: skip | ||
+ | - type: string | ||
+ | value: <info string> | ||
+ | tag: BoolToggle | ||
+ | type: pythonfile | ||
+ | </source> | ||
+ | |||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Boolean Toogle Dependent === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Activator||Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||AgeSDL Enabler||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||AgeSDL Var To Change||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Extra info to pass along||String||<pre></pre>||MOUL, PotS | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xAgeSDLBoolToggleDependent.py xAgeSDLBoolToggleDependent] | ||
+ | Changes an SDL value when the activator is triggered, only if another SDL value is currently true. | ||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Integer Activator Enabler === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Age SDL Variable||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||Activator||Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||Active state values||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Default setting||Integer||<pre>'default': 0</pre>||MOUL | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xAgeSDLIntActEnabler.py xAgeSDLIntActEnabler] | ||
+ | Activates the specified activator if the SDL variable is currently set to one of the states given in the state list. The state list must be a comma-separated list of state values. | ||
+ | <div style="clear:both;"> </div> | ||
+ | |||
+ | ==== AlcScript ==== | ||
+ | <source lang="yaml" class="mw-collapsible mw-collapsed"> | ||
+ | <object name>: | ||
+ | logic: | ||
+ | actions: | ||
+ | - pythonfile: | ||
+ | file: xAgeSDLIntActEnabler | ||
+ | parameters: | ||
+ | - type: string | ||
+ | value: <name of SDL to monitor> | ||
+ | - ref: logicmod:<logic modifier name> | ||
+ | type: activator | ||
+ | - type: string | ||
+ | value: 1 | ||
+ | tag: IntActEnabler | ||
+ | type: pythonfile | ||
+ | </source> | ||
+ | |||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Integer Counter === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Activator||Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||Age SDL Var Name||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||Counter: Increment||Boolean||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Counter: Decrement||Boolean||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |5||Counter: Min||Integer||<pre>'default': 0</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |6||Counter: Max||Integer||<pre>'default': 10</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |7||Counter: Loop||Boolean||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |8||Optional Hint String||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |9||Don't Count, Set To:||Integer||<pre>'default': 0</pre>||MOUL, PotS | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xAgeSDLIntChange.py xAgeSDLIntChange] | ||
+ | Increments or decrements an SDL value when activator is triggered. May also have a minimum or maximum value, and can be looped. | ||
+ | <div style="clear:both;"> </div> | ||
+ | |||
+ | ==== AlcScript ==== | ||
+ | <source lang="yaml" class="mw-collapsible mw-collapsed"> | ||
+ | <object name>: | ||
+ | logic: | ||
+ | actions: | ||
+ | - pythonfile: | ||
+ | file: xAgeSDLIntChange | ||
+ | parameters: | ||
+ | - ref: logicmod:<logic modifier name> | ||
+ | type: activator | ||
+ | - type: string | ||
+ | value: <name of INT or BYTE SDL to set> | ||
+ | - type: bool | ||
+ | value: true | ||
+ | - type: bool | ||
+ | value: false | ||
+ | - type: int | ||
+ | value: 0 | ||
+ | - type: int | ||
+ | value: 3 | ||
+ | - type: bool | ||
+ | value: true | ||
+ | - type: skip | ||
+ | - type: int | ||
+ | value: 0 | ||
+ | tag: IntChange | ||
+ | type: pythonfile | ||
+ | </source> | ||
+ | |||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Integer Responder List === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Age SDL Variable||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||ResponderList||Responder List||<pre>'byObject': 1</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||Responder name format string||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Max state value||Integer||<pre>'default': 2</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |5||F-Forward on start||Boolean||<pre>'default': 0</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |6||F-Forward on VM notify||Boolean||<pre>'default': 1</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |7||Default setting||Integer||<pre>'default': 0</pre>||MOUL | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xAgeSDLIntRespList.py xAgeSDLIntRespList] | ||
+ | Activates numbered responders matching the pattern given based on the value of an SDL value. The naming pattern should be given as ''ResponderName%d'' where ResponderName is the common portion of the name assigned to the responders in the set. The %d portion will be replaced in the script by the SDL value's number, and the Responder thus named will be activated. | ||
+ | |||
+ | Useful for activating different responders when a button is pushed, depending on the current state of a dial or other multi-state indicator. Valid responders must be named in ''respList'' and cannot be numbered higher than the value specified in ''intMaxState''. | ||
+ | |||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Integer Show/Hide === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Age SDL Var Name||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||States in which shown||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||Default setting||Integer||<pre>'default': 0</pre>||MOUL | ||
+ | |- | ||
+ | |4||Eval On First Update?||Boolean||<pre>'default': 0</pre>||MOUL | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xAgeSDLIntShowHide.py xAgeSDLIntShowHide] | ||
+ | Shows or hides the object to which this modifier is attached, based on whether the SDL value matches one of the states specified in the state list. The state list must be a comma-separated list of values. The object will be hidden if the current value is not in the list. When hidden, the object's physics are also disabled. | ||
+ | |||
+ | <div style="clear:both;"> </div> | ||
+ | |||
+ | ==== AlcScript ==== | ||
+ | <source lang="yaml" class="mw-collapsible mw-collapsed"> | ||
+ | <object name>: | ||
+ | logic: | ||
+ | actions: | ||
+ | - pythonfile: | ||
+ | file: xAgeSDLIntShowHide | ||
+ | parameters: | ||
+ | - type: string | ||
+ | value: <name of INT or BYTE SDL to monitor> | ||
+ | - type: string | ||
+ | value: 2 | ||
+ | tag: IntShowHide | ||
+ | type: pythonfile | ||
+ | </source> | ||
+ | |||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Integer Start/Stop Responder === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Age SDL Variable||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||Start Responder||Responder||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||Start state values||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Fast forward on start||Boolean||<pre>'default': 0</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |5||Stop Responder||Responder||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |6||Fast forward on stop||Boolean||<pre>'default': 1</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |7||Default setting||Integer||<pre>'default': 0</pre>||MOUL | ||
+ | |- | ||
+ | |8||F-Forward on Init||Boolean||<pre>'default': 0</pre>||MOUL | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xAgeSDLIntStartStopResp.py xAgeSDLIntStartStopResp] | ||
+ | Runs the specified responder if the specified SDL variable's value is in the start values list, and otherwise stops it. | ||
+ | |||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Integer State List Responder === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||SDL Variable||String||<pre></pre>||MOUL | ||
+ | |- | ||
+ | |2||Enter State Responder||State Responder||<pre></pre>||MOUL | ||
+ | |- | ||
+ | |3||Value/State Pairs||String||<pre></pre>||MOUL | ||
+ | |- | ||
+ | |4||F-Forward on start||Boolean||<pre>'default': 0</pre>||MOUL | ||
+ | |- | ||
+ | |5||F-Forward on VM notifications||Boolean||<pre>'default': 0</pre>||MOUL | ||
+ | |- | ||
+ | |6||Default setting||Integer||<pre>'default': 0</pre>||MOUL | ||
+ | |- | ||
+ | |7||Eval On First Update?||Boolean||<pre>'default': 0</pre>||MOUL | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xAgeSDLIntStateListResp.py xAgeSDLIntStateListResp] | ||
+ | Runs a specific responder state based on the current value of the specified SDL variable. The state list holds the pairs for mapping them, with the first value being the input state value, and the second being the state into which the responder will run. | ||
+ | |||
+ | For example, the state list (1,0)(2,2)(3,9) would set ''respEnterState'' to state 0 when ''strSDLVarName's'' value is 1, ''respEnterState'' to state 2 when ''strSDLVarName'' is 2, and ''respEnterState'' to state 9 when ''strSDLVarName'' is 3. | ||
+ | |||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Variable Setter === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Age SDL Variable||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||SDL Variable To Set||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||State value tuples||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Extra info to pass along||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |5||Default setting||Integer||<pre>'default': 0</pre>||MOUL | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xAgeSDLVarSet.py xAgeSDLVarSet] | ||
+ | Sets an SDL value based on the value of another SDL variable's state value, using a list to map one value to the other. The state list holds the pairs for mapping them, with the first value being the input state value, and the second being the new value to store. | ||
+ | |||
+ | For example, the state list (0,0)(1,1)(2,0) would set ''stringSDLVarToSet'' to 0 when ''stringSDLVarName's'' value is 0, ''stringSDLVarToSet'' to 1 when ''stringSDLVarName'' is 1, and ''stringSDLVarToSet'' to 0 again when ''stringSDLVarName'' is 2. | ||
+ | |||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Random Boolean Changer === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Object SDL Var Name||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||Enabled SDL Var Name||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||Chance SDL Var Name||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Rgn Occupied SDL Var Name||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |5||Proximity region sensor||Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |6||False when disabled||Boolean||<pre>'default': 1</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |7||Scene object for ownership check||Scene Object||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |8||Default setting for vis,enable,chance||Boolean||<pre>'default': 0</pre>||MOUL | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xRandomBoolChange.py xRandomBoolChange] | ||
+ | Randomly toggles the specified primary SDL boolean variable to true or false based on the given criteria: ''strEnabledVar'' determines whether the primary variable may be enabled (if false, the primary variable will also be set false), ''strChanceVar'' is the percentage chance for the variable to be toggled (accepts integer values 0 to 100), and ''rgnProximity'' is a region that must be empty of all avatars for the random change to occur (usually a region around an object which has its visibility controlled by the primary variable). | ||
+ | |||
+ | This is most often used to control the randomly-appearing and disappearing bahro stones in the city. | ||
+ | |||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | == Books == | ||
+ | === Journal === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Actvtr: Clickable small book||Activator||<pre></pre>||MOUL | ||
+ | |- | ||
+ | |2||Smart seek before GUI (optional)||Behavior||<pre></pre>||MOUL | ||
+ | |- | ||
+ | |3||Name of Journal (deprecated)||String||<pre>'default': ''</pre>||MOUL | ||
+ | |- | ||
+ | |4||Read Data From Vault?||Boolean||<pre>'default': 0</pre>||MOUL | ||
+ | |- | ||
+ | |10||Start Opened?||Boolean||<pre>'default': 0</pre>||MOUL | ||
+ | |- | ||
+ | |11||Book Width Scaling||Float||<pre>'default': 1.0</pre>||MOUL | ||
+ | |- | ||
+ | |12||Book Height Scaling||Float||<pre>'default': 1.0</pre>||MOUL | ||
+ | |- | ||
+ | |13||Localization Path for Journal Contents||String||<pre>'default': 'Global.Journals.Empty'</pre>||MOUL | ||
+ | |- | ||
+ | |14||Book GUI Type||String||<pre>'default': 'bkBook'</pre>||MOUL | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xJournalBookGUIPopup.py xJournalBookGUIPopup] | ||
+ | Standard GUI for journal books. | ||
+ | |||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Linking Book === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Actvtr: Clickable small book||Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||Smart seek before GUI (optional)||Behavior||<pre>'netForce': 0, 'netProp': 0</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||Rspndr: Link out||Responder||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Name of Linking Panel||String||<pre>'default': 'Teledahn'</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |5||Bookshelf (Only used in PsnlAge)||Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |6||region in which the sharer must remain||Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |7||smart seek & use book for share acceptance||Behavior||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |10||DRC Stamp||Boolean||<pre>'default': 1</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |11||Force 3rd person||Boolean||<pre>'default': 0</pre>||MOUL, PotS | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xLinkingBookGUIPopup.py xLinkingBookGUIPopup] | ||
+ | Standard GUI for Linking Books. | ||
+ | |||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | == Doors == | ||
+ | === High Level Automatic Door === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Door Closed SDL Var||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||Exclude Region||Exclude Region||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||Region Sensor||Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Open door Responder||Responder||<pre>'netForce': 0</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |5||Close door Responder||Responder||<pre>'netForce': 0</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |6||Door Enabled SDL Var (optional)||String||<pre></pre>||MOUL, PotS | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xHighLevelStarTrekDoor.py xHighLevelStarTrekDoor] | ||
+ | Creates an automatic door which opens when an avatar enters the detector region, and closes once they exit, but will only function if the SDL variable specified by ''strDoorEnabledVar'' is true. | ||
+ | |||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Powered Automatic Door === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Region Sensor||Activator||<pre>'netForce': 1</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||Door Responder||Responder||<pre>'stateList': ['open', 'close']</pre>||MOUL | ||
+ | |- | ||
+ | |3||Actvtr: Power Source||Named Activator||<pre></pre>||MOUL, PotS | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xPoweredStarTrekDoor.py xPoweredStarTrekDoor] | ||
+ | Creates an automatic door which opens when an avatar enters the detector region, and closes once they exit, but will only function when the specified activator has been triggered. | ||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Standard Door === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |13||SDL Bool Closed||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |14||Exclude Region||Exclude Region||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |15||Clickable: interior||Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |16||Rspndr: open from inside||Responder||<pre>'netForce': 0</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |17||Clickable: exterior||Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |18||Rspndr: open from outside||Responder||<pre>'netForce': 0</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |19||Player can close me||Boolean||<pre>'default': 1</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |20||Rspndr: close from inside||Responder||<pre>'netForce': 0</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |21||Rspndr: close from outside||Responder||<pre>'netForce': 0</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |22||Door can autoclose||Boolean||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |23||Rspndr: Auto Close||Responder||<pre>'netForce': 0</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |24||Force Open if Age Empty||Boolean||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |25||Force Close if Age Empty||Boolean||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |26||Only Owners Can Use||Boolean||<pre>'default': False</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |27||SDL Bool Enabled (Optional)||String||<pre></pre>||MOUL, PotS | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xStandardDoor.py xStandardDoor] | ||
+ | Creates a door which toggles between open and closed when either of two activators are triggered, playing the appropriate open or close animation specified. The door may also auto-close or auto-open when the Age is empty if desired, preventing a player from becoming trapped if they leave or are disconnected and later return. The variable specified by ''stringSDLVarEnabled'' must be true for the door to respond when the activators are triggered (useful with a locked door or a door requiring power). When ''boolOwnedDoor'' is true, only the Age owner will be able to trigger the activators and open or close the door. | ||
− | == | + | <div style="clear:both;"> </div> |
− | <pre> | + | ---- |
− | + | === Automatic Door === | |
− | + | {| class="wikitable" style="float:right;" | |
− | </pre> | + | !ID || Description || Type || Arguments || Engine Support |
+ | |- | ||
+ | |1||Region Sensor||Activator||<pre>'netForce': 1</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||Door Responder||Responder||<pre>'stateList': ['open', 'close']</pre>||MOUL | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xStarTrekDoor.py xStarTrekDoor] | ||
+ | Creates an automatic door which opens when an avatar enters the detector region, and closes once they exit. | ||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | == Miscellaneous == | ||
+ | === Two-position Lever === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Lever Name||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||Actvtr: Move to Pos #2||Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||Rspndr: Move to Pos #2||Responder||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Actvtr: Move to Pos #1||Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |5||Rspndr: Move to Pos #1||Responder||<pre></pre>||MOUL, PotS | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/x2wayLever.py x2wayLever] | ||
+ | Creates a typical lever, which runs one of two responders based on which of two activators is triggered. | ||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Single-use Button/Lever/Switch === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Name||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||Activate Me||Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||Responder||Responder||<pre></pre>||MOUL, PotS | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xButtonLeverSwitch.py xButtonLeverSwitch] | ||
+ | Creates a simple button, lever, or switch which runs a responder when the activator is triggered. | ||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Powered Single-use Button/Lever/Switch === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Name||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||Init Power On||Boolean||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||Actvtr: Power Source||Named Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Actvtr: Click Me||Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |5||Rspndr: Powered||Responder||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |6||Rspndr: No Pwr||Responder||<pre></pre>||MOUL, PotS | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xButtonLeverSwitchPowered.py xButtonLeverSwitchPowered] | ||
+ | Creates a simple button, lever, or switch which runs a responder when the activator is triggered, but only if powered. The variable ''enabled'' determines if the input is initially powered, and the activator specified by ''actPower'' will toggle the powered variable when triggered. If the button, lever, or switch is triggered when powered, the responder specified in ''respOn'' will be run, otherwise it will run the unpowered responder ''respOff''. | ||
− | == | + | <div style="clear:both;"> </div> |
− | <pre> | + | ---- |
− | + | === Simple Dialog === | |
− | + | {| class="wikitable" style="float:right;" | |
− | + | !ID || Description || Type || Arguments || Engine Support | |
− | </pre> | + | |- |
+ | |1|| clickable ||Activator||<pre>'netForce': 1</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Toggle dialog - by Name||String||<pre></pre>||MOUL, PotS | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xDialogToggle.py xDialogToggle] | ||
+ | Toggles the activation of the dialog when the activator is triggered. | ||
− | = | + | <div style="clear:both;"> </div> |
− | < | + | ---- |
− | + | === Disable First-Person Camera === | |
− | + | {| class="wikitable" style="float:right;" | |
− | + | !ID || Description || Type || Arguments || Engine Support | |
− | + | |- | |
− | + | |1||No FPC Region node:||Activator||<pre></pre>||MOUL, PotS | |
− | + | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xDisableFirstPersonCam.py xDisableFirstPersonCam] | |
− | + | Disables the player's ability to enter the first-person camera (default: F1) when the activator is triggered. | |
− | + | ||
− | + | ||
− | </pre> | + | |
− | == | + | <div style="clear:both;"> </div> |
− | <pre> | + | ---- |
− | + | === Dynamic Text Object === | |
− | + | {| class="wikitable" style="float:right;" | |
− | </pre> | + | !ID || Description || Type || Arguments || Engine Support |
+ | |- | ||
+ | |1||The Dynamic Texture Map||Dynamic Map||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||Text name||String||<pre></pre>||MOUL, PotS | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xDynTextObj.py xDynTextObj] | ||
+ | Changes the text on the specified dynamic text map to one of the entries available in [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xDynTextDefs.py xDynTextDefs.py] | ||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Fog Distance Tweener === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Fog Mode||DropDown List||<pre>'options': ('Linear', 'Exponential', 'Exponential2')</pre>||MOUL | ||
+ | |- | ||
+ | |2||Compute Dimensions||DropDown List||<pre>'options': ('XYZ', 'XY', 'Z')</pre>||MOUL | ||
+ | |- | ||
+ | |3||Fog Style||DropDown List||<pre>'options': ('Linear', 'Radial')</pre>||MOUL | ||
+ | |- | ||
+ | |4||Refresh Rate||Float||<pre>'default': 1.0, 'range': (0.0, 10.0)</pre>||MOUL | ||
+ | |- | ||
+ | |5||Point A Obj||Scene Object||<pre></pre>||MOUL | ||
+ | |- | ||
+ | |6||Point A: Red,Green,Blue||String||<pre></pre>||MOUL | ||
+ | |- | ||
+ | |7||Point A: Start Dist||Integer||<pre>'default': 0, 'range': (-10000, 1000000)</pre>||MOUL | ||
+ | |- | ||
+ | |8||Point A: End Dist||Integer||<pre>'default': 0, 'range': (-10000, 1000000)</pre>||MOUL | ||
+ | |- | ||
+ | |9||Point A: Density||Integer||<pre>'default': 0, 'range': (0, 10)</pre>||MOUL | ||
+ | |- | ||
+ | |10||Point B Obj||Scene Object||<pre></pre>||MOUL | ||
+ | |- | ||
+ | |11||Point B: Red,Green,Blue||String||<pre></pre>||MOUL | ||
+ | |- | ||
+ | |12||Point B: Start Dist||Integer||<pre>'default': 0, 'range': (-10000, 1000000)</pre>||MOUL | ||
+ | |- | ||
+ | |13||Point B: End Dist||Integer||<pre>'default': 0, 'range': (-10000, 1000000)</pre>||MOUL | ||
+ | |- | ||
+ | |14||Point B: Density||Integer||<pre>'default': 0, 'range': (0, 10)</pre>||MOUL | ||
+ | |- | ||
+ | |15||Only Operate In Region?||Boolean||<pre>'default': False</pre>||MOUL | ||
+ | |- | ||
+ | |16||Region Sensor||Activator||<pre></pre>||MOUL | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xFogDistTweener.py xFogDistTweener] | ||
+ | Changes the visible fog settings based on the avatar's position between two points when inside of the specified region. | ||
− | == | + | <div style="clear:both;"> </div> |
− | <pre> | + | ---- |
− | + | === Fog Setter === | |
− | + | {| class="wikitable" style="float:right;" | |
− | + | !ID || Description || Type || Arguments || Engine Support | |
− | + | |- | |
− | + | |1||Fog Mode||DropDown List||<pre>'options': ('Linear', 'Exponential', 'Exponential2')</pre>||MOUL | |
− | + | |- | |
− | </pre> | + | |2||Color: Red,Green,Blue||String||<pre></pre>||MOUL |
+ | |- | ||
+ | |3||Start Distance||Integer||<pre>'default': 0, 'range': (-10000, 1000000)</pre>||MOUL | ||
+ | |- | ||
+ | |4||End Distance||Integer||<pre>'default': 0, 'range': (-10000, 1000000)</pre>||MOUL | ||
+ | |- | ||
+ | |5||Density||Integer||<pre>'default': 0, 'range': (0, 10)</pre>||MOUL | ||
+ | |- | ||
+ | |6||Region Sensor||Activator||<pre></pre>||MOUL | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xFogSet.py xFogSet] | ||
+ | Changes the visible fog settings when the avatar is inside of the specified region. | ||
− | == | + | <div style="clear:both;"> </div> |
− | <pre> | + | ---- |
− | + | === GZ Marker === | |
− | + | {| class="wikitable" style="float:right;" | |
− | + | !ID || Description || Type || Arguments || Engine Support | |
− | + | |- | |
− | </pre> | + | |1||Age SDL Vis Name||String||<pre></pre>||MOUL |
+ | |- | ||
+ | |2||GZ a unique serial number (1 thru n)||Integer||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||Region detector when marker is inRange||Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Sound responder for marker||Responder||<pre></pre>||MOUL | ||
+ | |- | ||
+ | |5||Clickable on the GZ marker||Activator||<pre></pre>||PotS | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xGZMarker.py xGZMarker] | ||
+ | Makes the object to which this modifier is attached into a Great Zero Marker. | ||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Music Box Player === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Triggerer||Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||Oneshot resp||Responder||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||Start responder||Responder||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Stop responder||Responder||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |5||Sound sceneobject||Scene Object||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |6||File path||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |7||Sound component name||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |8||Initial song name||String||<pre></pre>||MOUL | ||
+ | |- | ||
+ | |9||Current song sdl var||String||<pre></pre>||MOUL | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xMusicBox.py xMusicBox] | ||
+ | Makes the object to which this modifier is attached into a music box. | ||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Add Music Box Song === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Triggerer||Activator||<pre></pre>||MOUL | ||
+ | |- | ||
+ | |2||Oneshot resp||Responder||<pre></pre>||MOUL | ||
+ | |- | ||
+ | |3||Sound file name||String||<pre></pre>||MOUL | ||
+ | |- | ||
+ | |4||Music player age name (not this player)||String||<pre></pre>||MOUL | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xMusicBoxAddSong.py xMusicBoxAddSong] | ||
+ | When the specified activator is triggered, adds the specified music file to the player's available music playlist. | ||
− | == | + | <div style="clear:both;"> </div> |
− | <pre> | + | ---- |
− | + | === Passive Indicator Light === | |
− | + | {| class="wikitable" style="float:right;" | |
− | + | !ID || Description || Type || Arguments || Engine Support | |
− | + | |- | |
− | + | |1||Name||String||<pre></pre>||MOUL, PotS | |
− | + | |- | |
− | </pre> | + | |2||Actvtr: Power Source||Named Activator||<pre></pre>||MOUL, PotS |
+ | |- | ||
+ | |3||Rspndr: Powered||Responder||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Rspndr: No Pwr||Responder||<pre></pre>||MOUL, PotS | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xPassiveIndicatorLight.py xPassiveIndicatorLight] | ||
+ | Runs the appropriate responder when the specified activator is triggered, useful to turn on or off power-indicator lights. | ||
+ | <div style="clear:both;"> </div> | ||
+ | ---- | ||
+ | === Simple Imager === | ||
+ | {| class="wikitable" style="float:right;" | ||
+ | !ID || Description || Type || Arguments || Engine Support | ||
+ | |- | ||
+ | |1||Name of the Imager||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||The Dynamic Texture Map||Dynamic Map||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||The activate region||Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Number of seconds on each image||Integer||<pre>'default': 60</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |5||Members Only||Boolean||<pre>'default': 1</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |6||Imager Object (for ownership test)||Scene Object||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |7||Maximum number of images||Integer||<pre>'default': 5</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |8||start or stop the button animation||Responder||<pre>'stateList': ['buttonOn', 'buttonOff']</pre>||MOUL | ||
+ | |- | ||
+ | |9||Inbox SDL variable (optional)||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |10||Pellet Score Imager?||Boolean||<pre>'default': 0</pre>||MOUL, PotS | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xSimpleImager.py xSimpleImager] | ||
+ | Creates a standard, simple imager. | ||
− | == | + | <div style="clear:both;"> </div> |
− | <pre> | + | ---- |
− | + | === Takable Clothing === | |
− | + | {| class="wikitable" style="float:right;" | |
− | + | !ID || Description || Type || Arguments || Engine Support | |
− | </pre> | + | |- |
+ | |1||Show/hide age SDL var name||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |2||Show on true||Boolean||<pre>'default': 1</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||Clothing clickable||Activator||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Female clothing name||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |5||Male clothing name||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |6||Has hair color||Boolean||<pre>'default': 0</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |7||Chance SDL var name||String||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |8||Tint 1 Red||Integer||<pre>'default': 255, 'range': (0, 255)</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |9||Tint 1 Green||Integer||<pre>'default': 255, 'range': (0, 255)</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |10||Tint 1 Blue||Integer||<pre>'default': 255, 'range': (0, 255)</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |11||Tint 2 Red||Integer||<pre>'default': 255, 'range': (0, 255)</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |12||Tint 2 Green||Integer||<pre>'default': 255, 'range': (0, 255)</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |13||Tint 2 Blue||Integer||<pre>'default': 255, 'range': (0, 255)</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |14||Stay visible after click||Boolean||<pre>'default': 0</pre>||MOUL | ||
+ | |- | ||
+ | |15||Eval On First Update?||Boolean||<pre>'default': 0</pre>||MOUL | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xTakableClothing.py xTakableClothing] | ||
+ | Creates a piece of clothing that when clicked is added to the avatar's closet and optionally removed from the scene. The avatar will also be given the option to wear the item immediately. | ||
− | == | + | <div style="clear:both;"> </div> |
− | <pre> | + | ---- |
− | + | === Telescope === | |
− | + | {| class="wikitable" style="float:right;" | |
− | + | !ID || Description || Type || Arguments || Engine Support | |
− | + | |- | |
− | </pre> | + | |1||Activate Telescope||Activator||<pre>'netForce': 1</pre>||MOUL, PotS |
+ | |- | ||
+ | |2||Telescope camera||Scene Object||<pre></pre>||MOUL, PotS | ||
+ | |- | ||
+ | |3||Telescope behavior (multistage)||Behavior||<pre>'netForce': 1</pre>||MOUL, PotS | ||
+ | |- | ||
+ | |4||Vignette dialog - by Name||String||<pre></pre>||MOUL, PotS | ||
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xTelescope.py xTelescope] | ||
+ | Creates a standard telescope, using the dialog as the telescope's close-up view. | ||
− | = | + | <div style="clear:both;"> </div> |
− | < | + | ---- |
− | + | === Activator Usage Counter === | |
− | + | {| class="wikitable" style="float:right;" | |
− | + | !ID || Description || Type || Arguments || Engine Support | |
− | + | |- | |
− | + | |1||Activator to track||Activator||<pre></pre>||MOUL, PotS | |
− | + | |- | |
− | </pre> | + | |2||Chronicle var||String||<pre></pre>||MOUL, PotS |
+ | |}Script Name: [https://github.com/H-uru/Plasma/blob/master/Scripts/Python/xTrackActivatorUsage.py xTrackActivatorUsage] | ||
+ | Counts the number of times the specified activator is triggered and stores the value in the specified Chronicle node. | ||
+ | <div style="clear:both;"> </div> | ||
[[Category:Python]] | [[Category:Python]] | ||
[[Category:Tutorials]] | [[Category:Tutorials]] |
Latest revision as of 05:13, 14 August 2020
Global Python scripts are ready-made components which can be used in combination with SDL states, or sometimes directly with specific scene objects. There are several advantages to using these global scripts: you don't need to write your own script for most common interactions, and in many cases these scripts are highly adaptable to your needs. In addition, they are generally well-tested as they are used throughout the existing game, and by other Age-writers as well, so everyone benefits from their features and bug-fixes.
These scripts usually require you to pass parameters to them. If you are using 3DS Max you can see these parameters in the roll-out of your Python File Component (provided that you have downloaded and installed the Python files from Scripts/Python to the Python folder within your Max export folder). PyPRP users will need to manually specify these parameters in a pythonfile logicmod of your AlcScript. Korman users can select the file when adding a Python File Mod logic node, and the available attributes will be automatically populated in the node.
In order to use these scripts, you will need to know what those parameters do. This page is a reference for the most common or notable global scripts.
This reference lists the global Python scripts as found in Uru:CC (with Drizzle/Offline KI modifications if available) and MOULa. The table provided for each script lists the versions of the game in which each parameter is available.
Contents
- 1 Python parameters and ID numbers
- 2 Age SDL
- 2.1 Boolean AND Responder
- 2.2 Boolean AND Setter
- 2.3 Boolean Conditional Responder
- 2.4 Boolean Responder
- 2.5 Boolean Setter
- 2.6 Boolean Show/Hide
- 2.7 Boolean Toggle
- 2.8 Boolean Toogle Dependent
- 2.9 Integer Activator Enabler
- 2.10 Integer Counter
- 2.11 Integer Responder List
- 2.12 Integer Show/Hide
- 2.13 Integer Start/Stop Responder
- 2.14 Integer State List Responder
- 2.15 Variable Setter
- 2.16 Random Boolean Changer
- 3 Books
- 4 Doors
- 5 Miscellaneous
- 5.1 Two-position Lever
- 5.2 Single-use Button/Lever/Switch
- 5.3 Powered Single-use Button/Lever/Switch
- 5.4 Simple Dialog
- 5.5 Disable First-Person Camera
- 5.6 Dynamic Text Object
- 5.7 Fog Distance Tweener
- 5.8 Fog Setter
- 5.9 GZ Marker
- 5.10 Music Box Player
- 5.11 Add Music Box Song
- 5.12 Passive Indicator Light
- 5.13 Simple Imager
- 5.14 Takable Clothing
- 5.15 Telescope
- 5.16 Activator Usage Counter
Python parameters and ID numbers
The parameters for each script are numbered, and each parameter ID number is unique. It is important that this number in the script matches the one provided by your Age. The Max plugin and Korman will take care of that automatically. Users of PyPRP will find that by default it assigns ID numbers in the order of appearance in the AlcScript. Since some parameters skip numbers (due to old options being deprecated), you must sometimes add blank entries in AlcScript by adding fake parameters of the type "skip", or else manually specify the index as one of the array keys.
Age SDL
Boolean AND Responder
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Age SDL Var #1 | String | MOUL, PotS | |
2 | Age SDL Var #2 | String | MOUL, PotS | |
3 | Run if bool true: | Responder | MOUL, PotS | |
4 | Run if bool false: | Responder | MOUL, PotS | |
5 | F-Forward on VM notify | Boolean | 'default': 1 |
MOUL, PotS |
6 | F-Forward on Init | Boolean | 'default': 1 |
MOUL, PotS |
7 | Default setting | Boolean | 'default': 0 |
MOUL |
Runs either of two responders if the result of a logical AND between the values of two SDL variables is either true or false. Useful to trigger something when two disconnected actions have been taken by the avatar.
Boolean AND Setter
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | AgeSDL Operand 1 | String | MOUL, PotS | |
2 | AgeSDL Operand 2 | String | MOUL, PotS | |
3 | AgeSDL Result | String | MOUL, PotS |
Sets an SDL value to the result of a logical AND of two other SDL values.
Boolean Conditional Responder
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Activator: | Activator | MOUL | |
2 | Age SDL Var Name: | String | MOUL | |
3 | Responder: | Responder | MOUL | |
4 | Trigger on SDL=true? | Boolean | 'default': 1 |
MOUL |
5 | F-Forward on Init | Boolean | 'default': 0 |
MOUL |
Triggers a responder when the activator is triggered, if the SDL value is currently true (or false, if specified). Useful for a button which should only have an effect if the device is already powered elsewhere.
Boolean Responder
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Age SDL Var Name | String | MOUL, PotS | |
2 | Run if bool true: | Responder | MOUL, PotS | |
3 | Run if bool false: | Responder | MOUL, PotS | |
4 | F-Forward on VM notify | Boolean | 'default': True |
MOUL, PotS |
5 | F-Forward on Init | Boolean | 'default': True |
MOUL, PotS |
6 | Default setting | Boolean | 'default': False |
MOUL |
7 | Init SDL On First Update? | Boolean | 'default': False |
MOUL |
Runs either responder 2 or responder 3 when the specified SDL value is changed, depending on whether the new value is true or false. The actual state change is handled by another Python script, usually xAgeSDLBoolSet or xAgeSDLBoolToggle.
AlcScript
<object name>:
logic:
actions:
- pythonfile:
file: xAgeSDLBoolRespond
parameters:
- type: string
value: <name of BOOL SDL to monitor>
- ref: :<responder to run if bool true>
type: responder
- ref: :<responder to run if bool false>
type: responder
- type: bool
value: false
- type: bool
value: true
tag: BoolRespond
type: pythonfile
Boolean Setter
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Activator | Activator | MOUL, PotS | |
2 | Age SDL Var Name | String | MOUL, PotS | |
7 | Set Var to: | Integer | MOUL, PotS | |
8 | Extra info to pass along | String | MOUL, PotS |
Sets an SDL variable to 0 (false) or 1 (true). Often used in combination with xAgeSDLBoolRespond. xAgeSDLBoolSet is useful for those events which you want to be irreversible, or which are controlled by different activators (for example a device with separate on and off buttons). In most cases you'll probably want to use xAgeSDLBoolToggle instead.
AlcScript
<object name>:
logic:
actions:
- pythonfile:
file: xAgeSDLBoolSet
parameters:
- ref: logicmod:<logic modifier name>
type: activator
- type: string
value: <name of BOOL SDL to set>
- type: skip
- type: skip
- type: skip
- type: skip
- type: int
value: <0 or 1>
- type: string
value: <info string>
tag: BoolSet
type: pythonfile
Boolean Show/Hide
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Age SDL Var Name | String | MOUL, PotS | |
2 | Show on true | Boolean | 'default': True |
MOUL, PotS |
3 | Default setting | Boolean | 'default': False |
MOUL |
4 | Eval On First Update? | Boolean | 'default': False |
MOUL |
This modifier hides or shows the object to which it is attached based on the value of the specified SDL variable. By default, a value of True shows the object, and False hides it. Setting "show on true" to false reverses that logic.
AlcScript
<object name>:
logic:
actions:
- pythonfile:
file: xAgeSDLBoolShowHide
parameters:
- type: string
value: <name of BOOL SDL to monitor>
- type: bool
value: true
tag: BoolShowHide
type: pythonfile
Boolean Toggle
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Activator | Activator | MOUL, PotS | |
2 | Age SDL Var Name | String | MOUL, PotS | |
5 | Extra info to pass along | String | MOUL, PotS |
Toggles an SDL variable between 0 (false) and 1 (true). Often used in combination with xAgeSDLBoolRespond. This is often used for things like light switches.
AlcScript
<object name>:
logic:
actions:
- pythonfile:
file: xAgeSDLBoolToggle
parameters:
- ref: logicmod:<logic modifier name>
type: activator
- type: string
value: <name of BOOL SDL to toggle>
- type: skip
- type: skip
- type: string
value: <info string>
tag: BoolToggle
type: pythonfile
Boolean Toogle Dependent
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Activator | Activator | MOUL, PotS | |
2 | AgeSDL Enabler | String | MOUL, PotS | |
3 | AgeSDL Var To Change | String | MOUL, PotS | |
4 | Extra info to pass along | String | MOUL, PotS |
Changes an SDL value when the activator is triggered, only if another SDL value is currently true.
Integer Activator Enabler
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Age SDL Variable | String | MOUL, PotS | |
2 | Activator | Activator | MOUL, PotS | |
3 | Active state values | String | MOUL, PotS | |
4 | Default setting | Integer | 'default': 0 |
MOUL |
Activates the specified activator if the SDL variable is currently set to one of the states given in the state list. The state list must be a comma-separated list of state values.
AlcScript
<object name>:
logic:
actions:
- pythonfile:
file: xAgeSDLIntActEnabler
parameters:
- type: string
value: <name of SDL to monitor>
- ref: logicmod:<logic modifier name>
type: activator
- type: string
value: 1
tag: IntActEnabler
type: pythonfile
Integer Counter
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Activator | Activator | MOUL, PotS | |
2 | Age SDL Var Name | String | MOUL, PotS | |
3 | Counter: Increment | Boolean | MOUL, PotS | |
4 | Counter: Decrement | Boolean | MOUL, PotS | |
5 | Counter: Min | Integer | 'default': 0 |
MOUL, PotS |
6 | Counter: Max | Integer | 'default': 10 |
MOUL, PotS |
7 | Counter: Loop | Boolean | MOUL, PotS | |
8 | Optional Hint String | String | MOUL, PotS | |
9 | Don't Count, Set To: | Integer | 'default': 0 |
MOUL, PotS |
Increments or decrements an SDL value when activator is triggered. May also have a minimum or maximum value, and can be looped.
AlcScript
<object name>:
logic:
actions:
- pythonfile:
file: xAgeSDLIntChange
parameters:
- ref: logicmod:<logic modifier name>
type: activator
- type: string
value: <name of INT or BYTE SDL to set>
- type: bool
value: true
- type: bool
value: false
- type: int
value: 0
- type: int
value: 3
- type: bool
value: true
- type: skip
- type: int
value: 0
tag: IntChange
type: pythonfile
Integer Responder List
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Age SDL Variable | String | MOUL, PotS | |
2 | ResponderList | Responder List | 'byObject': 1 |
MOUL, PotS |
3 | Responder name format string | String | MOUL, PotS | |
4 | Max state value | Integer | 'default': 2 |
MOUL, PotS |
5 | F-Forward on start | Boolean | 'default': 0 |
MOUL, PotS |
6 | F-Forward on VM notify | Boolean | 'default': 1 |
MOUL, PotS |
7 | Default setting | Integer | 'default': 0 |
MOUL |
Activates numbered responders matching the pattern given based on the value of an SDL value. The naming pattern should be given as ResponderName%d where ResponderName is the common portion of the name assigned to the responders in the set. The %d portion will be replaced in the script by the SDL value's number, and the Responder thus named will be activated.
Useful for activating different responders when a button is pushed, depending on the current state of a dial or other multi-state indicator. Valid responders must be named in respList and cannot be numbered higher than the value specified in intMaxState.
Integer Show/Hide
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Age SDL Var Name | String | MOUL, PotS | |
2 | States in which shown | String | MOUL, PotS | |
3 | Default setting | Integer | 'default': 0 |
MOUL |
4 | Eval On First Update? | Boolean | 'default': 0 |
MOUL |
Shows or hides the object to which this modifier is attached, based on whether the SDL value matches one of the states specified in the state list. The state list must be a comma-separated list of values. The object will be hidden if the current value is not in the list. When hidden, the object's physics are also disabled.
AlcScript
<object name>:
logic:
actions:
- pythonfile:
file: xAgeSDLIntShowHide
parameters:
- type: string
value: <name of INT or BYTE SDL to monitor>
- type: string
value: 2
tag: IntShowHide
type: pythonfile
Integer Start/Stop Responder
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Age SDL Variable | String | MOUL, PotS | |
2 | Start Responder | Responder | MOUL, PotS | |
3 | Start state values | String | MOUL, PotS | |
4 | Fast forward on start | Boolean | 'default': 0 |
MOUL, PotS |
5 | Stop Responder | Responder | MOUL, PotS | |
6 | Fast forward on stop | Boolean | 'default': 1 |
MOUL, PotS |
7 | Default setting | Integer | 'default': 0 |
MOUL |
8 | F-Forward on Init | Boolean | 'default': 0 |
MOUL |
Runs the specified responder if the specified SDL variable's value is in the start values list, and otherwise stops it.
Integer State List Responder
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | SDL Variable | String | MOUL | |
2 | Enter State Responder | State Responder | MOUL | |
3 | Value/State Pairs | String | MOUL | |
4 | F-Forward on start | Boolean | 'default': 0 |
MOUL |
5 | F-Forward on VM notifications | Boolean | 'default': 0 |
MOUL |
6 | Default setting | Integer | 'default': 0 |
MOUL |
7 | Eval On First Update? | Boolean | 'default': 0 |
MOUL |
Runs a specific responder state based on the current value of the specified SDL variable. The state list holds the pairs for mapping them, with the first value being the input state value, and the second being the state into which the responder will run.
For example, the state list (1,0)(2,2)(3,9) would set respEnterState to state 0 when strSDLVarName's value is 1, respEnterState to state 2 when strSDLVarName is 2, and respEnterState to state 9 when strSDLVarName is 3.
Variable Setter
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Age SDL Variable | String | MOUL, PotS | |
2 | SDL Variable To Set | String | MOUL, PotS | |
3 | State value tuples | String | MOUL, PotS | |
4 | Extra info to pass along | String | MOUL, PotS | |
5 | Default setting | Integer | 'default': 0 |
MOUL |
Sets an SDL value based on the value of another SDL variable's state value, using a list to map one value to the other. The state list holds the pairs for mapping them, with the first value being the input state value, and the second being the new value to store.
For example, the state list (0,0)(1,1)(2,0) would set stringSDLVarToSet to 0 when stringSDLVarName's value is 0, stringSDLVarToSet to 1 when stringSDLVarName is 1, and stringSDLVarToSet to 0 again when stringSDLVarName is 2.
Random Boolean Changer
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Object SDL Var Name | String | MOUL, PotS | |
2 | Enabled SDL Var Name | String | MOUL, PotS | |
3 | Chance SDL Var Name | String | MOUL, PotS | |
4 | Rgn Occupied SDL Var Name | String | MOUL, PotS | |
5 | Proximity region sensor | Activator | MOUL, PotS | |
6 | False when disabled | Boolean | 'default': 1 |
MOUL, PotS |
7 | Scene object for ownership check | Scene Object | MOUL, PotS | |
8 | Default setting for vis,enable,chance | Boolean | 'default': 0 |
MOUL |
Randomly toggles the specified primary SDL boolean variable to true or false based on the given criteria: strEnabledVar determines whether the primary variable may be enabled (if false, the primary variable will also be set false), strChanceVar is the percentage chance for the variable to be toggled (accepts integer values 0 to 100), and rgnProximity is a region that must be empty of all avatars for the random change to occur (usually a region around an object which has its visibility controlled by the primary variable).
This is most often used to control the randomly-appearing and disappearing bahro stones in the city.
Books
Journal
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Actvtr: Clickable small book | Activator | MOUL | |
2 | Smart seek before GUI (optional) | Behavior | MOUL | |
3 | Name of Journal (deprecated) | String | 'default': '' |
MOUL |
4 | Read Data From Vault? | Boolean | 'default': 0 |
MOUL |
10 | Start Opened? | Boolean | 'default': 0 |
MOUL |
11 | Book Width Scaling | Float | 'default': 1.0 |
MOUL |
12 | Book Height Scaling | Float | 'default': 1.0 |
MOUL |
13 | Localization Path for Journal Contents | String | 'default': 'Global.Journals.Empty' |
MOUL |
14 | Book GUI Type | String | 'default': 'bkBook' |
MOUL |
Standard GUI for journal books.
Linking Book
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Actvtr: Clickable small book | Activator | MOUL, PotS | |
2 | Smart seek before GUI (optional) | Behavior | 'netForce': 0, 'netProp': 0 |
MOUL, PotS |
3 | Rspndr: Link out | Responder | MOUL, PotS | |
4 | Name of Linking Panel | String | 'default': 'Teledahn' |
MOUL, PotS |
5 | Bookshelf (Only used in PsnlAge) | Activator | MOUL, PotS | |
6 | region in which the sharer must remain | Activator | MOUL, PotS | |
7 | smart seek & use book for share acceptance | Behavior | MOUL, PotS | |
10 | DRC Stamp | Boolean | 'default': 1 |
MOUL, PotS |
11 | Force 3rd person | Boolean | 'default': 0 |
MOUL, PotS |
Standard GUI for Linking Books.
Doors
High Level Automatic Door
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Door Closed SDL Var | String | MOUL, PotS | |
2 | Exclude Region | Exclude Region | MOUL, PotS | |
3 | Region Sensor | Activator | MOUL, PotS | |
4 | Open door Responder | Responder | 'netForce': 0 |
MOUL, PotS |
5 | Close door Responder | Responder | 'netForce': 0 |
MOUL, PotS |
6 | Door Enabled SDL Var (optional) | String | MOUL, PotS |
Creates an automatic door which opens when an avatar enters the detector region, and closes once they exit, but will only function if the SDL variable specified by strDoorEnabledVar is true.
Powered Automatic Door
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Region Sensor | Activator | 'netForce': 1 |
MOUL, PotS |
2 | Door Responder | Responder | 'stateList': ['open', 'close'] |
MOUL |
3 | Actvtr: Power Source | Named Activator | MOUL, PotS |
Creates an automatic door which opens when an avatar enters the detector region, and closes once they exit, but will only function when the specified activator has been triggered.
Standard Door
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
13 | SDL Bool Closed | String | MOUL, PotS | |
14 | Exclude Region | Exclude Region | MOUL, PotS | |
15 | Clickable: interior | Activator | MOUL, PotS | |
16 | Rspndr: open from inside | Responder | 'netForce': 0 |
MOUL, PotS |
17 | Clickable: exterior | Activator | MOUL, PotS | |
18 | Rspndr: open from outside | Responder | 'netForce': 0 |
MOUL, PotS |
19 | Player can close me | Boolean | 'default': 1 |
MOUL, PotS |
20 | Rspndr: close from inside | Responder | 'netForce': 0 |
MOUL, PotS |
21 | Rspndr: close from outside | Responder | 'netForce': 0 |
MOUL, PotS |
22 | Door can autoclose | Boolean | MOUL, PotS | |
23 | Rspndr: Auto Close | Responder | 'netForce': 0 |
MOUL, PotS |
24 | Force Open if Age Empty | Boolean | MOUL, PotS | |
25 | Force Close if Age Empty | Boolean | MOUL, PotS | |
26 | Only Owners Can Use | Boolean | 'default': False |
MOUL, PotS |
27 | SDL Bool Enabled (Optional) | String | MOUL, PotS |
Creates a door which toggles between open and closed when either of two activators are triggered, playing the appropriate open or close animation specified. The door may also auto-close or auto-open when the Age is empty if desired, preventing a player from becoming trapped if they leave or are disconnected and later return. The variable specified by stringSDLVarEnabled must be true for the door to respond when the activators are triggered (useful with a locked door or a door requiring power). When boolOwnedDoor is true, only the Age owner will be able to trigger the activators and open or close the door.
Automatic Door
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Region Sensor | Activator | 'netForce': 1 |
MOUL, PotS |
2 | Door Responder | Responder | 'stateList': ['open', 'close'] |
MOUL |
Creates an automatic door which opens when an avatar enters the detector region, and closes once they exit.
Miscellaneous
Two-position Lever
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Lever Name | String | MOUL, PotS | |
2 | Actvtr: Move to Pos #2 | Activator | MOUL, PotS | |
3 | Rspndr: Move to Pos #2 | Responder | MOUL, PotS | |
4 | Actvtr: Move to Pos #1 | Activator | MOUL, PotS | |
5 | Rspndr: Move to Pos #1 | Responder | MOUL, PotS |
Creates a typical lever, which runs one of two responders based on which of two activators is triggered.
Single-use Button/Lever/Switch
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Name | String | MOUL, PotS | |
2 | Activate Me | Activator | MOUL, PotS | |
3 | Responder | Responder | MOUL, PotS |
Creates a simple button, lever, or switch which runs a responder when the activator is triggered.
Powered Single-use Button/Lever/Switch
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Name | String | MOUL, PotS | |
2 | Init Power On | Boolean | MOUL, PotS | |
3 | Actvtr: Power Source | Named Activator | MOUL, PotS | |
4 | Actvtr: Click Me | Activator | MOUL, PotS | |
5 | Rspndr: Powered | Responder | MOUL, PotS | |
6 | Rspndr: No Pwr | Responder | MOUL, PotS |
Creates a simple button, lever, or switch which runs a responder when the activator is triggered, but only if powered. The variable enabled determines if the input is initially powered, and the activator specified by actPower will toggle the powered variable when triggered. If the button, lever, or switch is triggered when powered, the responder specified in respOn will be run, otherwise it will run the unpowered responder respOff.
Simple Dialog
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | clickable | Activator | 'netForce': 1 |
MOUL, PotS |
4 | Toggle dialog - by Name | String | MOUL, PotS |
Toggles the activation of the dialog when the activator is triggered.
Disable First-Person Camera
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | No FPC Region node: | Activator | MOUL, PotS |
Disables the player's ability to enter the first-person camera (default: F1) when the activator is triggered.
Dynamic Text Object
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | The Dynamic Texture Map | Dynamic Map | MOUL, PotS | |
2 | Text name | String | MOUL, PotS |
Changes the text on the specified dynamic text map to one of the entries available in xDynTextDefs.py
Fog Distance Tweener
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Fog Mode | DropDown List | 'options': ('Linear', 'Exponential', 'Exponential2') |
MOUL |
2 | Compute Dimensions | DropDown List | 'options': ('XYZ', 'XY', 'Z') |
MOUL |
3 | Fog Style | DropDown List | 'options': ('Linear', 'Radial') |
MOUL |
4 | Refresh Rate | Float | 'default': 1.0, 'range': (0.0, 10.0) |
MOUL |
5 | Point A Obj | Scene Object | MOUL | |
6 | Point A: Red,Green,Blue | String | MOUL | |
7 | Point A: Start Dist | Integer | 'default': 0, 'range': (-10000, 1000000) |
MOUL |
8 | Point A: End Dist | Integer | 'default': 0, 'range': (-10000, 1000000) |
MOUL |
9 | Point A: Density | Integer | 'default': 0, 'range': (0, 10) |
MOUL |
10 | Point B Obj | Scene Object | MOUL | |
11 | Point B: Red,Green,Blue | String | MOUL | |
12 | Point B: Start Dist | Integer | 'default': 0, 'range': (-10000, 1000000) |
MOUL |
13 | Point B: End Dist | Integer | 'default': 0, 'range': (-10000, 1000000) |
MOUL |
14 | Point B: Density | Integer | 'default': 0, 'range': (0, 10) |
MOUL |
15 | Only Operate In Region? | Boolean | 'default': False |
MOUL |
16 | Region Sensor | Activator | MOUL |
Changes the visible fog settings based on the avatar's position between two points when inside of the specified region.
Fog Setter
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Fog Mode | DropDown List | 'options': ('Linear', 'Exponential', 'Exponential2') |
MOUL |
2 | Color: Red,Green,Blue | String | MOUL | |
3 | Start Distance | Integer | 'default': 0, 'range': (-10000, 1000000) |
MOUL |
4 | End Distance | Integer | 'default': 0, 'range': (-10000, 1000000) |
MOUL |
5 | Density | Integer | 'default': 0, 'range': (0, 10) |
MOUL |
6 | Region Sensor | Activator | MOUL |
Changes the visible fog settings when the avatar is inside of the specified region.
GZ Marker
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Age SDL Vis Name | String | MOUL | |
2 | GZ a unique serial number (1 thru n) | Integer | MOUL, PotS | |
3 | Region detector when marker is inRange | Activator | MOUL, PotS | |
4 | Sound responder for marker | Responder | MOUL | |
5 | Clickable on the GZ marker | Activator | PotS |
Makes the object to which this modifier is attached into a Great Zero Marker.
Music Box Player
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Triggerer | Activator | MOUL, PotS | |
2 | Oneshot resp | Responder | MOUL, PotS | |
3 | Start responder | Responder | MOUL, PotS | |
4 | Stop responder | Responder | MOUL, PotS | |
5 | Sound sceneobject | Scene Object | MOUL, PotS | |
6 | File path | String | MOUL, PotS | |
7 | Sound component name | String | MOUL, PotS | |
8 | Initial song name | String | MOUL | |
9 | Current song sdl var | String | MOUL |
Makes the object to which this modifier is attached into a music box.
Add Music Box Song
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Triggerer | Activator | MOUL | |
2 | Oneshot resp | Responder | MOUL | |
3 | Sound file name | String | MOUL | |
4 | Music player age name (not this player) | String | MOUL |
When the specified activator is triggered, adds the specified music file to the player's available music playlist.
Passive Indicator Light
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Name | String | MOUL, PotS | |
2 | Actvtr: Power Source | Named Activator | MOUL, PotS | |
3 | Rspndr: Powered | Responder | MOUL, PotS | |
4 | Rspndr: No Pwr | Responder | MOUL, PotS |
Runs the appropriate responder when the specified activator is triggered, useful to turn on or off power-indicator lights.
Simple Imager
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Name of the Imager | String | MOUL, PotS | |
2 | The Dynamic Texture Map | Dynamic Map | MOUL, PotS | |
3 | The activate region | Activator | MOUL, PotS | |
4 | Number of seconds on each image | Integer | 'default': 60 |
MOUL, PotS |
5 | Members Only | Boolean | 'default': 1 |
MOUL, PotS |
6 | Imager Object (for ownership test) | Scene Object | MOUL, PotS | |
7 | Maximum number of images | Integer | 'default': 5 |
MOUL, PotS |
8 | start or stop the button animation | Responder | 'stateList': ['buttonOn', 'buttonOff'] |
MOUL |
9 | Inbox SDL variable (optional) | String | MOUL, PotS | |
10 | Pellet Score Imager? | Boolean | 'default': 0 |
MOUL, PotS |
Creates a standard, simple imager.
Takable Clothing
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Show/hide age SDL var name | String | MOUL, PotS | |
2 | Show on true | Boolean | 'default': 1 |
MOUL, PotS |
3 | Clothing clickable | Activator | MOUL, PotS | |
4 | Female clothing name | String | MOUL, PotS | |
5 | Male clothing name | String | MOUL, PotS | |
6 | Has hair color | Boolean | 'default': 0 |
MOUL, PotS |
7 | Chance SDL var name | String | MOUL, PotS | |
8 | Tint 1 Red | Integer | 'default': 255, 'range': (0, 255) |
MOUL, PotS |
9 | Tint 1 Green | Integer | 'default': 255, 'range': (0, 255) |
MOUL, PotS |
10 | Tint 1 Blue | Integer | 'default': 255, 'range': (0, 255) |
MOUL, PotS |
11 | Tint 2 Red | Integer | 'default': 255, 'range': (0, 255) |
MOUL, PotS |
12 | Tint 2 Green | Integer | 'default': 255, 'range': (0, 255) |
MOUL, PotS |
13 | Tint 2 Blue | Integer | 'default': 255, 'range': (0, 255) |
MOUL, PotS |
14 | Stay visible after click | Boolean | 'default': 0 |
MOUL |
15 | Eval On First Update? | Boolean | 'default': 0 |
MOUL |
Creates a piece of clothing that when clicked is added to the avatar's closet and optionally removed from the scene. The avatar will also be given the option to wear the item immediately.
Telescope
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Activate Telescope | Activator | 'netForce': 1 |
MOUL, PotS |
2 | Telescope camera | Scene Object | MOUL, PotS | |
3 | Telescope behavior (multistage) | Behavior | 'netForce': 1 |
MOUL, PotS |
4 | Vignette dialog - by Name | String | MOUL, PotS |
Creates a standard telescope, using the dialog as the telescope's close-up view.
Activator Usage Counter
ID | Description | Type | Arguments | Engine Support |
---|---|---|---|---|
1 | Activator to track | Activator | MOUL, PotS | |
2 | Chronicle var | String | MOUL, PotS |
Counts the number of times the specified activator is triggered and stores the value in the specified Chronicle node.