Difference between pages "IntelliDoor Garage" and "Global Mod Link System"

(Difference between pages)
 
m
 
Line 1: Line 1:
{{ infobox product
+
The '''Global Mod Link System (GMLS)''' is a free, full-permission script system provided by the NTBI Group. Anyone can implement GMLS into their modifiable vehicle, and anyone can build mods that automatically position themselves when linked to a GMLS-compatible vehicle.
| title            = IntelliDoor Garage
 
| image            = [[File:VendorImage5 - IntelliDoor Builder Kit.jpg|200px|center]]
 
| caption          = IntelliDoor Builder Kit, the full-permissions pack of all IntelliDoor products.
 
| inventor        = [[Nelson Jenkins]]
 
| launch year      = 2009
 
| company          = [[Gentek]]
 
| available        = [https://marketplace.secondlife.com/p/IntelliDoor-Garage-Versatile-Garage-Door/1556292 Marketplace] & In-World
 
}}
 
  
The '''IntelliDoor Garage''' is a smoothly-operating garage door by [[Gentek]]. It uses notecard-based configuration.
+
==Overview==
 +
GMLS is a set of full-permissions scripts. It is intended for use in modifiable vehicles to simplify the installation of prebuilt modifications. For example, the NTBI Factory Lightbar Package uses GMLS to automatically position lightbars when linked to compatible vehicles.
  
 +
Aftermarket modification manufacturers can set up GMLS by linking a copy of the modification to the desired vehicle and using the Calibration Tool to set up the Alignment Tool. Then, when an end-user links the modification to a compatible vehicle, the modification will reposition itself (and, if necessary, rescale itself) automatically. GMLS can also unlink certain prims from the vehicle for factory prim replacements.
  
==Setup==
+
GMLS comes with three scripts:
# Rez the door and resize it to the frame. Try not to change the thickness of the door.
 
# Rez a Button if you want one and position it. It can be resized if necessary, but we recommend leaving it as it is. You don't need a Button; clicking the door itself will operate it as well.
 
# Open the _config notecard in the door, sensor, and button. For more information on the _config values, read the sections labeled "CONFIG VALUES". For now, change the door ID and make sure it is the same in all notecards.
 
# Test the door by clicking the up button (or if you don't have a controller, just the door itself). If you have autoclose enabled, stand under the door and see if it closes (it shouldn't).
 
As of v3.0, the door can be rotated and linked freely; it will remain totally operational.
 
  
==Textures==
+
* '''NTBI GMLS Alignment Tool''' - Inserted into aftermarket modifications and edited by the modification manufacturer to program alignment positions and other options.
The door textures are now included in the package; simply drag them onto each side of the door to set the door's texture. The textures are prefixed with "Tex-IDGarage". You can also use your own textures.
+
* '''NTBI GMLS Calibration Tool''' - Used to calibrate alignment positions; outputs alignment data to be placed in the Alignment Tool.
 +
* '''NTBI GMLS Vehicle Sample Script''' - Inserted into vehicles and edited by the vehicle manufacturer to define vehicle information for use by modifications.
  
==Autoclose==
+
The NTBI Group does not maintain a list of compatible vehicles or modifications. GMLS-compatible products should clearly label themselves as such. The NTBI Group does not provide any warranty for third-party GMLS implementations.
The IntelliDoor has an autoclose feature set up in the _config notecard of each door. To enable it, set the AUTOCLOSE value greater than 0 (we recommend at least 10). A sensor is no longer included as of v3.0, since the door will now perform a raycast to detect if its path is blocked.<br>
 
When your door reaches the completely open position, it will wait the number of seconds in AUTOCLOSE, then automatically close. However, if there is something blocking the door, it will wait until the door becomes unobstructed (or 60 seconds after the last object entered the doorway) then close.
 
  
==Door Config Values==
+
<big>[https://marketplace.secondlife.com/p/GMLS-Development-Kit-Tools-for-Integrating-the-Global-Mod-Link-System/20803262 '''Click here''' for the GMLS developer kit.]</big>
* ID: This is the door's identifier. Each door should have a separate ID. The ID can be any alphanumeric string (A-Z, 0-9, space). All IntelliDoor components are owner-only so don't worry about conflicting IDs from other people.
 
* SPEED: This is the speed value. The door speed can be 1-9, 9 being the fastest. The default is 5. If you are experiencing slow operation due to lag (especially in homesteads), it might help to increase the speed.
 
* ACCESS: This is the base access setting. If the door is locked (which it is by default), this group of people can always access it anyway by clicking on it. Can be "Everyone", "Group", or "Owner". (If you put "Group" here, the door's group will be able to click the door to use it, but they won't be able to use any buttons or controllers unless you also set them to "Group".)
 
* AUTOCLOSE: If you don't want autoclose, leave this as 0. Otherwise, it is the number of seconds the door waits until closing automatically. For more info, read "AUTOCLOSE" above.
 
* WHITELIST: The list of people that will always be able to click the door to operate it. This does not affect buttons and controllers. Separate with commas. '''NOTE: Whitelist names are ''usernames'' (nelson.jenkins, newbie), not ''legacy names'' (Nelson Jenkins, Newbie Resident).''' If you have more than 10 names, please read "Extended Whitelist" below.
 
* GSS: If you are using a Global Security Server, enter its name in this field. The IntelliDoor GSS provides a "master" whitelist and blacklist for doors that subscribe to it (for example, if you have a group of doors that you want a list of people to control).
 
* AKS: This is for a future product. Ignore this field.
 
* REMOTE: If you have an IntelliDoor Remote, you can put a password in this field. This is the remote password that you'll put in the remote to control this door. '''IMPORTANT:''' The IntelliDoor Remote is '''not''' owner-only. Anyone can access your door if they have this password - similarly, if you have the same password as another door, even if it is owned by someone else, it will be controlled at the same time. We recommend simply [https://www.random.org/passwords/ generating a random password] without special characters.
 
  
===Extended Whitelist===
+
==End-User Instructions==
Because of LSL limitations, the whitelist line can only be read for 255 characters. However, the IntelliDoor system supports multiple whitelist lines. To be safe, separate your whitelist into 10-name increments, like so:<br>
+
Refer to your vehicle's owner's guide for instructions on how to install GMLS-compatible equipment.
<code>WHITELIST=User01, User02, User03, User04, User05, User06, User07, User08, User09, User10<br>WHITELIST=User11, User12, User13, User14</code><br>
 
You can have as many whitelist lines as you need.
 
  
==Button Config Values==
+
If the owner's guide does not provide instructions, the following is a general checklist for installing GMLS-compatible modifications:
* ID: Put the door IDs you want to control here. If you are only controlling one door, just put that door's ID. If you have more than one door you want to control at the same time, separate their IDs with commas.
 
* ACCESS: This is the base access setting for this button only. This is the same as the door's access settings, except it affects the button only. (If you put "Group" here, the button's group will be able to use the button to use the door, but not the door directly by clicking it.)
 
* WHITELIST: This is the same as the door's whitelist, but again, only affects the button.
 
* GSS: This is the same as the door's GSS name, but only affects the button.
 
  
==Builder Kit Instructions==
+
# Ensure that the vehicle is turned off, including any lighting or other components that may change any attributes while installing the modification.
<font size="4">[[Builder Kit Permissioning|Follow this guide]] before using your Builder Kit components, or they will break.</font>
+
# Take a copy of your vehicle as-is. Modifications may cause damage or unlink prims accidentally. Save a copy now in case this happens!
 +
# Rez the modification near your vehicle.
 +
# Right click the modification and select "Edit".
 +
# With the Edit window open, hold your SHIFT key and left click the vehicle. This should select both objects at once. Make sure you select the vehicle last.
 +
# Press your CTRL + L keys, or click the "Link" button in the Edit window.
 +
# If prompted, confirm that you want to link the two objects together.
 +
# When linked, the modification should automatically position itself to the recommended position and resize if necessary.
 +
# If prompted, grant link permissions. This may unlink some prims. Make sure to delete them after.
 +
# If desired, you may usually move the equipment once linked.
  
Make sure you review the [[Gentek Company Policy|Full Permissions Agreement]] to understand how you may distribute IntelliDoor products. Remember, objects in violation of this agreement will be remotely deleted. Therefore, make sure you follow the above instructions exactly.
+
If a modification does not use GMLS, is not compatible with your vehicle's GMLS system, or returns an error when linking using the above procedure, follow steps 1 through 6, then manually reposition the modification as needed.
  
==API==
+
==Aftermarket Modification Manufacturer Instructions==
As of v3.0, the IntelliDoor has an API for controlling individual doors and components. All API communication is done on channel '''-494827459'''.
+
Get the Alignment Tool and Calibration Tool from the [https://marketplace.secondlife.com/p/GMLS-Development-Kit-Tools-for-Integrating-the-Global-Mod-Link-System/20803262 GMLS developer kit.]
  
For the following, '''[BBID]''' specifies the [[Buildbox]] ID. By default, this should be '''NONE'''. However, if your doors were rezzed as part of a building through a Buildbox, it will have been set. You can get the Buildbox ID by selecting a door and checking its description - it should read '''BBID''' followed by the ID, which is usually formatted as a 36-character UUID. You can also set up your API-enabled item in the building such that it accepts and stores the Buildbox ID when it is rezzed. Note that Buildbox IDs do not change once the object is rezzed.
+
Before continuing, make sure your mod is finished. Do not continue until you are sure you do not need to make any changes to your object.
  
The IntelliDoor Garage accepts the following API commands:
+
# Make a two copies of your object. One will be used for calibration. The other will be distributed to your end-users.
* '''[BBID][DoorID]&&open''' - Opens the door.
+
# Place the "NTBI GMLS Alignment Tool" script in the distribution object (the one you will keep).
* '''[BBID][DoorID]&&close''' - Closes the door.
+
# Place the "NTBI GMLS Calibration Tool" script in the calibration object (the one you will link, then delete).
* '''[BBID][DoorID]&&stop''' - Stops the door, if it is moving.
 
The IntelliDoor Garage ''does not'' accept the &&lock and &&unlock commands, and it is the only component which accepts the &&stop command.
 
  
==Known Issues==
+
For each vehicle you want your object to be compatible with:
As of September 2019, a change to the physics engine broke the method the IntelliDoor Garage uses to hide itself. The door will retain its physics shape above where it has raised into until manually edited. [https://jira.secondlife.com/browse/BUG-227636 This has been reported on the JIRA.] A workaround is pending for this issue.
 
  
==Updates & Release Notes==
+
# Make a new copy of the calibration object. It should have the "NTBI GMLS Calibration Tool" script already in it.
You can update your IntelliDoor Garage by rezzing the update box.
+
# Rez the vehicle. Make sure it is the original size!
* v3.1
+
# Position the calibration object on the vehicle, exactly where you want it to be once installed by the end-user.
** New button model
+
# Link the calibration object to the vehicle.
** IntelliDoor Remote integration
+
# Copy the script snippet line sent to local chat.
* v3.0
+
# Open the "NTBI GMLS Alignment Tool" script in the distribution object.
** Implemented Buildbox integration
+
# Paste the script snippet line between the two marked lines at the top of the script. NOTE: The first part of each line is the GMLS ID of the vehicle you have calibrated to. If you see a line with the same GMLS ID, you have already calibrated to that vehicle, and only the first instance of that vehicle will be used.
** Doors now automatically reset when GSS is reset
+
# Save the "NTBI GMLS Alignment Tool" script.
** Usernames in whitelist are no longer case-sensitive
 
** Blacklist removed
 
** Default textures now included in the box
 
** Communications now streamlined onto single channel for less lag
 
** API added
 
** Doors are now all linkable to buildings for easier prefab packaging
 
** Garage can now be rotated (previously would not work)
 
** Garage Sensor removed and replaced with an automatic raycast
 
* v2.1.2
 
** Fixed separate textures sometimes overwriting each other
 
* v2.1.1
 
** Fixed integration with Keypad
 
* v2.1
 
** Allow separate textures on each side.
 
** Changed old-style names to usernames.
 
** Slight tweaks.
 
* v2.0
 
** Replaced and rewrote everything. It's better now. Trust me.
 
* v1.3.4
 
** Fixed API script.
 
* v1.3.3
 
** Added API script.
 
* v1.3.2
 
** Fixed "grey-out" bug.
 
** Removed Legacy door.
 
** Added touch menu.
 
** Added retexturing system.
 
** Added data validation for door settings.
 
** Removed self-deleter.
 
* v1.3.1
 
** Attempted to fix "grey-out" bug.
 
* v1.3
 
** New, smoother movement driver.
 
** Speed setting added.
 
** Minor UI changes.
 
** Updater moved to door (non-Legacy).
 
* v1.2
 
** Better sound driver.
 
* v1.1
 
** Added autoclose.
 
* v1.0
 
** Primary public release.
 
  
==History==
+
Once finished, delete any calibration objects and vehicles.
Garage doors in [[Second Life]] used to either be one of two types:
 
* '''Physical:''' the door would set itself physical and move upwards through anything in its way. This required extra space above the door.
 
* '''Compression:''' the door would resize and move itself so it appears to be moving up. This didn't require extra space, but compressed the texture vertically and didn't look realistic.
 
The '''IntelliDoor Garage''', originally just the IntelliDoor, is a unique garage door released in early 2009 that uses an advanced scripting method that solves both problems - it doesn't require extra space and it doesn't compress the texture.
 
  
Its design has not changed much from the original design, except for a texture refresh. It is just a simple box prim. However, its scripts were reduced dramatically - the original had 5 separate scripts to coordinate movement. With the advent of newer LSL functions, they could be consolidated into one.
+
If you want the root prim of the object to retain its physics type when linked to the vehicle, change root_no_physics to FALSE. (By default, the root prim of this object will be set to physics type "none" and the physics types of child prims will remain the same.)
  
Fun fact: the original IntelliDoor was created on New Years Eve in 2008, as [[Nelson]] had hoped to release it for the New Years Sale starting the next day. Unfortunately, it was stalled due to general laziness, and wasn't released until several months later.
+
If you want to have the GMLS script automatically unlink prims, list their names in the remove_prims list. If you do this, you can also change remove_move_dist to change the distance unlinked prims will move up, and you can change remove_recolor to FALSE if you do not want unlinked prims to be recolored bright red for visibility.
  
Version 2 brought integration with the rest of the IntelliDoor series, which had just been released.
+
If you do not want the object to be set to temporary when unlinking prims in the remove_prims list so that they automatically delete themselves, change make_temp to FALSE.
  
{{Gentek}}
+
When finished, make sure you test your modification on each compatible vehicle to make sure it works correctly.
 +
 
 +
===API===
 +
The Alignment Tool and vehicle script send the following link messages that can be used to trigger additional scripts in your modification:
 +
 
 +
* <code>GMLS_REQUEST</code>
 +
** Sent by Alignment Tool once linked. Vehicle responds with <code>GMLS_ID</code> if compatible. You can also send this manually once the GMLS script is finished if you need any information from <code>GMLS_ID</code>.
 +
* <code>GMLS_ID</code>
 +
** '''Key''': [gmls_id]|[root scale]|[additional information]
 +
** Sent by vehicle in response to <code>GMLS_REQUEST</code>. Note that [root scale] is not the ''size'' of the root prim of the vehicle, but rather the ratio of the current size of the root to the original size of the root. For example, [root scale] on a vehicle that was upsized to twice its original size would be <2.0, 2.0, 2.0> regardless of its actual size.
 +
* <code>GMLS_SUCCESS</code>
 +
** Sent by Alignment Tool if the GMLS operation completed successfully and it is now safe to perform any configuration changes or whatever else on the newly linked-to vehicle.
 +
* <code>GMLS_FAIL</code>
 +
** Sent by Alignment Tool if the GMLS operation failed either because the object the modification was just linked to is not GMLS-compatible or the vehicle has a gmls_id that the modification was not calibrated for.
 +
* <code>GMLS_CANCEL</code>
 +
** Sent by Alignment Tool if the GMLS operation was cancelled by the user.
 +
 
 +
==Vehicle Manufacturer Instructions==
 +
Get the Alignment Tool and Calibration Tool from the [https://marketplace.secondlife.com/p/GMLS-Development-Kit-Tools-for-Integrating-the-Global-Mod-Link-System/20803262 GMLS developer kit.]
 +
 
 +
Before continuing, make sure your vehicle's root prim will not be resized before it is distributed. Do not continue until the root prim is finalized.
 +
 
 +
# Place the "NTBI GMLS Vehicle Sample Script" script in the vehicle. If you prefer, you can also integrate this script into another script in the vehicle to save memory.
 +
# Edit the gmls_id string. You can use any string as long as it does not include the pipe ("|") character, but it should be limited to alphanumeric characters, underscores ("_"), and be up to 32 characters. The gmls_id must be unique for every vehicle that has a different layout of potential modification positions. For example, use different IDs for 2DR and 4DR variations of the same vehicle.
 +
# Edit the gmls_default_root_size vector to be the size of the root prim of the vehicle. On most viewers, you can get this value by opening the Edit window, going to the Object tab, and pushing the "C" button next to Size. WARNING: This is not optional. Failure to set this value will cause GMLS modifications to align improperly.
 +
# Save the "NTBI GMLS Vehicle Sample Script" script. If kept separate, you can [http://wiki.secondlife.com/wiki/LlSetMemoryLimit limit the memory used by the script] if you prefer.
 +
 
 +
Perform this procedure for each vehicle variation. Once finished, it is a good idea to test the GMLS settings by creating a simple object and following the Aftermarket Modification Manufacturer Instructions.
 +
 
 +
==Changelog==
 +
Rev. 2
 +
* Added make_temp option.
 +
* Changed unlinking parts procedure so that unlinked prims are set to temporary if make_temp is enabled.
 +
Rev. 1
 +
* Added GMLS_SUCCESS, GMLS_FAIL, and GMLS_CANCEL link messages.
 +
* Fixed erroring out and refusing to reposition if linked before permissions have been granted.
 +
* Fixed unlinking parts check running before checking if vehicle is compatible in the first place.
 +
* Fixed crosstalk when multiple GMLS modifications are rezzed at once.
 +
* Improved vehicle detection in slow regions by extending identification time from 2 seconds to 5 seconds.
 +
Rev. 0
 +
* Initial public release.

Revision as of 22:50, 20 April 2021

The Global Mod Link System (GMLS) is a free, full-permission script system provided by the NTBI Group. Anyone can implement GMLS into their modifiable vehicle, and anyone can build mods that automatically position themselves when linked to a GMLS-compatible vehicle.

Overview

GMLS is a set of full-permissions scripts. It is intended for use in modifiable vehicles to simplify the installation of prebuilt modifications. For example, the NTBI Factory Lightbar Package uses GMLS to automatically position lightbars when linked to compatible vehicles.

Aftermarket modification manufacturers can set up GMLS by linking a copy of the modification to the desired vehicle and using the Calibration Tool to set up the Alignment Tool. Then, when an end-user links the modification to a compatible vehicle, the modification will reposition itself (and, if necessary, rescale itself) automatically. GMLS can also unlink certain prims from the vehicle for factory prim replacements.

GMLS comes with three scripts:

  • NTBI GMLS Alignment Tool - Inserted into aftermarket modifications and edited by the modification manufacturer to program alignment positions and other options.
  • NTBI GMLS Calibration Tool - Used to calibrate alignment positions; outputs alignment data to be placed in the Alignment Tool.
  • NTBI GMLS Vehicle Sample Script - Inserted into vehicles and edited by the vehicle manufacturer to define vehicle information for use by modifications.

The NTBI Group does not maintain a list of compatible vehicles or modifications. GMLS-compatible products should clearly label themselves as such. The NTBI Group does not provide any warranty for third-party GMLS implementations.

Click here for the GMLS developer kit.

End-User Instructions

Refer to your vehicle's owner's guide for instructions on how to install GMLS-compatible equipment.

If the owner's guide does not provide instructions, the following is a general checklist for installing GMLS-compatible modifications:

  1. Ensure that the vehicle is turned off, including any lighting or other components that may change any attributes while installing the modification.
  2. Take a copy of your vehicle as-is. Modifications may cause damage or unlink prims accidentally. Save a copy now in case this happens!
  3. Rez the modification near your vehicle.
  4. Right click the modification and select "Edit".
  5. With the Edit window open, hold your SHIFT key and left click the vehicle. This should select both objects at once. Make sure you select the vehicle last.
  6. Press your CTRL + L keys, or click the "Link" button in the Edit window.
  7. If prompted, confirm that you want to link the two objects together.
  8. When linked, the modification should automatically position itself to the recommended position and resize if necessary.
  9. If prompted, grant link permissions. This may unlink some prims. Make sure to delete them after.
  10. If desired, you may usually move the equipment once linked.

If a modification does not use GMLS, is not compatible with your vehicle's GMLS system, or returns an error when linking using the above procedure, follow steps 1 through 6, then manually reposition the modification as needed.

Aftermarket Modification Manufacturer Instructions

Get the Alignment Tool and Calibration Tool from the GMLS developer kit.

Before continuing, make sure your mod is finished. Do not continue until you are sure you do not need to make any changes to your object.

  1. Make a two copies of your object. One will be used for calibration. The other will be distributed to your end-users.
  2. Place the "NTBI GMLS Alignment Tool" script in the distribution object (the one you will keep).
  3. Place the "NTBI GMLS Calibration Tool" script in the calibration object (the one you will link, then delete).

For each vehicle you want your object to be compatible with:

  1. Make a new copy of the calibration object. It should have the "NTBI GMLS Calibration Tool" script already in it.
  2. Rez the vehicle. Make sure it is the original size!
  3. Position the calibration object on the vehicle, exactly where you want it to be once installed by the end-user.
  4. Link the calibration object to the vehicle.
  5. Copy the script snippet line sent to local chat.
  6. Open the "NTBI GMLS Alignment Tool" script in the distribution object.
  7. Paste the script snippet line between the two marked lines at the top of the script. NOTE: The first part of each line is the GMLS ID of the vehicle you have calibrated to. If you see a line with the same GMLS ID, you have already calibrated to that vehicle, and only the first instance of that vehicle will be used.
  8. Save the "NTBI GMLS Alignment Tool" script.

Once finished, delete any calibration objects and vehicles.

If you want the root prim of the object to retain its physics type when linked to the vehicle, change root_no_physics to FALSE. (By default, the root prim of this object will be set to physics type "none" and the physics types of child prims will remain the same.)

If you want to have the GMLS script automatically unlink prims, list their names in the remove_prims list. If you do this, you can also change remove_move_dist to change the distance unlinked prims will move up, and you can change remove_recolor to FALSE if you do not want unlinked prims to be recolored bright red for visibility.

If you do not want the object to be set to temporary when unlinking prims in the remove_prims list so that they automatically delete themselves, change make_temp to FALSE.

When finished, make sure you test your modification on each compatible vehicle to make sure it works correctly.

API

The Alignment Tool and vehicle script send the following link messages that can be used to trigger additional scripts in your modification:

  • GMLS_REQUEST
    • Sent by Alignment Tool once linked. Vehicle responds with GMLS_ID if compatible. You can also send this manually once the GMLS script is finished if you need any information from GMLS_ID.
  • GMLS_ID
    • Key: [gmls_id]|[root scale]|[additional information]
    • Sent by vehicle in response to GMLS_REQUEST. Note that [root scale] is not the size of the root prim of the vehicle, but rather the ratio of the current size of the root to the original size of the root. For example, [root scale] on a vehicle that was upsized to twice its original size would be <2.0, 2.0, 2.0> regardless of its actual size.
  • GMLS_SUCCESS
    • Sent by Alignment Tool if the GMLS operation completed successfully and it is now safe to perform any configuration changes or whatever else on the newly linked-to vehicle.
  • GMLS_FAIL
    • Sent by Alignment Tool if the GMLS operation failed either because the object the modification was just linked to is not GMLS-compatible or the vehicle has a gmls_id that the modification was not calibrated for.
  • GMLS_CANCEL
    • Sent by Alignment Tool if the GMLS operation was cancelled by the user.

Vehicle Manufacturer Instructions

Get the Alignment Tool and Calibration Tool from the GMLS developer kit.

Before continuing, make sure your vehicle's root prim will not be resized before it is distributed. Do not continue until the root prim is finalized.

  1. Place the "NTBI GMLS Vehicle Sample Script" script in the vehicle. If you prefer, you can also integrate this script into another script in the vehicle to save memory.
  2. Edit the gmls_id string. You can use any string as long as it does not include the pipe ("|") character, but it should be limited to alphanumeric characters, underscores ("_"), and be up to 32 characters. The gmls_id must be unique for every vehicle that has a different layout of potential modification positions. For example, use different IDs for 2DR and 4DR variations of the same vehicle.
  3. Edit the gmls_default_root_size vector to be the size of the root prim of the vehicle. On most viewers, you can get this value by opening the Edit window, going to the Object tab, and pushing the "C" button next to Size. WARNING: This is not optional. Failure to set this value will cause GMLS modifications to align improperly.
  4. Save the "NTBI GMLS Vehicle Sample Script" script. If kept separate, you can limit the memory used by the script if you prefer.

Perform this procedure for each vehicle variation. Once finished, it is a good idea to test the GMLS settings by creating a simple object and following the Aftermarket Modification Manufacturer Instructions.

Changelog

Rev. 2

  • Added make_temp option.
  • Changed unlinking parts procedure so that unlinked prims are set to temporary if make_temp is enabled.

Rev. 1

  • Added GMLS_SUCCESS, GMLS_FAIL, and GMLS_CANCEL link messages.
  • Fixed erroring out and refusing to reposition if linked before permissions have been granted.
  • Fixed unlinking parts check running before checking if vehicle is compatible in the first place.
  • Fixed crosstalk when multiple GMLS modifications are rezzed at once.
  • Improved vehicle detection in slow regions by extending identification time from 2 seconds to 5 seconds.

Rev. 0

  • Initial public release.