Streamed Script

From GTAMods Wiki
(Redirected from External Script)
Jump to navigation Jump to search

A streamed script is a script file that is streamed on demand, only when the script needs to be executed. They are stored in the script.img file. It contains the opcodes which are parsed by the game in the same way as the ones located in usual scripts, except that it has no header.

GTA San Andreas

The file is located in the data/script/ directory and is loaded by gta.dat.

The maximum number of streamed scripts that can be defined is 82. The maximum number of streamed scripts that can be used simultaneously is 70. The game currently has 78 defined streamed scripts.

Tutorial

In order to add more external script files, you have to define the number of files you are going to use:
DEFINE EXTERNAL_SCRIPTS 78
Add the external script to the list with this:
DEFINE SCRIPT NAME AT LABEL
At the end of the file add your code in.

This section is incomplete. You can help by fixing and expanding it.

Opcodes

  • 07D3 - Adds a script brain for peds.
  • 0884 - Adds a script brain for peds triggered by attractors.
  • 08A9 - Loads a streamed script.
  • 08AB - Checks if the streamed script has been loaded.
  • 08E8 - Attaches an animation to a ped model.
  • 090F - Marks a previously loaded streamed script as no longer needed.
  • 0910 - Frees an streamed script from the memory (shouldn't be used).
  • 0913 - Runs the streamed script (needs to be loaded first).
  • 091C - Gets an ped using an attractor with the specified model and in the specified area.
  • 0926 - Gets the number of instances of a script.
  • 0928 - Tells the engine to start a streamed script when the player is within the range of the specified ped.
  • 0929 - Tells the engine to start a streamed script when the player is within the range of the specified model.

Problems

There is one main problem with streamed scripts: the script doesn't work if you save while the script is running. If you reload the game, the streamed script will be disabled. You have to force the script to end before saving to prevent this from happening.

GTA IV

This section is incomplete. You can help by fixing and expanding it.

See also