DROMED – Self Frobable Desklamps
We want to create Desklamps that can be switched on and off by themselves. These are more of my personal notes than fully fledged tutorials. Basic Knowledge is required to use my information for your own. This is an Advanced Tutorial afterall.
Requirements
- A selfmade model created in Blender or other 3D Modelling Program
OR - Any object from the object hierarchy you want to turn into a light source
- NamelessVoice’s Custom Scripts NVScript
- Your own archetypes made in the physical category
Your Own Archetype for Lights
starting from the lowest object in the tree (the one you will create in the game world).
- SmallDesklamp
- Editor
- Design Note: NVFrobToggleTDest=”[Me]”
- Scripts: NONE; NONE; NVFrobToggle; NONE; FALSE
- Shape
- Model Name: mydesklamp
- Editor
- Desklamps
- Engine Features
- FrobInfo: Script;NONE;NONE
- Renderer
- Anim Light: minimum brightness; YOUR VALUES
- Schema
- Class Tags: SwitchTypeBPush
- Scripts: StdButton; AnimLight; NONE; NONE; FALSE
- Engine Features
- ElectricLights
- MyLights
- Physics
- Model
- Controls: Location, Rotation; LEAVE AS IS
- Type: OBB; 6; FALSE; FALSE
- Model
- Physics
- Physical
- Object
Further Notes
- The lamp we place in the world will inherit the scripts from the previous archetype in the tree. Write StdButton and AnimeLight into Script 0 and 1. And NVFrobToggle in the Slot for Script 3 otherwise the scripts won’t work.
- You can also put all the scripts into one archetype. Having the scripts in different archetypes as described a note above is just my way to organise Archetypes.
- Previously it was needed to make a CONTROL DEVICE LINK from the desklamp to the desklamp to make it send an ON signal to itself and work as a button. Thanks to NVscript we can simply add a design note with the line NVFrobToggleTDest=”[Me]”.
- The lamp in my example starts off and can be turned on thanks to setting “maximum brightness” to the AnimLight. If you want your lamp to start on so it can be turned off set “minimum brightness” and edit the DesignNote to look like this: NVFrobToggleTDest=”[Me]”; NVFrobToggleStart=1. This will send an OFF signal first.