Difference between pages "Integrated Combat Experience" and "Global Mod Link System"

(Difference between pages)
imported>NelsonJenkins
 
m
 
Line 1: Line 1:
'''Integrated Combat Experience''' is a proposed combat system maintained by [[Nelson Jenkins]] that ''might'' be integrated with future [[NTBI]] products, as well as made public for other weapon manufacturers.
+
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.
  
'''ICE''' is designed around LSL's somewhat new raycasting system, and offers a significant performance benefit because of it. Raycasting is nearly instant and does not suffer from mass use - where 10 people firing fully automatic weapons using prim bullets would kill off a sim instantly, ICE weaponry makes practically no impact on the server. Although physical tracer bullets can be used, they have no effect other than a visual indicator, and due to their performance impact, they are only used in weapons which would commonly use tracer rounds.
+
==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.
  
Unlike other systems, ICE can offer hit indicators, suppressive effects, and other FPS-like features because of its low-impact design. It also supports weapon loadouts, which allow users to swap between weapons instantly with a single keystroke. To ease script impact, inactive weapons are typically "turned off" such that they only listen for a wake-up command, nothing else. All ICE weapons use the same keybinds and integrate fully with the standard ICE HUD so only one HUD needs to be worn at a time, which monitors weapons and health simultaneously.
+
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.
  
The system also integrates with RLV/RLVa to limit movement and control, and ICE-optimized regions can set up zones which support up to 4 teams each, automatic respawn points, and customized gameplay options for almost every aspect of the system, as well as limitations on which weapons can be used.
+
GMLS comes with three scripts:
  
We don't plan to offer compatibility with other combat systems unless asked by a combat system creator.
+
* '''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.
  
==Health System==
+
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.
ICE offers a comprehensive health system which serves as the core of combat. Health is graded along a 0-100% scale, with optional buffing up to 200% (only if enabled in a zone) from certain special items. Health is obviously lowered when damage is dealt, depending on the round type (size, grain, velocity, etc.) or the amount determined by other APIs in the ICE system.
 
  
Health can be restored by the following:
+
<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>
* First aid kits (can restore predetermined health value, typically around 20-40%, as well as stop bleed-out)
 
* EMT/paramedic training (can restore health only if health is above certain thresholds, as well as stop bleed-out at any health level)
 
* Doctor training (can restore all health, as well as stop bleed-out)
 
* Regenerative health (disabled by default, but can be enabled and configured per zone)
 
Note that training does not require medical bags or any equipment; it is a trait of the user.
 
  
Additionally, the ICE system allows for "bleed-out", which continuously and slowly degrades health by a certain amount. This is usually from hits to critical body parts, and can be stopped by a first aid kit or a medically-trained player.
+
==End-User Instructions==
 +
Refer to your vehicle's owner's guide for instructions on how to install GMLS-compatible equipment.
  
Individual zones can allow the health to be displayed or not.
+
If the owner's guide does not provide instructions, the following is a general checklist for installing GMLS-compatible modifications:
  
==Combat System==
+
# Ensure that the vehicle is turned off, including any lighting or other components that may change any attributes while installing the modification.
Naturally, a combat system isn't a very good combat system without bullets, but ICE also supports a variety of different APIs to liven up roleplay. However, to ensure weapon balancing, every weapon must have a separate API key, which can be restricted (whitelisted/blacklisted) per zone, as well as globally if a weapon is determined to be too unbalanced (e.g. a silenced pistol with 100% damage aimbot rounds). API keys are free and available to anyone.
+
# 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.
  
===Projectile API===
+
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.
Projectile damage (result of size, speed, distance), hit location
 
  
===Shrapnel API===
+
==Aftermarket Modification Manufacturer Instructions==
Shrapnel damage, hit probability
+
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.]
  
===Splash API===
+
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.
Center point, range, exponential falloff value
 
  
===Armor API===
+
# Make a two copies of your object. One will be used for calibration. The other will be distributed to your end-users.
Armored location(s), health, resistance, repairability
+
# 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).
 +
 
 +
For each vehicle you want your object to be compatible with:
 +
 
 +
# 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.