Lscripts
License
Copyright (c) 2015, Mike Green
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Context Highlighter
I don't use LSED for my programming, I use Context which is a language independent programming environment, which you can load up your own language highlighter.  Here's my highlighter for it. It may be missing some commands, I'd be grateful if you point any omissions out to me :)
DownloadContextLscript.zip


Lscript Reference
Here's my lscript reference manual compiled from both the LW reference manual and the release notes, as far as I've got through them.
Lscript
Downloadable Lscript zip

Modeler Scripts

BlurVMaps 0.5 (06/06/08) Uses a more accurate method of blurring.
Blurs selected vmaps.
Download MG_Blur_VMaps_MD.zip


Box by Connected 1.0 (29/08/16)
Converts all connected groups of polygons into boxes in the background layer, for whatever purpose, say LOD.
Download MG_Box_By_Connected_MD.zip


BreakUp 0.71 (03/06/08) Now works with any LW (Prototype)
Breaks your object into bits. Dependent on the LW boolean so might be a little flakey in places, but I've tried to minimise this
Download MGBreakUpMD.zip

Convert VMaps v1.1 27/08/08
This allows you to convert one vmap to another, or choose which values from a vmap you want to use to make another vmap. So for example you can use the Green channel from a colour map and the z channel from a morph map to make a new UV map.
Download MGConvertVmapsMD.zip

Images To Planes v1.8 06/03/2014 Fixed bug in pixels/m
This takes a selection of images and creates a series of planes with an image on each one. Useful for compositing etc. You also have the option to make a caption for the image as a 3d object, and select a suffix which will match images with their alpha for the transparency channel.
Download MGImagesToPlanesMD.zip

Inverse Bridge v1.1 (18/02/08) Fixed a bug for certain arrangements of polygons.Thanks to Exception for the report.
This works like bridge, but inverted. So you select a loop, or string of polygons and it will replace them with two polygon caps. This is useful for creating floors in buildings etc.
Download MGInverseBridgeMD.zip

Invert Weightmaps
This will allow you to select and invert weightmaps either around 0 or 50% with an option to invert points which have no value in the map.
Download MGInvertmaps.zip


Julienne 3d 4/06/2014 v1
This will allow you to slice your selected polys along 3 axes interactively. Download MG_Julienne_3D_MD.zip

JulienneRT 18/10/2009 V1.3 Fixed Division by zero bug.
This will allow you to slice your selected polys along one axis interactively. Download MGJulienneRT.zip

Lathe Axis
This allows you to lathe around an arbitary axis as defined by two selected points.
Download(8 only) MGLatheAxis.zip
Download(9 only) MG_Lathe_Axis_MD.zip


LatticeSplitPolygons
This allows you to split selected 4 sided polys into grids.
Download MGLatticeSplitPolygons.zip
LW8 : MGLatticeSplitPolygons85.zip


Multi Rail Clone v1.0 (28/08/16)
Clones the foreground layer along ALL the background curves.
Download MG_Multi_Rail_Clone_MD.zip

Radial_Array_Packed 05/12/09 Added Fibonacci cloning
This clones an item into a radial array. I wrote this as a way to make sunflower heads, which are packed with seeds.
Download MG_Radial_Array_Packed_MD.zip


Random Select
This will allow you to select points/polys by a percentage.
Download MG_Random_Select_MD.zip


Scatter
This scatters connected groups of polys according to the settings.
Download MG_Scatter_MD.zip


Select Polygons By Size
This will allow you to select polys either by x/y/z size or by radius.
Download MGSelectPolygonsBySize.zip


SharpSmooth
Designed as a replacement for LW's curve smooth command, (ctrl-s) this will
a) if you have curves selected, smooth those curves as normal.
b) if you have points on curves selected, will split/or unsmooth those curves at those points.
Basically it acts as a toggle between a sharp and a smooth corner on a point.
DownloadMGSharpSmooth.zip


SmoothAssist v1.2 (new method)
For all you smooth shift modelers out there. When you smooth shift 0m and then drag points about, this will clean up after you. If you merge after smooth shifting, you can end up with 2 point polys around the polys you've smooth shifted, but whose points you haven't moved. This selects them all and removes them, leaving you free to continue modeling.
Download MGSmoothAssist.zip


Split by Seams v1.1 Now no requester.Yay!
This will split the selected points along UV seams, allowing you to perform operations on discontinuous UVs .
Download MGSplitBySeams.zip


