Difference between pages "Global Fuel System" and "Global Mod Link System"

(Difference between pages)
imported>NelsonJenkins
 
m
 
Line 1: Line 1:
The '''Global Fuel System''' is an open-use fuel system maintained by the NTBI Group. Anybody can implement GFS into their own vehicles.
+
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.
  
<font size=3>'''[http://ntbigroup.com/updates/gimme.php?i=TlRCSSBHRlMgRnVlbCBQdW1w CLICK HERE TO GET THE GFS FUEL PUMP KIT]<br>[http://ntbigroup.com/updates/gimme.php?i=TlRCSSBHRlMgRnVlbCBDYW5z CLICK HERE TO GET THE GFS FUEL CANS]'''</font>
+
==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.
  
If you do not have an NTBI Group account, you can also get GFS equipment through the [https://marketplace.secondlife.com/stores/133128 NTBI Group Distribution store.]
+
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.
  
==System Outline==
+
GMLS comes with three scripts:
GFS is designed to act as a roleplay tool. For 7+ years, drivers have roleplayed filling up at nonfunctional fuel stations without any sense of activity or realism, or tried to work with buggy or difficult to understand fuel systems. With GFS, vehicles have an extra layer of realism, and drivers no longer have to pretend when they're pumping gas - GFS makes it visibly and audibly clear.
 
  
Implementing GFS into vehicles is very easy. You will need to contact us to get a GFS toolkit, but after that setup is simple and requires no oversight from us. Instructions are included with the toolkit; if you understand LSL scripting, GFS is simple to integrate.
+
* '''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.
  
==Compatible Vehicles==
+
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 following NTBI vehicles are compatible with GFS, sorted alphabetically:
 
* [[TPF-4 Ambulance|Astaro TPF-4 Ambulance]] - [https://marketplace.secondlife.com/p/Astaro-TPF-4-Ambulance/5038231 Buy Here]
 
* [[Lusch Himalaya]] - [https://marketplace.secondlife.com/p/Lusch-Motors-Himalaya/4792439 Buy Here]
 
* [[SZYM Intruder]] - [https://marketplace.secondlife.com/p/SZYM-Intruder-Police-Car-Civilian-Sedan/4297604 Buy Here]
 
Additionally, the following third-party vehicles are compatible with GFS, sorted alphabetically:
 
* CSM Alltrak - [https://marketplace.secondlife.com/p/CSM-ALLTRAK/5044964 Buy Here]
 
* [http://sl-gemc.blogspot.com/2013/03/gmund-stuttgart-ferdinand-update.html GEMC Gmünd Stuttgart Ferdinand] - [https://marketplace.secondlife.com/p/GEMC-Gmund-Stuttgart-Ferdinand/4233221 Buy Here]
 
* [http://sl-gemc.blogspot.com/2013/05/minamoto-sky-traveller-release.html GEMC Minamoto Sky Traveller] - [https://marketplace.secondlife.com/p/GEMC-Minamoto-Sky-Traveller/4918683 Buy Here]
 
* HD NextGen Engine 51 - [https://marketplace.secondlife.com/p/HD-NextGen-Engine-51/4989933 Buy Here]
 
* HD NextGen Engine 52 - [https://marketplace.secondlife.com/p/HD-NextGen-Engine-52/4989979 Buy Here]
 
* HD NextGen Tanker 13 - [https://marketplace.secondlife.com/p/HD-NextGen-Tanker-13/4921784 Buy Here]
 
Please contact us to make your vehicle GFS compatible (obviously you must be the manufacturer). '''We cannot provide support on third-party vehicles; this list is provided solely as a convenience.'''
 
  
==Open-Use & Usage Agreement==
+
<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>
GFS is ''not open-source''. Manufacturers are given access to the pump API; nothing more. To retain control over the system, and in case we wish to upgrade it in the future for more features, NTBI Group retains all rights over the pump and its code. You may not reverse-engineer or otherwise copy the design of the pump or its API to make your own. We distribute the pump freely and allow access to this API freely as a service to roleplayers and drivers in general - please don't fragment the market and create your own. If you have any features or suggestions you wish to add to the system, feel free to contact us and we will consider them.
 
  
==Pump Usage==
+
==End-User Instructions==
The GFS pump operates in the following manner:
+
Refer to your vehicle's owner's guide for instructions on how to install GMLS-compatible equipment.
# Park vehicle directly in front of the pump with fuel filler door on the same side as the pump (maximum 2m away)
 
# Click pump; it will check for the vehicle and you will be given control of the pump (basic instructions will also be sent to the user)
 
# For some vehicles, you must select which fuel type to use by clicking the appropriate button on the pump
 
# Click nozzle to insert it into the vehicle's fuel filler
 
# Click nozzle again to start/stop the pump (nozzle will automatically shut off when tank is full)
 
# Click pump again to finish (nozzle will be removed and fueling is completed)
 
  
In some situations, fueling can be interrupted:
+
If the owner's guide does not provide instructions, the following is a general checklist for installing GMLS-compatible modifications:
* The vehicle cannot be detected
 
* The vehicle is not GFS compatible (or the GFS scripts are not running correctly)
 
* The vehicle is moved from its original position
 
* The vehicle is put into neutral gear or otherwise made physical (this is not done automatically; it must be set up by the manufacturer)
 
* The vehicle's engine is started (again, this must be set up by the manufacturer)
 
* The nozzle's target position is over 3m away from the pump (this is to avoid the filler cap being on the opposite side)
 
* The operator (user) moves over 16m away from the pump
 
* The raycast fails (this is usually a simulator performance issue)
 
  
==Pump System Setup==
+
# Ensure that the vehicle is turned off, including any lighting or other components that may change any attributes while installing the modification.
Choose which system you want to have:
+
# 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.
  
===Single Pump - Manual Pricing===
+
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.
# Rez pump and position/rotate to fit.
 
# Click the pump and set prices in the Man Price menu.
 
# Done - when prices are set correctly, the pump will automatically turn on.
 
  
===Multiple Pumps - Automatic Gridwide Pricing (Global Pricing)===
+
==Aftermarket Modification Manufacturer Instructions==
# Rez pumps and position/rotate to fit.
+
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.]
# Number individual pumps by clicking them and choosing "Pump #".
 
# Rez a price sign and position/rotate it.
 
# Click the price sign and choose Global Price.
 
# Click the price sign and choose Get Key. Copy the key given to you in local chat.
 
# Click each pump, select Auto Price, and paste the key. This should automatically sync the prices.
 
# Done - when all of your pumps are set correctly, your station is complete and ready for use.
 
The price will automatically change to a price given by the NTBI GFS server once every 24 hours. The prices are randomized once a day on the server, and each sign randomizes the prices a bit further to allow for different prices within the same city.
 
  
===Multiple Pumps - Manual Pricing Synced to All Pumps (Local Pricing)===
+
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.
# Rez pumps and position/rotate to fit.
 
# Number individual pumps by clicking them and choosing "Pump #".
 
# Rez a price sign and position/rotate it.
 
# Click the price sign and set prices in the Local Price menu.
 
# Click the price sign and choose Get Key. Copy the key given to you in local chat.
 
# Click each pump, select Auto Price, and paste the key. This should automatically sync the prices.
 
# Done - when all of your pumps are set correctly, your station is complete and ready for use.
 
  
The pump can be customized using the Pump Texture option. [http://ntbigroup.com/TEMPLATES/NTBI%20GFS%20Pump%20Texture.psd PUMP PSD TEMPLATE]<br>
+
# Make a two copies of your object. One will be used for calibration. The other will be distributed to your end-users.
The pump also has an optional price board which can be shown/hidden using the Show/Hide Board option.
+
# Place the "NTBI GMLS Alignment Tool" script in the distribution object (the one you will keep).
 +
# Place the "NTBI GMLS Calibration Tool" script in the calibration object (the one you will link, then delete).
  
The sign can be customized using the Sign Texture option. [http://ntbigroup.com/TEMPLATES/NTBI%20GFS%20Sign%20Texture.psd SIGN PSD TEMPLATE]<br>
+
For each vehicle you want your object to be compatible with:
If you do not wish to set up a template, you can specify a logo using the Logo Texture option (logo must be 1:1 aspect ratio and should be alpha - upload as PNG - not JPG).<br>
+
 
If you use a logo, a "blank" backing template is included at the bottom of the INSTRUCTIONS notecard.
+
# Make a new copy of the calibration object. It should have the "NTBI GMLS Calibration Tool" script already in it.
 +
# Rez the vehicle. Make sure it is the original size!
 +
# Position the calibration object on the vehicle, exactly where you want it to be once installed by the end-user.
 +
# Link the calibration object to the vehicle.
 +
# Copy the script snippet line sent to local chat.
 +
# Open the "NTBI GMLS Alignment Tool" script in the distribution object.
 +
# 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.
 +
# 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:
 +
 
 +
* <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.