Create a mission

From GTAMods Wiki
Revision as of 00:18, 30 November 2008 by Spaceeinstein (talk | contribs) (New page: Creating a mission is tough. It is recommended that you start practicing with simple threads and work your way up instead of attempting to create a mission right away. There are many ways ...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Creating a mission is tough. It is recommended that you start practicing with simple threads and work your way up instead of attempting to create a mission right away. There are many ways to do create a mission so to simplify this for beginners, the rest of the article will show the basic structure of creating a working mission. The format uses Sanny Builder.

Define your mission

First define your mission. Find

 DEFINE MISSIONS

Increment that number by one. Scroll down until you see the last defined mission. Define your mission below it.

 DEFINE MISSION ### AT @MissionStart

Insert your trigger

Next create a thread that will trigger your mission to start. Find

 create_thread @TRACE

Insert before it

 004F: create_thread @MissionTrigger

Find

 //-------------Mission 0---------------

That is where the MAIN section ends and the first mission begins. Insert your trigger between that.

 :MissionTrigger
 0001: wait 0 ms
 00D6: if
 0256:   player $PLAYER_CHAR defined
 004D: jump_if_false @MissionTriggerEnd
 00D6: if
 // Place your condition to start your mission
 004D: jump_if_false @MissionTriggerEnd
 start_mission ###
 0004: $ONMISSION = 1
 
 :MissionTriggerEnd
 jump @MissionTrigger

Insert your mission

Last insert your mission. Find

 //-------------External script 0 (PLAYER_PARACHUTE)---------------

That is where the last mission ends and the first external scrpt starts. Insert your mission between that.

 :MissionStart
 03A4: name_thread 'NAME'
 0050: gosub @MissionBegin
 00D6: if
 0112:   wasted_or_busted
 004D: jump_if_false @MissionEnd
 0050: gosub @MissionFailed
 
 :MissionEnd
 0050: gosub @MissionCleanup
 004E: end_thread
 
 ::MissionBegin
 // This section is where you place the contents of your mission
 0051: return
 
 :MissionFailed
 // This section is what happens after you died or got busted during your mission
 0051: return
 
 :MissionCleanup
 // This section is where you clean up the contents of your mission so you can end it
 0004: $ONMISSION = 0
 00D8: mission_cleanup
 0051: return

Final note

Using this format requires you to start a new game. If you do not understand what is being said here, try looking into the Tutorial Forum for more in-depth tutorials on how to understand this.

External Link