Difference between revisions of "Script"

From GTAMods Wiki
Jump to navigation Jump to search
m
(thread->script)
Line 1: Line 1:
A term '''thread''' means some kind of minimal process in computer science. Processes and threads are used to simulate parallel execution of programcode. But there is a difference between both: a process describes the execution of a whole program. It contains an image of the programs binary executeable code in memory just as it is used for handling memory allocation by the operating system. However a thread is nothing in this way. It does just describe a parallel execution of code inside a process, so one process can hold multiple threads.
+
A '''script''' a collection of [[opcode|instructions]] that performs a specific task when executed by a virtual machine.  
 
 
The description above is just one very simple definition of a thread. GTA simplifies multithreading alot so everything the script needs to do is to start a thread and perhaps end it somehow. It does not need to handle variable synchronisation or communication between two threads. This is what the game does through internal routines.
 
  
 
== Mission Script ==
 
== Mission Script ==
 
[[Opcode]]s:
 
[[Opcode]]s:
* [[00D7]] – Creates a thread
+
* [[00D7]] – Starts a script
* [[004F]] – Creates a thread with additional parameters
+
* [[004F]] – Starts a script with additional parameters
* [[004E]] – Ends the current thread
+
* [[004E]] – Ends the current script
* [[03A4]] – Gives a thread a name
+
* [[03A4]] – Gives a name to the script
* [[0459]] – Ends a named thread
+
* [[0459]] – Ends a named script
  
 
[[CLEO]] Opcodes:
 
[[CLEO]] Opcodes:
* [[0A92]] – Creates a ''CLEO'' thread
+
* [[0A92]] – Starts a ''CLEO'' script
* [[0A93]] – Ends a ''CLEO'' thread
+
* [[0A93]] – Ends a ''CLEO'' script
* [[0A95]] – Enables thread saving for a ''CLEO'' thread
+
* [[0A95]] – Enables saving for a ''CLEO'' script
* [[0A9F]] – Returns the pointer to the current thread
+
* [[0A9F]] – Returns the pointer to the current script
* [[0AAA]] – Returns the pointer to a named thread
+
* [[0AAA]] – Returns the pointer to a named CLEO script
* [[0ABA]] – Ends a named ''CLEO'' thread
+
* [[0ABA]] – Ends a named ''CLEO'' script
  
 
[[Native function]]s:
 
[[Native function]]s:
* [[IS_THREAD_ACTIVE]]
 
* [[DESTROY_THREAD]]
 
* [[GET_ID_OF_THIS_THREAD]]
 
 
* [[REQUEST_SCRIPT]]
 
* [[REQUEST_SCRIPT]]
 
* [[START_NEW_SCRIPT]]
 
* [[START_NEW_SCRIPT]]
Line 37: Line 32:
 
== See also ==
 
== See also ==
 
* [[Mission Scripting (Overview)]]
 
* [[Mission Scripting (Overview)]]
* {{Icon|SA}} [[Create a thread]]
+
* {{Icon|SA}} [[Create a script]]
* {{Icon|SA}} Thread structure in memory - [http://www.gtamodding.com/index.php?title=Memory_Addresses_(SA)#Threads] [http://www.gtamodding.com/index.php?title=Saves_(GTA_SA)#Block_1:_Script]
+
* {{Icon|SA}} Script structure in memory - [http://www.gtamodding.com/index.php?title=Memory_Addresses_(SA)#Threads] [http://www.gtamodding.com/index.php?title=Saves_(GTA_SA)#Block_1:_Script]
  
 
== External links ==
 
== External links ==
* [[Wikipedia:Process_(computing)|Process]]
+
* [[Wikipedia:Computer_program|Program]]
* [[Wikipedia:Thread_(computer_science)|Thread]]
 
  
 
{{N|4|SA|VC|3}}
 
{{N|4|SA|VC|3}}
 
[[Category:Mission_Scripting]]
 
[[Category:Mission_Scripting]]

Revision as of 17:20, 5 September 2016

A script a collection of instructions that performs a specific task when executed by a virtual machine.

Mission Script

Opcodes:

  • 00D7 – Starts a script
  • 004F – Starts a script with additional parameters
  • 004E – Ends the current script
  • 03A4 – Gives a name to the script
  • 0459 – Ends a named script

CLEO Opcodes:

  • 0A92 – Starts a CLEO script
  • 0A93 – Ends a CLEO script
  • 0A95 – Enables saving for a CLEO script
  • 0A9F – Returns the pointer to the current script
  • 0AAA – Returns the pointer to a named CLEO script
  • 0ABA – Ends a named CLEO script

Native functions:

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

See also

External links