Subpatch Cylinder
This plugin makes 8 sided cylinders with quad poly ends in real time suitable for turning into subpatched cylinders.
Download MGSubpatchCylinder.zip


Ultimate Clone v1.3 02/01/10(Fixed random rotation bug)
This allows you to clone multiple background objects across the points or polys of a mesh. You can have random sizes, rotations, align the clones to axes or the poly/point normals, or just clone to a percentage of the mesh. It's trying to do what all the other clone plugins do, hence the ultimate name.
Download MGUltimateCloneMD.zip


UV Quantize
This performs a quantize function, like LW's own, on your UVs.
Download MGUVQuantize.zip


UV Normalise V1.0 (29/08/16)
This normalises your UVs, scaling them so they range between 0 and 1 in UV space. It works on selected points, but you'll probably need to unweld them as Modeler doesn't distinguish between selected discontinuous points and unselected discontinuous points.
Download MGUVNormalise.zip


UV Relax v1.3 Now no requester!
This smooths out overlapping UVs which you might get when you UV map an ear for example.
Download MGUVRelax.zip


Voronoi_Shatter 2/11/10
This breaks an object up according to the Voronoi method. It uses Lightwave's own boolean function to do the breaking, and thus becomes more likely to create bad geometry the more pieces an object is broken into. User beware!
Download MG_Voronoi_Shatter_MD.zip


WizzyWig
This generates Hair guides for Saslite/Sasquatch from background splines and polygons.
Download MGWizzyWig.zip


Layout Scripts

Generic

Bake_Selected_Instancers V1
This allows you to select items with instancers applied to them, for example nulls, and clone the instanced meshes to their positions in the instancer. Useful if you need to replace instances with actual meshes. It parents the new clones to the item they were instanced by. Some limitations: Due to a limitation in the SDK it only copies in Local mode (ie the mode which doesn't use the instanced objects position/rotation/scale) and it only does it for the current frame.
Download MG_bake_selected_instancers_GN.zip


Save with Suffix V1
This allows you to save all objects in a scene with an additional suffix
Download MG_Save_With_Suffix_GN.zip


Copy Paste Keys V1
This allows you to select an object and copy a section of it's keys to a selection of objects.
Download MGCopyPasteKeys.zip


Clone Item to Items V1
This allows you to select an object and copy it to the position and rotations of a selection of objects.
Download MGCloneItemtoItems.zip


LightMesh V1
This allows you to convert an object with a colour Vmap into an array of coloured lights at it's vertices.
Download MGLightMeshGN.zip


MakeIKBGoal V1 26/Sep/07
This creates a goal item at the position of the first item, parented to the second item selected. This way you can move your IKB hand to your IKB head and pin it there easily.
Download MGMakeIKBGoalGN.zip


MirrorHierarchy V1.1 30/Sep/07
This can be used instead of LW's own slightly faulty MirrorHierarchy command.
Download MGMirrorHierarchyGN.zip


MotionMixerControl V1 (for 9.2+ only)
This allows you to turn off/on MotionMixer plugins for a selection of items and their children, so it can beused alongside IKB
Download MGMotionMixerControlGN.zip


PreviewRangeToggle v1 26/Sep/07
Assigned to a hotkey, this will flick the preview range between the render range, and 100 frames either side of the current frameslider position, allowing you to switch between an overview of your animation, and a working area.
Download MGPreviewRangeToggle.zip


Renamer21/04/08 Fixes bugs and now if one object is selected, renamer will work on it and its children.
This allows you to rename multiple items. Find/replace, numeric increments and other forms of renaming are supported.
Download MGRenamer.zip


ReplaceImages
This allows you to replace images en masse in your scene. For example, you might want to replace all psds with tgas, or replace all images with images of the same name from another directory.
Download MGReplaceImagesGN.zip


Save Transformed(05/06/08)
With the Save transformed script, you can select items in a scene and save them in their current positions/deformations. It comes with a second script which allows you to load a lot of meshes from a directory into one obect. With the two scripts together, you can compile a scene into one object.
Download MG_Save_Transformed.zip


Select Children/Recursive
With these you can select children of selected objects or recursively select all it's descendants.
Download MGSelectChildren.zip


SewCoincidentPoints LW9.2 only
With this you can greatly speed up sewing set up by selecting all your items to be sewn, and using this. If the seams have coincident points (points in the same place) then they will be sewn together. It saves a clothfx SETTINGS file for each object, which can then be loaded for each item using the Load button. You can greatly speed up processing by making a selection set vmap of the points to be sewn.
Download MGSewCoincidentPointsGN.zip


Subpatch
Assign these three to a hot key each and switch between 1/2/3 levels of subdivivision more easily.
Download MGSubpatch.zip


Update bones (13/12/09)v1.8 Now optionally moves IK goals to their IK chains.
This modifies the current skeleton in an object so that it's position/rotation/scale matches that of the skelegons in the object. So if you've added motion modifiers and set up IK on your skeleton you can go back into Modeler and change the Skelegons position in there and update Layout to match. It will optionally add in new skelegons, or remove ones not belonging to the Skelegons, reparenting their children if neccesary. The brand new version also switches on and off motion modifiers while working, so should avoid any screw ups with them, but channel modifiers aren't affectable in this way, so try not to use them unless they won't affect your bones in the rest pose.
Download MGUpdateBonesGN.zip(9.2 or above)
Download MGUpdateBone.zip(9 or earlier)


Visibilty
These allow you to hot key the visibilty of your selected objects between invisible, bounding box,frontface wireframe, polygons and textured.
Download MGVisibility.zip

Master

LayersMC v2.6
v3.2 (19/01/10) fixes minor bug when clearing layout items from the scene
This adds layers functionality to LW. You can group items one of 3 ways, as a Display layer, Render layer or Selection layer. Display layers allow you to hide or view your group in different ways, or lock them from selection. Render layers allow you to set the render flags (Visible by camera/rays, or shadow options) for the group. Selection layers are just selection sets which WORK with load from scene.
You also now have the ability to assign hotkeys to all the items of a certain type in a certain layer. You could for example group all your characters fingers in a Selection layer, then when the panel is active you hit the hotkey to select those fingers. I assign '8' to the MGOpenLayersGN command so I can just hit 8 to select the layers panel, and then hit the hotkey of the layer that I want to select.
Note: If you're using a version of lw before 9.6 use the legacy LayersMC as NT recently fixed item referencing(Maybe from 9.5 too) and the latest version cleans up the hack which tried to work around the problem, but doesn't load items lists generated by the hack version
Download MGLayersMC.zip
Download MGLayersMCLegacy.zip (For use with older scenes which used layersMC previously)

MotionCapture V1
This adds a little motion capture control to Lightwave. You choose the tool (move, rotate etc) you want to capture and press go. The plugin will then countdown and start playing in Layout so you can animate your item and then it will stop on the last frame.
Download MGMotionCaptureMC.zip


Animation

AddCollisionNulls
This allows you to selecta group of objects and parent collision spheres to them which are scaled roughly to the objects size and shape. This can be used as a faster though less accurate collision model which you might be able to get away with.
Download MGAddColliisionNulls.zip


Copy Paste Poses
This allows you to copy and paste poses from one object to all selected objects.
Download MGCopyPastePoses.zip


JointSetup
This enables you to toggle on and off various motion and view based attributes to make setting up a character easier. You could do all this in the spreadsheet scene editor, but this collects the settings all in the same place.
Download MGJointSetup.zip


Make Muscle Bone v1.5(21/07/12) Fixed UI glitch
This enables you to select a bone and a target bone, and applies a muscle motion modifier, so as the target moves towards the first bone, the bone expands around the x and y axis and shrinks on the z-axis, bulging like a muscle.
Download MGMakeMuscleBoneGN.zip
Download MGMakeMuscleBoneLegacy.zip(For use with older scenes which used layersMC previously)

Make Stretchy
This turns all selected items into stretchy items which can be scaled in any axis without affecting the size of their children.
Download MGMakeStretchy.zip
Download MGMakeStretchyLegacy.zip(For use with older scenes which used layersMC previously)

Motion Limiter v1.1 Now interactive
This limits an object between adjustable intervals on any axis (in parent coordinates) This works interactively if you have motion paths on
Download MGMotionLimiter.zip


Hierarchy to Bones 1/10/2008 Rewrite. Should be more robust, and makes joints separately from influence bones.
This allows you to convert a hierarchy to bones, for example motion capture in the form of nulls to a skeleton animated the same way. Select the hierarchy's parent and off you go. You can scale the hierarchy.
Download MGHierarchyToBones.zip


Parent Follower V1.1 (fixed small bug in calculation)
This is a quick to apply follower for parent rotations which obeys rotation channel locks and Bone rest positions along with an easy setup script.
Download MGParentFollower.zip


RecordPivotRotation
This does a standard record pivot rotation/reset pivot rotation, but does it for all items selected.
Download MGRecordPivotRotation.zip


ResetGoals
Select a hierarchy for which you wish to reset the IK goals to their IK controlled object's positions and run this.
Download MGResetGoalsGN.zip


SpringyThingy v 2.81(19/10/07)Fixed bug with start time
This makes an object follow another with proper wibbly inertia. Good for antennae, tails or other wobbly bits.
Download MGSpring.zip
Download MGSpringLegacy.zip(For use with older scenes which used layersMC previously)

Wheel v1.7 10/03/08(now saves rotation direction)
This makes an object rotate around it's axis the further it moves.
Download MGWheel.zip
Download MGWheelLegacy.zip(For use with older scenes which used layersMC previously)

Import/Export
Import CSV 16/05/10 v1
This script imports a text file and applies it to the position of the selected item. Each line of the text file must be of the form
minutes:seconds,X,Y,Z ie
10:12.64,2,3,1
Download MG_Import_CSV_Motion_GN.zip


Save and Backup
These two scripts will save backups (with incremental suffixes) of the current lws/lwo to directories called Old in the Scenes and Objects directories respectively, keeping the original name as the current version.
Download MG_Save_And_Backup.zip


MTL Import/Export V1.6 Added a work around to .obj imported objects
This allows you to load and save MTL files (AliasMaterial files) for use with .obj format. There is also a Maya MTL exporter,which produces mtl files in the same format as Maya, for those programs which only adhere to the Maya format. The original is more flexible, but some programs have problems with this.
Download MGMTLImpExp.zip

Papagayo Importer v1.3 20/01/10 There's now a Smooth interpolation option and a fade frames setting.
This allows you to select an object with morph targets, and load a .dat file exported from the free lip sync program Papagayo (available from here) It has the option of fading phonemes depending on how close the surrounding phonemes are, much like the human mouth will skip shapes when speaking quickly.
Download MG_Papagayo_Import_GN.zip

Save Selected v1
This allows you to save only selected objects in layout.
Download MG_Save_Selected_GN.zip

3rd Party
These are plugins which seem to have disappeared from the net, so I've put them up on my page to keep them available. If the originator of them is unhappy with this, just contact me and I'll take them down.

AutoIK
Select the top of your item chain, and the bottom of your item chain, and apply this to add a goal and set the selected channel controllers of your  items to IK.
Download AutoIK.zip


Background conform plus
Just like BGCOnform, but with more control..
Download BackgroundConformPlus.zip


Boolean texture
This can be applied as a clip map to two objects, and by setting the options, you can get an animated boolean on those objects.
Download BooleanTexture.zip


Shift Spline Transform
Like the spline deformation tool for layout, but on steroids.
Download SplineTransform.zip


mn_DrainBGVMap
Allows you to transfer a vmap from a background object to a foreground object irrespective of point count
Download mn_DrainBGVMap.zip


Moho/AnimeStudio Scripts

MotionBaker
This allows you to bake moho/animestudio animations per frame, allowing them to be imported into other packages so the animation to be read correctly.
Download mg_motion_baker.zip


Bone Parent Master
This matches a bone's name in on layer, with a bone of the same name in the parent layer, and makes the parent bone control the child's bone. This is useful where you have a switch layer with a bone layer parent, and you want to animate the bones in the bone layer but still deform the switch layers. Just copy the bones from your parent object to the switch layer, then apply this script in the Embedded script toggle in the Layer properties panel. It will control the length, strength, offset and position/angle/scale of the matching bone.
Download mg_bone_parent_master.zip


Line Width Magnet 23/10/10 Added sensetivity for the resize control
This is like the line width tool, but has a fall off. It is an adapted script from the original by Ramón López
Download mg_line_width_magnet5.zip
Download mg_line_width_magnet6.zip


Magnet 15/09/10
A modification of the FA_Magnet tool which allows you to alter the falloff using the Alt key and dragging.
Download mg_magnet.zip

Dat to Morph Dial 24/05/110
A menu addon for keying the selected bone to the positions of bones named after papagayo phonemes in its exported .dat file. Export the voice dat file from papagayo, select the MorphDials blending bone (the one called "AI;E;...") and choose the script, which will then prompt you for the .dat file. It will then move that bone to the position of each of the phoneme bones and key it.
Download mg_dat_to_morphdial.zip