<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://nexusthegame.net/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://nexusthegame.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mularac</id>
		<title>NexusWiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://nexusthegame.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mularac"/>
		<link rel="alternate" type="text/html" href="http://nexusthegame.net/wiki/Special:Contributions/Mularac"/>
		<updated>2026-09-07T11:32:16Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.2</generator>

	<entry>
		<id>http://nexusthegame.net/wiki/Beginner%27s_Guide</id>
		<title>Beginner's Guide</title>
		<link rel="alternate" type="text/html" href="http://nexusthegame.net/wiki/Beginner%27s_Guide"/>
				<updated>2011-10-02T22:47:53Z</updated>
		
		<summary type="html">&lt;p&gt;Mularac: /* ' Nexus:TJI Scope of variables ' */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===='''''Nexus:TJI Scripting Structure'''''====&lt;br /&gt;
&lt;br /&gt;
This article, written by Arparso, was created with the aim of explaining how the scripting language of the game should be formatted and how it works.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Scripting Structure]]&lt;br /&gt;
&lt;br /&gt;
====='''Nexus:TJI Scope of variables'''=====&lt;br /&gt;
&lt;br /&gt;
This articles explains how the scope of variables work and how you can properly take advantage of it.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Scope of variables]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Basic File Structure'''''====&lt;br /&gt;
&lt;br /&gt;
Before you can create your mod, it'd be a good idea to create the required file structure for it to run. This little guide will show you how to set up the bare requirements your mod would like.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Basic File Structure]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Creating Solar systems'''''====&lt;br /&gt;
&lt;br /&gt;
As the title suggests, the link below will take you to a guide that'll tell you almost all you need to know about creating you're own custom star systems for the game.&lt;br /&gt;
&lt;br /&gt;
Written by Jusas.&lt;br /&gt;
&lt;br /&gt;
Edited by The Old Dragon.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Creating Solar systems]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Basic mission-making walkthrough'''''====&lt;br /&gt;
&lt;br /&gt;
A rather small guide written to help you create your first mission. It's accompanied with a demo mission, to illustrate this process.&lt;br /&gt;
Mission and guide written by Mularac.&lt;br /&gt;
&lt;br /&gt;
[[Mission_Making_Tutorial|Mission-making Tutorial]]&lt;br /&gt;
&lt;br /&gt;
[[Demo_mission|Demo mission]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Basics Tutorial'''''====&lt;br /&gt;
&lt;br /&gt;
As we have the rest of the basics guide up here, it's time to add what is probably quite an important bit... how to do this stuff!&lt;br /&gt;
Follow the link below to go to the Mision Making tutorial.&lt;br /&gt;
&lt;br /&gt;
Written by Jusas.&lt;br /&gt;
&lt;br /&gt;
Edited by The Old Dragon.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Mission Making]]&lt;/div&gt;</summary>
		<author><name>Mularac</name></author>	</entry>

	<entry>
		<id>http://nexusthegame.net/wiki/Beginner%27s_Guide</id>
		<title>Beginner's Guide</title>
		<link rel="alternate" type="text/html" href="http://nexusthegame.net/wiki/Beginner%27s_Guide"/>
				<updated>2011-10-02T22:47:33Z</updated>
		
		<summary type="html">&lt;p&gt;Mularac: /* 'Nexus:TJI Scope of variables' */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===='''''Nexus:TJI Scripting Structure'''''====&lt;br /&gt;
&lt;br /&gt;
This article, written by Arparso, was created with the aim of explaining how the scripting language of the game should be formatted and how it works.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Scripting Structure]]&lt;br /&gt;
&lt;br /&gt;
====='''' Nexus:TJI Scope of variables ''''=====&lt;br /&gt;
&lt;br /&gt;
This articles explains how the scope of variables work and how you can properly take advantage of it.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Scope of variables]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Basic File Structure'''''====&lt;br /&gt;
&lt;br /&gt;
Before you can create your mod, it'd be a good idea to create the required file structure for it to run. This little guide will show you how to set up the bare requirements your mod would like.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Basic File Structure]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Creating Solar systems'''''====&lt;br /&gt;
&lt;br /&gt;
As the title suggests, the link below will take you to a guide that'll tell you almost all you need to know about creating you're own custom star systems for the game.&lt;br /&gt;
&lt;br /&gt;
Written by Jusas.&lt;br /&gt;
&lt;br /&gt;
Edited by The Old Dragon.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Creating Solar systems]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Basic mission-making walkthrough'''''====&lt;br /&gt;
&lt;br /&gt;
A rather small guide written to help you create your first mission. It's accompanied with a demo mission, to illustrate this process.&lt;br /&gt;
Mission and guide written by Mularac.&lt;br /&gt;
&lt;br /&gt;
[[Mission_Making_Tutorial|Mission-making Tutorial]]&lt;br /&gt;
&lt;br /&gt;
[[Demo_mission|Demo mission]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Basics Tutorial'''''====&lt;br /&gt;
&lt;br /&gt;
As we have the rest of the basics guide up here, it's time to add what is probably quite an important bit... how to do this stuff!&lt;br /&gt;
Follow the link below to go to the Mision Making tutorial.&lt;br /&gt;
&lt;br /&gt;
Written by Jusas.&lt;br /&gt;
&lt;br /&gt;
Edited by The Old Dragon.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Mission Making]]&lt;/div&gt;</summary>
		<author><name>Mularac</name></author>	</entry>

	<entry>
		<id>http://nexusthegame.net/wiki/Beginner%27s_Guide</id>
		<title>Beginner's Guide</title>
		<link rel="alternate" type="text/html" href="http://nexusthegame.net/wiki/Beginner%27s_Guide"/>
				<updated>2011-10-02T22:47:20Z</updated>
		
		<summary type="html">&lt;p&gt;Mularac: /* Nexus:TJI Scope of variables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===='''''Nexus:TJI Scripting Structure'''''====&lt;br /&gt;
&lt;br /&gt;
This article, written by Arparso, was created with the aim of explaining how the scripting language of the game should be formatted and how it works.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Scripting Structure]]&lt;br /&gt;
&lt;br /&gt;
=====''''Nexus:TJI Scope of variables''''=====&lt;br /&gt;
&lt;br /&gt;
This articles explains how the scope of variables work and how you can properly take advantage of it.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Scope of variables]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Basic File Structure'''''====&lt;br /&gt;
&lt;br /&gt;
Before you can create your mod, it'd be a good idea to create the required file structure for it to run. This little guide will show you how to set up the bare requirements your mod would like.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Basic File Structure]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Creating Solar systems'''''====&lt;br /&gt;
&lt;br /&gt;
As the title suggests, the link below will take you to a guide that'll tell you almost all you need to know about creating you're own custom star systems for the game.&lt;br /&gt;
&lt;br /&gt;
Written by Jusas.&lt;br /&gt;
&lt;br /&gt;
Edited by The Old Dragon.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Creating Solar systems]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Basic mission-making walkthrough'''''====&lt;br /&gt;
&lt;br /&gt;
A rather small guide written to help you create your first mission. It's accompanied with a demo mission, to illustrate this process.&lt;br /&gt;
Mission and guide written by Mularac.&lt;br /&gt;
&lt;br /&gt;
[[Mission_Making_Tutorial|Mission-making Tutorial]]&lt;br /&gt;
&lt;br /&gt;
[[Demo_mission|Demo mission]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Basics Tutorial'''''====&lt;br /&gt;
&lt;br /&gt;
As we have the rest of the basics guide up here, it's time to add what is probably quite an important bit... how to do this stuff!&lt;br /&gt;
Follow the link below to go to the Mision Making tutorial.&lt;br /&gt;
&lt;br /&gt;
Written by Jusas.&lt;br /&gt;
&lt;br /&gt;
Edited by The Old Dragon.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Mission Making]]&lt;/div&gt;</summary>
		<author><name>Mularac</name></author>	</entry>

	<entry>
		<id>http://nexusthegame.net/wiki/Nexus:TJI_Scope_of_variables</id>
		<title>Nexus:TJI Scope of variables</title>
		<link rel="alternate" type="text/html" href="http://nexusthegame.net/wiki/Nexus:TJI_Scope_of_variables"/>
				<updated>2011-10-02T22:46:47Z</updated>
		
		<summary type="html">&lt;p&gt;Mularac: Created page with &amp;quot;==''' Scope of Variables '''==   ===''' Introduction to variables '''===   A variable is an expression in a programming language that allows you to store information. Different l...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==''' Scope of Variables '''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===''' Introduction to variables '''===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A variable is an expression in a programming language that allows you to store information. Different languages have different methods and implementations for this (some don't even have them).&lt;br /&gt;
&lt;br /&gt;
In nexus, variables are weakly typed. What does that mean, you may ask yourself?&lt;br /&gt;
Well, it means that variables can store anything. The &amp;quot;how&amp;quot; is unknown to us, it could be dynamically typed like python or just not typed at all, like smalltak where they're just pointers. &lt;br /&gt;
But that's not what's important. What is important, though, is that one variable can store anything, like numbers, objects, lists, etc.&lt;br /&gt;
&lt;br /&gt;
So a variable you were using for, let's say, store a ship object&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ship := GetSceneObj(&amp;quot;My Ship&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
can be then used to store something else, like a string. (although that's a horrible style of coding)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ship := &amp;quot;Hello World&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have had experience in other languages, you'll notice than in Black Ruler you don't have to declare the variables anywhere, you just invoke them. The name of the variable can be anything and it won't matter, except for the scope of said variable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===''' Scope of Variables '''===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;scope&amp;quot; of a variable means from where in the script that variable can be accessed. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====''' &amp;quot;e.&amp;quot; variables '''====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These variables are vital to any code, and you'll probrably be using them a lot, so pay attention. They mark the lowest scope of all, and can only be reached from within the block they were first invoked, and when that block's finished executing they will disappear.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
a)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rule 	event DoSomething&lt;br /&gt;
		:action&lt;br /&gt;
			e.string:=&amp;quot;Hello World&amp;quot;;&lt;br /&gt;
			Debug(e.string);&lt;br /&gt;
			LocalEvent(DoSomethingElse);&lt;br /&gt;
		:end&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
Rule	event DoSomethingElse&lt;br /&gt;
		:action&lt;br /&gt;
			debug(e.string);&lt;br /&gt;
		:end&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in this case, in the debug screen it'll appear written &amp;quot;Hello World&amp;quot; and below it &amp;quot;0&amp;quot;, as the two &amp;quot;e.string&amp;quot; variables are not the same. &lt;br /&gt;
&lt;br /&gt;
b)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Rule 	event DoSomething&lt;br /&gt;
		:action&lt;br /&gt;
			e.string:=&amp;quot;Hello World&amp;quot;;&lt;br /&gt;
			Delay(0,1,&lt;br /&gt;
				Debug(e.string);&lt;br /&gt;
			,0);&lt;br /&gt;
		:end&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What would it appear on the debug screen? The answer is &amp;quot;0&amp;quot;. We don't exactly know how, but the delay command generates a new block where all the variables present in that block are independant from the block they where called from.&lt;br /&gt;
&lt;br /&gt;
c)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rule 	event DoSomething&lt;br /&gt;
		:action&lt;br /&gt;
			e.string:=&amp;quot;Hello World&amp;quot;;&lt;br /&gt;
			Debug(e.string);&lt;br /&gt;
			LocalEvent(DoSomethingElse, e.string:=&amp;quot;Hello again&amp;quot;);&lt;br /&gt;
		:end&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
Rule	event DoSomethingElse&lt;br /&gt;
		:action&lt;br /&gt;
			debug(e.string);&lt;br /&gt;
		:end&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case, however, the debug screen will show &amp;quot;Hello world&amp;quot; and below it &amp;quot;Hello again&amp;quot;. Why? because the string &amp;quot;Hello again&amp;quot; was passed as an argument to the DoSomethingElse rule and stored in that rule's &amp;quot;e.string&amp;quot; variable. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====''' &amp;quot;p.&amp;quot; variables '''====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Those variables access the variables stored in the previous event. This always means the directly previous valid E. variables.&lt;br /&gt;
It's used mainly, if not always, to pass parametres from one event to an other or from an event to a delay function.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
a) Going back to the variables of the rule the delay function is called&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Rule 	event DoSomething&lt;br /&gt;
		:action&lt;br /&gt;
			e.string:=&amp;quot;Hello World&amp;quot;;&lt;br /&gt;
			Delay(0,1,&lt;br /&gt;
				Debug(e.string);&lt;br /&gt;
			,e.string:=p.string);&lt;br /&gt;
		:end&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This time in the debug screen it'll appear&amp;quot;Hello World&amp;quot;, because the delay's &amp;quot;e.string&amp;quot; variable was declared with the content of the &amp;quot;DoSomething&amp;quot; rule's &amp;quot;e.string&amp;quot; variable (note that the name doesn't have to be the same, but it's good practice to keep it that way).&lt;br /&gt;
&lt;br /&gt;
b)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rule 	event DoSomething&lt;br /&gt;
		:action&lt;br /&gt;
			e.string:=&amp;quot;Hello World&amp;quot;;&lt;br /&gt;
			Debug(e.string);&lt;br /&gt;
			LocalEvent(DoSomethingElse, e.string:=p.string);&lt;br /&gt;
		:end&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
Rule	event DoSomethingElse&lt;br /&gt;
		:action&lt;br /&gt;
			debug(e.string);&lt;br /&gt;
		:end&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Same as above. The &amp;quot;DoSomethingElse&amp;quot; Rule's e.string variable was declared with the &amp;quot;DoSomething&amp;quot; rule &amp;quot;e.string&amp;quot;'s content. &lt;br /&gt;
Note that ALWAYS when passing arguments with functions like &amp;quot;LocalEvent&amp;quot;, &amp;quot;MEvent&amp;quot;, &amp;quot;ChangeState&amp;quot;, &amp;quot;Delay&amp;quot;, etc, you have to use the p prefix to access the variables of the rule this functions were called from, and that p prefix is only used to access the ones with the E prefix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====''' variables withouth a prefix '''====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Those variables are what we could call &amp;quot;semi-global&amp;quot;. Their scope extends within the machine they were first declared, so the contents of that variable can be accessed and changed from any rule in any state of that machine, and it can, of course, be passed as an argument to an other state in an other machine (in the form of a E. variable or any other).&lt;br /&gt;
You're probably feeling excited about this type of variables, as you don't have to deal with passing parametres and e. or p. variables and all that. Well, don't. Global or semi-global variables are a bad deal in any programming language, and you must avoid them whenever it's possible, because they can break your code if you're not cautius or at least make it unreadable by someone on the outside, as keeping track of those variables in a complex code is a pain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====''' &amp;quot;M.&amp;quot; variables '''====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In all sense and purpose, these are global variables. Their scope extends towards the entire mission, meaning that any rule being executed in your mission can access it and change it. &lt;br /&gt;
Same recommendation as before: Be careful with it. My recommendation is that use them only for declaring mission &amp;quot;constants&amp;quot; (like ships) or in the worst case some very specific boolean flag, nothing more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====''' &amp;quot;S.&amp;quot; variables '''====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These variables only make sense inside a selection, like the Execlist or SelectEx command. They only live through one iteration of said commands, so declaring them out of the blue doesn't make a lot of sense. &lt;br /&gt;
&lt;br /&gt;
What's important about them, though, is that in those selections the selected object can accessed via the &amp;quot;s.this&amp;quot; variable you all head about. And as any s. variable it will change at the end of the cicle's iteration.&lt;/div&gt;</summary>
		<author><name>Mularac</name></author>	</entry>

	<entry>
		<id>http://nexusthegame.net/wiki/Beginner%27s_Guide</id>
		<title>Beginner's Guide</title>
		<link rel="alternate" type="text/html" href="http://nexusthegame.net/wiki/Beginner%27s_Guide"/>
				<updated>2011-10-02T22:37:52Z</updated>
		
		<summary type="html">&lt;p&gt;Mularac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===='''''Nexus:TJI Scripting Structure'''''====&lt;br /&gt;
&lt;br /&gt;
This article, written by Arparso, was created with the aim of explaining how the scripting language of the game should be formatted and how it works.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Scripting Structure]]&lt;br /&gt;
&lt;br /&gt;
====='''''Nexus:TJI Scope of variables'''''=====&lt;br /&gt;
&lt;br /&gt;
This articles explains how the scope of variables work and how you can properly take advantage of it.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Scope of variables]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Basic File Structure'''''====&lt;br /&gt;
&lt;br /&gt;
Before you can create your mod, it'd be a good idea to create the required file structure for it to run. This little guide will show you how to set up the bare requirements your mod would like.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Basic File Structure]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Creating Solar systems'''''====&lt;br /&gt;
&lt;br /&gt;
As the title suggests, the link below will take you to a guide that'll tell you almost all you need to know about creating you're own custom star systems for the game.&lt;br /&gt;
&lt;br /&gt;
Written by Jusas.&lt;br /&gt;
&lt;br /&gt;
Edited by The Old Dragon.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Creating Solar systems]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Basic mission-making walkthrough'''''====&lt;br /&gt;
&lt;br /&gt;
A rather small guide written to help you create your first mission. It's accompanied with a demo mission, to illustrate this process.&lt;br /&gt;
Mission and guide written by Mularac.&lt;br /&gt;
&lt;br /&gt;
[[Mission_Making_Tutorial|Mission-making Tutorial]]&lt;br /&gt;
&lt;br /&gt;
[[Demo_mission|Demo mission]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Basics Tutorial'''''====&lt;br /&gt;
&lt;br /&gt;
As we have the rest of the basics guide up here, it's time to add what is probably quite an important bit... how to do this stuff!&lt;br /&gt;
Follow the link below to go to the Mision Making tutorial.&lt;br /&gt;
&lt;br /&gt;
Written by Jusas.&lt;br /&gt;
&lt;br /&gt;
Edited by The Old Dragon.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Mission Making]]&lt;/div&gt;</summary>
		<author><name>Mularac</name></author>	</entry>

	<entry>
		<id>http://nexusthegame.net/wiki/AddItem</id>
		<title>AddItem</title>
		<link rel="alternate" type="text/html" href="http://nexusthegame.net/wiki/AddItem"/>
				<updated>2010-02-23T02:18:55Z</updated>
		
		<summary type="html">&lt;p&gt;Mularac: Fixed this entry as it had been changed by a spammer....&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''AddItem'''(list, item);&lt;br /&gt;
Adds an object to the list. ’list’ is the identifier of the selection.&lt;/div&gt;</summary>
		<author><name>Mularac</name></author>	</entry>

	<entry>
		<id>http://nexusthegame.net/wiki/AddItem</id>
		<title>AddItem</title>
		<link rel="alternate" type="text/html" href="http://nexusthegame.net/wiki/AddItem"/>
				<updated>2010-02-23T02:18:10Z</updated>
		
		<summary type="html">&lt;p&gt;Mularac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''AddItem''(list, item);&lt;br /&gt;
Adds an object to the list. ’list’ is the identifier of the selection.&lt;/div&gt;</summary>
		<author><name>Mularac</name></author>	</entry>

	<entry>
		<id>http://nexusthegame.net/wiki/Beginner%27s_Guide</id>
		<title>Beginner's Guide</title>
		<link rel="alternate" type="text/html" href="http://nexusthegame.net/wiki/Beginner%27s_Guide"/>
				<updated>2010-02-23T02:07:30Z</updated>
		
		<summary type="html">&lt;p&gt;Mularac: Added my tutorial and the demo mission I wrote&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===='''''Nexus:TJI Scripting Structure'''''====&lt;br /&gt;
&lt;br /&gt;
This article, written by Arparso, was created with the aim of explaining how the scripting language of the game should be formatted and how it works.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Scripting Structure]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Basic File Structure'''''====&lt;br /&gt;
&lt;br /&gt;
Before you can create your mod, it'd be a good idea to create the required file structure for it to run. This little guide will show you how to set up the bare requirements your mod would like.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Basic File Structure]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Creating Solar systems'''''====&lt;br /&gt;
&lt;br /&gt;
As the title suggests, the link below will take you to a guide that'll tell you almost all you need to know about creating you're own custom star systems for the game.&lt;br /&gt;
&lt;br /&gt;
Written by Jusas.&lt;br /&gt;
&lt;br /&gt;
Edited by The Old Dragon.&lt;br /&gt;
&lt;br /&gt;
[[Nexus:TJI Creating Solar systems]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===='''''Nexus:TJI Basic mission-making walkthrough'''''====&lt;br /&gt;
&lt;br /&gt;
A rather small guide written to help you create your first mission. It's accompanied with a demo mission, to illustrate this process.&lt;br /&gt;
Mission and guide written by Mularac.&lt;br /&gt;
&lt;br /&gt;
[[Mission_Making_Tutorial|Mission-making Tutorial]]&lt;br /&gt;
&lt;br /&gt;
[[Demo_mission|Demo mission]]&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Mularac</name></author>	</entry>

	<entry>
		<id>http://nexusthegame.net/wiki/Mission_Making_Tutorial</id>
		<title>Mission Making Tutorial</title>
		<link rel="alternate" type="text/html" href="http://nexusthegame.net/wiki/Mission_Making_Tutorial"/>
				<updated>2010-02-22T21:15:11Z</updated>
		
		<summary type="html">&lt;p&gt;Mularac: Created page with '='''''NEXUS TJI mission-making'''''=  As you probably know by now, thanks to Arparso's great tuturial about Nexus's scripting structure, that ev...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;='''''NEXUS TJI mission-making'''''=&lt;br /&gt;
&lt;br /&gt;
As you probably know by now, thanks to Arparso's great tuturial about [[Nexus:TJI_Scripting_Structure|Nexus's scripting structure]], that every mission in this game is divided in MACHINES, STATES, and Rules. But that only deals with one part of the mission, the &amp;quot;body&amp;quot; of it, in a way.&lt;br /&gt;
In order to ilustrate this concepts I will be pasteing here a [[Demo_mission|Demo mission]] I've made with this article in mind.&lt;br /&gt;
&lt;br /&gt;
==''The main parts of the mission''==&lt;br /&gt;
Here area a collection of the main parts a mission is divided into&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===The heading===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Each mission starts, of course, with the basics of the mission: it's identity number, it's name, and where it'll take place (note that you can't change locations in a single mission):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NUMBER &amp;lt;num&amp;gt;&lt;br /&gt;
name &amp;quot;&amp;lt;the name of the mission&amp;gt;&amp;quot; &lt;br /&gt;
DefLocation &amp;quot;&amp;lt;name of the location&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The &amp;quot;name of the location&amp;quot; is a &amp;quot;navpoint&amp;quot; created with the Solar System editor, one you can find in the &amp;quot;universe\systems\&amp;quot; folder.&lt;br /&gt;
Unlike the number, the name of the mission doesn't have to be unique, you can put anything in there, even the same title that some other mission, as long as the numbering is not the same (well... that's not enteryle true... if you place a letter istead of a number, the game will treat it as a mission number &amp;quot;0&amp;quot; and it will never give you a conflict, even if you label two or more missions as &amp;quot;NUMBER A&amp;quot;).&lt;br /&gt;
Following that is a list of the current objective numbers, in this fashion:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OBJECTIVE&lt;br /&gt;
	1&lt;br /&gt;
	2&lt;br /&gt;
	...&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finally, as an example, here's the [[Demo_mission#Heading|Demo mission's heading]] (note that everything after &amp;quot;//&amp;quot; and between &amp;quot;/* - */&amp;quot; is interpretated by the game as a comment):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MISSION 1  //mission number&lt;br /&gt;
Name &amp;quot;Demo Mission&amp;quot; //name of the mission&lt;br /&gt;
DefLocation &amp;quot;NAV_CHAKRIS_IV&amp;quot;  //the location where the mission will take place&lt;br /&gt;
&lt;br /&gt;
OBJECTIVES //in here we place the number of objectives that will be includid in the mission&lt;br /&gt;
	1&lt;br /&gt;
	2&lt;br /&gt;
	3&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===The SceneInit Rule===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This is a very special rule, critical to any mission, and that is for the fact that this rule takes place '''before''' the mission starts. In this rule you can do pretty much anything you want, but there are a few things mandatory to do here.&lt;br /&gt;
&lt;br /&gt;
*The radious of the mission, in meters, as defined by the [[SetSceneRadius]](&amp;lt;num&amp;gt;); command.&lt;br /&gt;
*The setting of the variables associated to each of the ships that will appear on the mission (though critical for most missions, it's not mandatory), defined by the command &amp;lt;name of the variable&amp;gt; := [[GetSceneObj]](&amp;quot;&amp;lt;name of the ship&amp;gt;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
This rule is special also because it's the first link to any of the Machines you've written for this mission, in here you call the Machines (or Machines) you want your mission to start with.&lt;br /&gt;
Unlike any other Rule, this one doesn't go inside a State, it only goes beneath the &amp;quot;RULES&amp;quot; block, as all the Machines in your mission do.&lt;br /&gt;
Here's the [[Demo_mission#SceneInit|SceneInit]] rule of the [[Demo_mission|Demo mission]], as well as the start of the &amp;quot;RULES&amp;quot; block:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RULES&lt;br /&gt;
&lt;br /&gt;
	RULE 	event sceneInit&lt;br /&gt;
			:action&lt;br /&gt;
				SetSceneRadius(100000);	//this is, as the name suggests it, the radious in meters of the scene.&lt;br /&gt;
		&lt;br /&gt;
				GuiSelect(0);   //this is required to start a cinematic scene&lt;br /&gt;
		&lt;br /&gt;
				SetRelation(#race_player, #race_spacetech, 2);&lt;br /&gt;
				SetRelation(#race_player, #race_gorg, 2);&lt;br /&gt;
				SetRelation(#race_gorg, #race_player, 2);&lt;br /&gt;
				SetRelation(#race_spacetech, #race_player, 2);&lt;br /&gt;
				SetRelation(#race_player, #race_Human_E, 1);  //the relations between the races that will appear in &lt;br /&gt;
                                                                              //the game. the &amp;quot;race_player&amp;quot; is the playable race, &lt;br /&gt;
				                                              //and the number mean what sort of relationship they &lt;br /&gt;
                                                                              //share with other races, more info on that is &lt;br /&gt;
									      //located on the modding manual&lt;br /&gt;
				&lt;br /&gt;
				sp := GetSceneObj(&amp;quot;Mayflower&amp;quot;);&lt;br /&gt;
				bs := GetSceneObj(&amp;quot;Hawkeye&amp;quot;);   //in here we define the &amp;quot;Scene Objects&amp;quot;, the ships and other&lt;br /&gt;
                                                                //interactive obects&lt;br /&gt;
&lt;br /&gt;
				drone := GetSceneObj(&amp;quot;Nightingale&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				gorg1 := GetSceneObj(&amp;quot;Feral&amp;quot;);&lt;br /&gt;
				gorg2 := GetSceneObj(&amp;quot;Darkclaw&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				Disappear(drone);&lt;br /&gt;
				Disappear(gorg1);&lt;br /&gt;
				Disappear(gorg2); //we disappear the ships that are bound to appear via ip drive&lt;br /&gt;
				&lt;br /&gt;
				Playmusic(1);          //in here we set the number of the music track (as defined in the&lt;br /&gt;
                                                       //mod_sound.ini file, in the universe\engine\ folder&lt;br /&gt;
				&lt;br /&gt;
				GetMachine(&amp;quot;Director&amp;quot;):ChangeState(IntroMovie, 0);&lt;br /&gt;
				GetMachine(&amp;quot;Objectives&amp;quot;):ChangeState(monitor,0);    // with these commands we &amp;quot;call&amp;quot; the machines &lt;br /&gt;
                                                                                    //that would define the game, and their given&lt;br /&gt;
                                                                                    // state&lt;br /&gt;
				&lt;br /&gt;
				FadeScreen(1, 0, 0);                       //we &amp;quot;fade&amp;quot; the screen, make it black&lt;br /&gt;
			:end&lt;br /&gt;
	END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===The body of the mission===&lt;br /&gt;
---&lt;br /&gt;
The sintax of this part has already been brilliantly explainied by Arparso in his [[Nexus:TJI_Scripting_Structure|Tutorial]], so I will only offer some advices here. Always use different states when there's a remarkable change in the mission (arrival of ships, discovery of stuff, etc), and try to keep your mission as tidy as possible. Machines can run simultaneosly, so having a lot of them is never a good idea. Try to divide them into clear, diferencied tasks (one of the AI, one or two for the actual mission, etc).&lt;br /&gt;
So, here's the body of the [[Demo_mission|Demo mission]]: [[Demo_mission#body|body]] &lt;br /&gt;
Also, don't forget that once you've finished with all your machines, included all the files that you wanted to include (to include a file you have to do this: &amp;quot;#include &amp;quot;&amp;lt;name of the file&amp;quot; &amp;quot;, and it would be like you wrote the content of that file in the mission file, so keep a close watch on the mission sintaxis of included files!) you have to '''END''' the mission. Just add a finall ''END'' on the bottom, after the last included file and just above the ''ENTITIES'' section.&lt;br /&gt;
&lt;br /&gt;
===The ''ENTITIES'' section===&lt;br /&gt;
---&lt;br /&gt;
Here's defined the settings of each of the mission's ships, like name, class, race, location, heading, etc, in this fashion:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHIP&lt;br /&gt;
	&amp;lt;content&amp;gt;&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Whereas the content may be:&lt;br /&gt;
&lt;br /&gt;
*Name &amp;quot;&amp;lt;name of the ship&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Race #&amp;lt;race of the ship&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*ShipType #&amp;lt;ship type of the ship, as defined in the SHIPTYPE part of the tacticstypes.ini&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
*Class #&amp;lt;class of the ship, as defined in the SHIPCLASS part of the tacticstypes.ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Position &amp;lt;x y z coordinates of the ship&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Orientation &amp;lt;pitch heading and bank of the ship&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Devices #&amp;lt;dev 1&amp;gt; #&amp;lt;dev 2&amp;gt; ... #&amp;lt;dev n&amp;gt; ; Note that this is optional, every device you place here will be added to the ship, so ''BE CAREFUL'' with it.&lt;br /&gt;
&lt;br /&gt;
You may also add NPC's here to the mission's ships:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NPC&lt;br /&gt;
	&amp;lt;content&amp;gt;&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
with the content being:&lt;br /&gt;
&lt;br /&gt;
*Name &amp;quot;&amp;lt;name&amp;gt;&amp;quot;&lt;br /&gt;
*ID &amp;lt;num&amp;gt; The id is the way to link this NPC to each dialog&lt;br /&gt;
*Face &amp;lt;num&amp;gt; If this line is not provided, then the game will use the ID number as face number&lt;br /&gt;
* Rank &amp;lt;num 1-10&amp;gt;&lt;br /&gt;
* Medals #&amp;lt;medal 1&amp;gt; ... #&amp;lt;medal n&amp;gt; ;&lt;br /&gt;
* CrewLevel &amp;lt;num&amp;gt; The level of the crew&lt;br /&gt;
* Skill 1 &amp;lt;num&amp;gt; The skill of this npc in the Military area&lt;br /&gt;
* Skill 2 &amp;lt;num&amp;gt; idem but in the engineering area&lt;br /&gt;
* Skill 3 &amp;lt;num&amp;gt; idem but in the scientific area&lt;br /&gt;
* XP &amp;lt;num&amp;gt; The experience of this npc.&lt;br /&gt;
&lt;br /&gt;
That pretty much covers it. Here's [[Demo_mission#Entities|Demo mission's ENTITIES]] area:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ENTITIES&lt;br /&gt;
&lt;br /&gt;
	SHIP&lt;br /&gt;
		Name &amp;quot;Hawkeye&amp;quot;&lt;br /&gt;
		Race #race_Player&lt;br /&gt;
		ShipType #styp_ep6_Siege_Battleship&lt;br /&gt;
		Position -1000 838 -8966&lt;br /&gt;
		Orientation 0 0 0&lt;br /&gt;
&lt;br /&gt;
		NPC&lt;br /&gt;
			Name &amp;quot;Johan Mastropiero&amp;quot;&lt;br /&gt;
&lt;br /&gt;
			ID 1&lt;br /&gt;
			Face 20&lt;br /&gt;
			Rank 3&lt;br /&gt;
			Medals ;&lt;br /&gt;
			CrewLevel 1&lt;br /&gt;
			Skill 1 0&lt;br /&gt;
			Skill 2 0&lt;br /&gt;
			Skill 3 0&lt;br /&gt;
			XP 0&lt;br /&gt;
		END&lt;br /&gt;
	END&lt;br /&gt;
&lt;br /&gt;
	SHIP&lt;br /&gt;
		Name &amp;quot;Nightingale&amp;quot;&lt;br /&gt;
		Race #race_SpaceTech&lt;br /&gt;
		ShipType #styp_Frigate&lt;br /&gt;
		Position 2441.14 -8877.7 2618.99&lt;br /&gt;
		Orientation 180 0 0&lt;br /&gt;
	END&lt;br /&gt;
&lt;br /&gt;
	SHIP&lt;br /&gt;
		Name &amp;quot;Mayflower&amp;quot;&lt;br /&gt;
		Race #race_Human_E&lt;br /&gt;
		ShipType #styp_Supportship&lt;br /&gt;
		Position -12843.8 -1399.87 -5833.99&lt;br /&gt;
		Orientation 0 0 0&lt;br /&gt;
&lt;br /&gt;
		NPC&lt;br /&gt;
			Name &amp;quot;James Carson&amp;quot;&lt;br /&gt;
&lt;br /&gt;
			ID 2&lt;br /&gt;
			Face 26&lt;br /&gt;
			Rank 2&lt;br /&gt;
			Medals ;&lt;br /&gt;
			CrewLevel 1&lt;br /&gt;
			Skill 1 0&lt;br /&gt;
			Skill 2 0&lt;br /&gt;
			Skill 3 0&lt;br /&gt;
			XP 0&lt;br /&gt;
		END&lt;br /&gt;
	END&lt;br /&gt;
&lt;br /&gt;
	SHIP&lt;br /&gt;
		Name &amp;quot;Feral&amp;quot;&lt;br /&gt;
		TechCat 31 20&lt;br /&gt;
		TechPointsScanned 0&lt;br /&gt;
		Race #race_Gorg&lt;br /&gt;
		ShipType #styp_ep6_gorg_escortcruiser&lt;br /&gt;
		Position -5890.52 -22.7949 7108.39&lt;br /&gt;
		Orientation -92.7069 -36.0036 47.6695&lt;br /&gt;
	END&lt;br /&gt;
&lt;br /&gt;
	SHIP&lt;br /&gt;
		Name &amp;quot;Darkclaw&amp;quot;&lt;br /&gt;
		TechCat 31 30&lt;br /&gt;
		TechPointsScanned 0&lt;br /&gt;
		Race #race_Gorg&lt;br /&gt;
		ShipType #styp_ep3_gorg_heavy_battleship&lt;br /&gt;
		Position -5892.08 769.904 6509.39&lt;br /&gt;
		Orientation -92.7069 -36.0036 47.6695&lt;br /&gt;
	END&lt;br /&gt;
&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==''Auxiliary parts of a mission''==&lt;br /&gt;
---&lt;br /&gt;
I'll now move to explain two other files linked to every mission. Although they're not critical to a mission, they're adviced to be included, as they're the files that contain the dialogs and objectives.&lt;br /&gt;
&lt;br /&gt;
===Dialogs===&lt;br /&gt;
---&lt;br /&gt;
The dialogs of each mission go into a file (any file, as long as it is a .ini file. Moreover, two or more mission's dialogs could go into one or more files, although that's not encouraged. Best to keep things nice and tidy) in the \universe\texts\dialogs\ folder.&lt;br /&gt;
The dialog syntaxis is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dialog&lt;br /&gt;
	&amp;lt;content&amp;gt;&lt;br /&gt;
END &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
with the content being:&lt;br /&gt;
&lt;br /&gt;
*name &amp;lt;identifier number of the dialog, the one that links the dialog to the mission&amp;gt;&lt;br /&gt;
*Layout &amp;lt;where it's located on the screen, see the manual&amp;gt;&lt;br /&gt;
*NPC &amp;lt;id number of the npc saying this&amp;gt;&lt;br /&gt;
*distort &amp;lt;num ranging from -1 to 3&amp;gt; it's the level of interference in a dialog (with -1 being none whatsoever)&lt;br /&gt;
*ExpireEvent &amp;lt;event to occur when the dialog ends (in the same state where the dialog was called, of course)&amp;gt;&lt;br /&gt;
Here is the text build of each dialog:&lt;br /&gt;
&amp;lt;pre&amp;gt;	&lt;br /&gt;
	text&lt;br /&gt;
	{&lt;br /&gt;
				&amp;lt;language (0 for english, 2 for spanish, 1 for hungarian...)&amp;gt; &amp;quot;&amp;lt;content&amp;gt;&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Here are the dialogs corresponding to the [[Demo_mission|Demo mission]]: [[Demo_mission#Dialogs|Dialogs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
in case of being this a dialog with a choice system built-in, a few thigs are added:&lt;br /&gt;
&lt;br /&gt;
*ChooseTime &amp;lt;num in seconds&amp;gt; the ammount of time the dialog stays on the air by itself&lt;br /&gt;
&lt;br /&gt;
and the text build will look something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	text&lt;br /&gt;
	{&lt;br /&gt;
		&amp;lt;language1&amp;gt; &amp;quot;&amp;lt;text in language 1&amp;gt;&amp;quot;&lt;br /&gt;
		&amp;lt;language2&amp;gt; &amp;quot;&amp;lt;in language 2&amp;gt;&amp;quot;&lt;br /&gt;
		.........&lt;br /&gt;
	}&lt;br /&gt;
	options&lt;br /&gt;
		{&lt;br /&gt;
			&amp;lt;language1&amp;gt; &amp;quot;&amp;lt;1° choice in language 1&amp;gt;&amp;quot;&lt;br /&gt;
			&amp;lt;language2&amp;gt; &amp;quot;&amp;lt;in language 2&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
			.........	&lt;br /&gt;
		}&lt;br /&gt;
		&amp;lt;event generated by choice 1&amp;gt;&lt;br /&gt;
		{&lt;br /&gt;
			&amp;lt;language1&amp;gt; &amp;quot;&amp;lt;2° choice in language 1&amp;gt;&amp;quot;&lt;br /&gt;
			&amp;lt;language2&amp;gt; &amp;quot;&amp;lt;in language 2&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
			.........&lt;br /&gt;
		}&lt;br /&gt;
		&amp;lt;event generated by choice 2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		............&lt;br /&gt;
&lt;br /&gt;
		{&lt;br /&gt;
			&amp;lt;language1&amp;gt; &amp;quot;&amp;lt;n° choice in language 1&amp;gt;&amp;quot;&lt;br /&gt;
			&amp;lt;language2&amp;gt; &amp;quot;&amp;lt;in language 2&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
			.........&lt;br /&gt;
		}&lt;br /&gt;
		&amp;lt;event generated by choice n&amp;gt;&lt;br /&gt;
	END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
unfortunately, there aren't any dialogs with such choices in the [[Demo_mission|Demo mission]], but I can provid you with an example, taken from my mission &amp;quot;Consequences&amp;quot; available in the Stargate Mod: War Begins PB4, 5, 6 and 7 (at the time this article was written):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DIALOG&lt;br /&gt;
	name dialog_consequences_c2_4&lt;br /&gt;
	Layout 6&lt;br /&gt;
	ExpireEvent TimerFail&lt;br /&gt;
	NPC 9&lt;br /&gt;
	distort -1&lt;br /&gt;
	text&lt;br /&gt;
	{&lt;br /&gt;
            	0 &amp;quot;They aren't respondind sir, and they are charging weapons. What do we do sir? Fight or flee?&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
        options&lt;br /&gt;
      {&lt;br /&gt;
         0 &amp;quot;We fight. All hands to battle stations!&amp;quot; &lt;br /&gt;
      }&lt;br /&gt;
      Fight&lt;br /&gt;
&lt;br /&gt;
      {&lt;br /&gt;
         0 &amp;quot;We came here to fight the replicators, no the Lucians. Major, get us out of here.&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
      Flee&lt;br /&gt;
&lt;br /&gt;
     END  //we end the choices&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Objectives===&lt;br /&gt;
---&lt;br /&gt;
The Objectives of a mission go into any file (in pretty much the same way that the dialogs) in the \universe\texts\mod_texts\ or in the \universe\texts\texts\ folders. Each dialog is linked to a mission with the mission's number, in this fashion:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TEXT &amp;quot;objective_&amp;lt;num of mission&amp;gt;_&amp;lt;numv of objective&amp;gt;&amp;quot;&lt;br /&gt;
	&amp;lt;language&amp;gt; &amp;quot;&amp;lt;text in that language&amp;gt;&amp;quot;&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And that's pretty much it. The [[Demo_mission|Demo Mission's]] objectives are located [[Demo_mission#Objectives|here]]&lt;/div&gt;</summary>
		<author><name>Mularac</name></author>	</entry>

	<entry>
		<id>http://nexusthegame.net/wiki/Demo_mission</id>
		<title>Demo mission</title>
		<link rel="alternate" type="text/html" href="http://nexusthegame.net/wiki/Demo_mission"/>
				<updated>2010-02-22T20:27:06Z</updated>
		
		<summary type="html">&lt;p&gt;Mularac: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Heading==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MISSION 1  //mission number&lt;br /&gt;
Name &amp;quot;Demo Mission&amp;quot; //name of the mission&lt;br /&gt;
DefLocation &amp;quot;NAV_CHAKRIS_IV&amp;quot;  //the location where the mission will take place&lt;br /&gt;
&lt;br /&gt;
OBJECTIVES //in here we place the number of objectives that will be includid in the mission&lt;br /&gt;
	1&lt;br /&gt;
	2&lt;br /&gt;
	3&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==SceneInit==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RULES&lt;br /&gt;
&lt;br /&gt;
	RULE 	event sceneInit&lt;br /&gt;
			:action&lt;br /&gt;
				SetSceneRadius(100000);	//this is, as the name suggests it, the radious in meters of the scene.&lt;br /&gt;
		&lt;br /&gt;
				GuiSelect(0);   //this is required to start a cinematic scene&lt;br /&gt;
		&lt;br /&gt;
				SetRelation(#race_player, #race_spacetech, 2);&lt;br /&gt;
				SetRelation(#race_player, #race_gorg, 2);&lt;br /&gt;
				SetRelation(#race_gorg, #race_player, 2);&lt;br /&gt;
				SetRelation(#race_spacetech, #race_player, 2);&lt;br /&gt;
				SetRelation(#race_player, #race_Human_E, 1);  //the relations between the races that will appear in &lt;br /&gt;
                                                                              //the game. the &amp;quot;race_player&amp;quot; is the playable race, &lt;br /&gt;
				                                              //and the number mean what sort of relationship they &lt;br /&gt;
                                                                              //share with other races, more info on that is &lt;br /&gt;
									      //located on the modding manual&lt;br /&gt;
				&lt;br /&gt;
				sp := GetSceneObj(&amp;quot;Mayflower&amp;quot;);&lt;br /&gt;
				bs := GetSceneObj(&amp;quot;Hawkeye&amp;quot;);   //in here we define the &amp;quot;Scene Objects&amp;quot;, the ships and other&lt;br /&gt;
                                                                //interactive obects&lt;br /&gt;
&lt;br /&gt;
				drone := GetSceneObj(&amp;quot;Nightingale&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				gorg1 := GetSceneObj(&amp;quot;Feral&amp;quot;);&lt;br /&gt;
				gorg2 := GetSceneObj(&amp;quot;Darkclaw&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				Disappear(drone);&lt;br /&gt;
				Disappear(gorg1);&lt;br /&gt;
				Disappear(gorg2); //we disappear the ships that are bound to appear via ip drive&lt;br /&gt;
				&lt;br /&gt;
				Playmusic(1);          //in here we set the number of the music track (as defined in the&lt;br /&gt;
                                                       //mod_sound.ini file, in the universe\engine\ folder&lt;br /&gt;
				&lt;br /&gt;
				GetMachine(&amp;quot;Director&amp;quot;):ChangeState(IntroMovie, 0);&lt;br /&gt;
				GetMachine(&amp;quot;Objectives&amp;quot;):ChangeState(monitor,0);    // with these commands we &amp;quot;call&amp;quot; the machines &lt;br /&gt;
                                                                                    //that would define the game, and their given&lt;br /&gt;
                                                                                    // state&lt;br /&gt;
				&lt;br /&gt;
				FadeScreen(1, 0, 0);                       //we &amp;quot;fade&amp;quot; the screen, make it black&lt;br /&gt;
			:end&lt;br /&gt;
	END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Body==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	MACHINE &amp;quot;Director&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		STATE IntroMovie&lt;br /&gt;
&lt;br /&gt;
			RULE	event In&lt;br /&gt;
					:action&lt;br /&gt;
						Delay(0,1,&lt;br /&gt;
							FadeScreen(0, 2, StartMission);   &lt;br /&gt;
//we &amp;quot;unfade&amp;quot; the screen, and as defined by the command, when the fading finishes the &amp;quot;StartMission&amp;quot; event will be fired&lt;br /&gt;
							SelectDevices(1, m.bs, s.this:devtype=#weap_miss3); &lt;br /&gt;
//we select the missile batterie&lt;br /&gt;
							Execlist(1, LoadWeapon(s.this, -100)); &lt;br /&gt;
//we unload the weapon. Don't worry, I'll explain the execlist command later along the way.&lt;br /&gt;
						,0);&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event StartMission&lt;br /&gt;
					:action&lt;br /&gt;
						CamMoveAndTurn(m.bs, 2000, m.drone, 4, 10); //we move the camera to see the &lt;br /&gt;
                                                                                          // &amp;quot;drone&amp;quot; ship from the perspective of                 &lt;br /&gt;
                                                                                        //the &amp;quot;bs&amp;quot; ship (more info in the manual).&lt;br /&gt;
						Title(0,0,0,&amp;quot;Demo Mission&amp;quot;);   //we play a title (obviously)&lt;br /&gt;
						Delay(0,10,&lt;br /&gt;
							Guiselect(3);  //we wait 10 seconds (the ammount of time that will take the &lt;br /&gt;
                                                                       //camera to stop moving) to stop the simple cinematic&lt;br /&gt;
							Dialog(&amp;quot;demo_1&amp;quot;,0,0); //we bring upon the 1° string of dialogs, when one of &lt;br /&gt;
                                                                              //them finishes (or is interrupted by the player) the  &lt;br /&gt;
                                                                              //following will appear.&lt;br /&gt;
							Dialog(&amp;quot;demo_2&amp;quot;,0,0);&lt;br /&gt;
							Dialog(&amp;quot;demo_3&amp;quot;,0,0);&lt;br /&gt;
						,0);&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event SecObj  //this event is fired when the last dialog expires, and is called via the &amp;quot;ExpireEvent&amp;quot; &lt;br /&gt;
                                              //command, as you can see the demo.ini file in the \texts\dialogs\ folder&lt;br /&gt;
					:action&lt;br /&gt;
						Title(0,0,0,&amp;quot;objective_1_2&amp;quot;);  //we display the second objective&lt;br /&gt;
						MissionObjective(2, #OBJECTIVE_UNCOMPLETED);  //and we make it so it appears on the &lt;br /&gt;
                                                                                               //&amp;quot;objectives&amp;quot; screen&lt;br /&gt;
						SetArea(1, m.sp, 5000);&lt;br /&gt;
						Timer(Arrival, 10, 0); //this event fires a localevent with a given delay, for more &lt;br /&gt;
                                                                       //info, check the &amp;quot;timer&amp;quot; command&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event AreaEntered&lt;br /&gt;
				condition e.ship=m.bs&amp;amp;e.area=1  //this is an other special rule, it's fired when a ship enters a &lt;br /&gt;
                                                                //given area. E.ship, the ship and e.area the area.&lt;br /&gt;
					:action&lt;br /&gt;
					Engines:=GetFreeSel(); //we start a list with this command&lt;br /&gt;
					SelectDevices(Engines, m.bs, InSet(s.this, 52) | InSet(s.this, 53) | InSet(s.this, 54)); &lt;br /&gt;
//in here we select all the devices that fall under the 52 and 53 &amp;quot;sets&amp;quot; (normal and secondary engines). &lt;br /&gt;
//Check the tacticstypes.ini for more info.&lt;br /&gt;
						Execlist(Engines, EnableDevice(s.this,0));&lt;br /&gt;
					    &lt;br /&gt;
						AddItem(1, m.bs);&lt;br /&gt;
						AddItem(1, m.sp);&lt;br /&gt;
						traffic1 := StartTraffic(1, 2);  //we start some &amp;quot;traffic&amp;quot;, small ships that will   &lt;br /&gt;
                                                                                  //travel from one ship to the other.&lt;br /&gt;
						&lt;br /&gt;
						Delay(0,40, /*we wait some time for the ships to finish some travels*/&lt;br /&gt;
							Execlist(Engines, EnableDevice(s.this,1)); //and we let our ship move again&lt;br /&gt;
							SelectDevices(1, m.bs, s.this:devtype=#weap_miss3);&lt;br /&gt;
							Execlist(1, LoadWeapon(s.this, 13));  //we load the weapon&lt;br /&gt;
							EndTraffic(traffic1);  //we end the traffic&lt;br /&gt;
							MissionObjective(2, #OBJECTIVE_COMPLETED);  //and we tell the player that the &lt;br /&gt;
                                                                                                     //objective has completed&lt;br /&gt;
						,0);&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event Arrival&lt;br /&gt;
					:action&lt;br /&gt;
						LongRangeArrive(m.drone);   //with this command we make the ship appears using it's &lt;br /&gt;
                                                                             //ip drives&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event RunAway //this is also a special event, is only fired when a ship leaves the scene using the ip &lt;br /&gt;
                                              //drives.&lt;br /&gt;
				condition e.ship=m.bs // we check if the player decides to leave the scene&lt;br /&gt;
					:action&lt;br /&gt;
					if(MissionObjective(2) = #OBJECTIVE_UNCOMPLETED, MissionObjective(2, #OBJECTIVE_FAILED));&lt;br /&gt;
					if(MissionObjective(1) = #OBJECTIVE_UNCOMPLETED, MissionObjective(2, #OBJECTIVE_FAILED));  &lt;br /&gt;
//we check wether these objectives have been completed or not, and if not, then we mark them as failed&lt;br /&gt;
						Delay(0,5, uQuitMission(0),0);&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event LongRangeArrived&lt;br /&gt;
				condition e.ship=m.drone   &lt;br /&gt;
/* this is a special rule, and it is only fired when a ship appears by means of an ip drive. In this rule the variable &amp;quot;e.ship&amp;quot; &lt;br /&gt;
refers to the ship that appeared, so with the &amp;quot;condition&amp;quot; line we check that it matches the &amp;quot;drone&amp;quot; from our scene obj */&lt;br /&gt;
					:action &lt;br /&gt;
						MakeFullyknown(e.ship);  //with this command we detect the ship&lt;br /&gt;
						FreezeReconState(e.ship,1);  //and with this other command we make sure it stays that   &lt;br /&gt;
                                                                              //way.&lt;br /&gt;
						SelectDevices(1, m.drone, 1); //with this rule we efectibly select all the devices of &lt;br /&gt;
                                                                              //a given ship, &amp;quot;m.drone&amp;quot;&lt;br /&gt;
						Execlist(1, EnableDevice(s.this,0));   &lt;br /&gt;
&lt;br /&gt;
/* for those familiar with basic programing, the execlist command works a bit like a &amp;quot;for&amp;quot; thing, where the objects to be replaced &lt;br /&gt;
are the items of the list placed in that rule, (in this case, the &amp;quot;1&amp;quot;, all the devices of the &amp;quot;m.drone&amp;quot; ship, and then replace &lt;br /&gt;
&amp;quot;s.this&amp;quot; with each item until it reaches the very end, like a for rule.&lt;br /&gt;
And for the ones that don't know what a for rule is... well... look it up :P nah, kidding. What I did here was run every item from &lt;br /&gt;
the list &amp;quot;1&amp;quot; with a &amp;quot;EnableDevice&amp;quot; rule (again, look what that means in the modding manual) */&lt;br /&gt;
&lt;br /&gt;
						Title(0,0,0,&amp;quot;objective_1_1&amp;quot;);  //we display the first objective&lt;br /&gt;
						MissionObjective(1, #OBJECTIVE_UNCOMPLETED);  //and we make it so it appears on the &lt;br /&gt;
                                                                                              //&amp;quot;objectives&amp;quot; screen&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event Fataldamaged&lt;br /&gt;
				condition e.ship=m.drone   //like the longrangearrived rule, this is also a special one, that will &lt;br /&gt;
                                                 //only be fired when a ship is wrecked (not destroyed). E.ship is the wrecked ship.&lt;br /&gt;
					:action&lt;br /&gt;
						MissionObjective(1, #OBJECTIVE_COMPLETED);   //with this we show that the objective &lt;br /&gt;
                                                                                             //has been, of course, completed.&lt;br /&gt;
						Delay(0,10,&lt;br /&gt;
							Dialog(&amp;quot;demo_4&amp;quot;,0,0);&lt;br /&gt;
							LongRangeArrive(m.gorg1);&lt;br /&gt;
							LongRangeArrive(m.gorg2);   //I know this is a cliche... but what &lt;br /&gt;
                                                                                //the hell. When the practice drone is done for, I                    &lt;br /&gt;
                                                                                 //make two gorg ships appear from hyperspace.&lt;br /&gt;
						,0);&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
				&lt;br /&gt;
			Rule	event LongRangeArrived&lt;br /&gt;
				condition e.ship:race=#race_gorg   //with this we place a condition that the incoming ship must &lt;br /&gt;
                                                                    //belong to the gorg race to be valid for the rule&lt;br /&gt;
					:action&lt;br /&gt;
						MakeFullyknown(m.gorg1);  //with this command we detect the ship&lt;br /&gt;
						FreezeReconState(m.gorg1,1);  //and with this other command we make sure it stays &lt;br /&gt;
                                                                               //that way.&lt;br /&gt;
						&lt;br /&gt;
						MakeFullyknown(m.gorg2);  //with this command we detect the ship&lt;br /&gt;
						FreezeReconState(m.gorg2,1);  //and with this other command we make sure it stays &lt;br /&gt;
                                                                               //that way.&lt;br /&gt;
						ChangeState(Next,0);   //we change the state. Note that from every machine only one &lt;br /&gt;
                                                                       //state can run at a time, so everything that was in this &lt;br /&gt;
                                                                       //state will effectibly stop working.&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
 		END  //state IntroMovie&lt;br /&gt;
		&lt;br /&gt;
		State Next&lt;br /&gt;
			Rule	event in&lt;br /&gt;
					:action&lt;br /&gt;
					if(MissionObjective(2) = #OBJECTIVE_UNCOMPLETED, MissionObjective(2, #OBJECTIVE_FAILED));  &lt;br /&gt;
//which means that if you didn't accomplish the second objective by now, then your time is over amigo, now you have other priorities.&lt;br /&gt;
						&lt;br /&gt;
						SelectShips(1, s.this:race=#race_gorg);  //we select every ship that belongs to the &lt;br /&gt;
                                                                                         //gorg race&lt;br /&gt;
						Execlist(1, s.this:tMoveTo(m.bs, 2, 0));  //and using the execlist rule (the one that &lt;br /&gt;
                                                                        //was like a &amp;quot;for&amp;quot;, remember?) to move them against our ship.&lt;br /&gt;
						&lt;br /&gt;
						Dialog(&amp;quot;demo_5&amp;quot;,0,0);&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event Flee //an other event that is called by a dialog ending. again, check the demo.ini file for &lt;br /&gt;
                                           //more details.&lt;br /&gt;
					:action&lt;br /&gt;
						MissionObjective(3, #OBJECTIVE_UNCOMPLETED); &lt;br /&gt;
						Title(0,0,0,&amp;quot;objective_1_3&amp;quot;);  //same as before.&lt;br /&gt;
						&lt;br /&gt;
						SelectDevices(1, m.sp, s.this:devtype=#supp_longrange);  //in this time we select                   &lt;br /&gt;
                                                       //only the devices (or device) matching an specific criteria, that it must &lt;br /&gt;
                                                       //belong to the devicetype #supp_longrange, the ip drive.&lt;br /&gt;
						Execlist(1, ActivateDevice(s.this,1));  //and we activate the device. Simple.&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event RunAway  &lt;br /&gt;
				condition e.ship=m.bs  //we check that leaving ship is our own&lt;br /&gt;
					:action&lt;br /&gt;
					if(MissionObjective(3) = #OBJECTIVE_UNCOMPLETED, MissionObjective(2, #OBJECTIVE_FAILED));   &lt;br /&gt;
                                                //as before, if you didn't complete the objective, then you failed it.&lt;br /&gt;
					Delay(0,10, uQuitMission(1),0); //and finally we quit to a &amp;quot;you've won!&amp;quot; screen&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event Fataldamaged&lt;br /&gt;
				condition e.ship:race=#race_gorg&lt;br /&gt;
					:action&lt;br /&gt;
						SelectShips(1, s.this:race=#race_gorg);  //we select all the gorg ships and we place &lt;br /&gt;
                                                        //inside one list, labeled as &amp;quot;1&amp;quot; (note that using a number is not mandatory)&lt;br /&gt;
						&lt;br /&gt;
                                                If(AllNumOf(1) = 0, ChangeState(mission_won,0));   //and we check the number of &lt;br /&gt;
                                                                                                   //elements of that list, and if &lt;br /&gt;
                                                                                          //that is number is 0 it means that the &lt;br /&gt;
                                                                                          //list is empty, thus, no more gorg ships.&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event Fataldamaged&lt;br /&gt;
				condition e.ship=m.bs  //well, this means that this event will be fired only if our ship suffered &lt;br /&gt;
                                                       //terminal damage, and thus, you've lost the mission&lt;br /&gt;
					:action&lt;br /&gt;
						Delay(0,10, uQuitMission(0),0);&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
		END  //state next&lt;br /&gt;
		&lt;br /&gt;
		State Mission_won&lt;br /&gt;
			rule	event in&lt;br /&gt;
					:action&lt;br /&gt;
						MissionObjective(3, #OBJECTIVE_COMPLETED); &lt;br /&gt;
						Delay(0,10, uQuitMission(1),0); //and we finish the mission.&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
		END //state mission_won&lt;br /&gt;
	END //Machine &amp;quot;Director&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	Machine &amp;quot;Objectives&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
		State Monitor&lt;br /&gt;
			&lt;br /&gt;
			Rule	event in&lt;br /&gt;
					:action&lt;br /&gt;
						//in  here we set the common, starting parameters of the mission, like the initial &lt;br /&gt;
                                                //objectives&lt;br /&gt;
						MissionObjective(1, #OBJECTIVE_HIDDEN);&lt;br /&gt;
						MissionObjective(2, #OBJECTIVE_HIDDEN);&lt;br /&gt;
						MissionObjective(3, #OBJECTIVE_HIDDEN);&lt;br /&gt;
						&lt;br /&gt;
						SetObjectivePrimary(1,1);&lt;br /&gt;
						SetObjectivePrimary(2,0);&lt;br /&gt;
						SetObjectivePrimary(3,0);   //in here we set wether an objective is or not primary&lt;br /&gt;
						&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
		END //Monitor&lt;br /&gt;
	END&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Entities==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ENTITIES&lt;br /&gt;
&lt;br /&gt;
	SHIP&lt;br /&gt;
		Name &amp;quot;Hawkeye&amp;quot;&lt;br /&gt;
		Race #race_Player&lt;br /&gt;
		ShipType #styp_ep6_Siege_Battleship&lt;br /&gt;
		Position -1000 838 -8966&lt;br /&gt;
		Orientation 0 0 0&lt;br /&gt;
&lt;br /&gt;
		NPC&lt;br /&gt;
			Name &amp;quot;Johan Mastropiero&amp;quot;&lt;br /&gt;
&lt;br /&gt;
			ID 1&lt;br /&gt;
			Face 20&lt;br /&gt;
			Rank 3&lt;br /&gt;
			Medals ;&lt;br /&gt;
			CrewLevel 1&lt;br /&gt;
			Skill 1 0&lt;br /&gt;
			Skill 2 0&lt;br /&gt;
			Skill 3 0&lt;br /&gt;
			XP 0&lt;br /&gt;
		END&lt;br /&gt;
	END&lt;br /&gt;
&lt;br /&gt;
	SHIP&lt;br /&gt;
		Name &amp;quot;Nightingale&amp;quot;&lt;br /&gt;
		Race #race_SpaceTech&lt;br /&gt;
		ShipType #styp_Frigate&lt;br /&gt;
		Position 2441.14 -8877.7 2618.99&lt;br /&gt;
		Orientation 180 0 0&lt;br /&gt;
	END&lt;br /&gt;
&lt;br /&gt;
	SHIP&lt;br /&gt;
		Name &amp;quot;Mayflower&amp;quot;&lt;br /&gt;
		Race #race_Human_E&lt;br /&gt;
		ShipType #styp_Supportship&lt;br /&gt;
		Position -12843.8 -1399.87 -5833.99&lt;br /&gt;
		Orientation 0 0 0&lt;br /&gt;
&lt;br /&gt;
		NPC&lt;br /&gt;
			Name &amp;quot;James Carson&amp;quot;&lt;br /&gt;
&lt;br /&gt;
			ID 2&lt;br /&gt;
			Face 26&lt;br /&gt;
			Rank 2&lt;br /&gt;
			Medals ;&lt;br /&gt;
			CrewLevel 1&lt;br /&gt;
			Skill 1 0&lt;br /&gt;
			Skill 2 0&lt;br /&gt;
			Skill 3 0&lt;br /&gt;
			XP 0&lt;br /&gt;
		END&lt;br /&gt;
	END&lt;br /&gt;
&lt;br /&gt;
	SHIP&lt;br /&gt;
		Name &amp;quot;Feral&amp;quot;&lt;br /&gt;
		TechCat 31 20&lt;br /&gt;
		TechPointsScanned 0&lt;br /&gt;
		Race #race_Gorg&lt;br /&gt;
		ShipType #styp_ep6_gorg_escortcruiser&lt;br /&gt;
		Position -5890.52 -22.7949 7108.39&lt;br /&gt;
		Orientation -92.7069 -36.0036 47.6695&lt;br /&gt;
	END&lt;br /&gt;
&lt;br /&gt;
	SHIP&lt;br /&gt;
		Name &amp;quot;Darkclaw&amp;quot;&lt;br /&gt;
		TechCat 31 30&lt;br /&gt;
		TechPointsScanned 0&lt;br /&gt;
		Race #race_Gorg&lt;br /&gt;
		ShipType #styp_ep3_gorg_heavy_battleship&lt;br /&gt;
		Position -5892.08 769.904 6509.39&lt;br /&gt;
		Orientation -92.7069 -36.0036 47.6695&lt;br /&gt;
	END&lt;br /&gt;
&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Dialogs==&lt;br /&gt;
Read [[Mission_Making_Tutorial#Dialogs|this]] before copying these lines into a file!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dialog&lt;br /&gt;
	name demo_1&lt;br /&gt;
	Layout 4&lt;br /&gt;
	NPC 2&lt;br /&gt;
	distort -1&lt;br /&gt;
	text&lt;br /&gt;
	{&lt;br /&gt;
				0 &amp;quot;Ok, captain, the target drone should be arriving in a few seconds. Is everything ready?&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
Dialog&lt;br /&gt;
	name demo_2&lt;br /&gt;
	Layout 4&lt;br /&gt;
	NPC 1&lt;br /&gt;
	distort -1&lt;br /&gt;
	text&lt;br /&gt;
	{&lt;br /&gt;
				0 &amp;quot;Well, everything but the fact that the extremely comptent fellows at the station forgot to load up our torpedoes.&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
Dialog&lt;br /&gt;
	name demo_3&lt;br /&gt;
	Layout 4&lt;br /&gt;
	NPC 2&lt;br /&gt;
	ExpireEvent SecObj&lt;br /&gt;
	distort -1&lt;br /&gt;
	text&lt;br /&gt;
	{&lt;br /&gt;
				0 &amp;quot;Well, why am I not surprised... head over to the Mayflower, if you want. They should be able to help you with that.&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
Dialog&lt;br /&gt;
	name demo_4&lt;br /&gt;
	Layout 4&lt;br /&gt;
	NPC 2&lt;br /&gt;
	distort -1&lt;br /&gt;
	text&lt;br /&gt;
	{&lt;br /&gt;
				0 &amp;quot;Damn... we have Gorg ships incoming!&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
Dialog&lt;br /&gt;
	name demo_5&lt;br /&gt;
	Layout 4&lt;br /&gt;
	NPC 2&lt;br /&gt;
	ExpireEvent Flee&lt;br /&gt;
	distort -1&lt;br /&gt;
	text&lt;br /&gt;
	{&lt;br /&gt;
				0 &amp;quot;Captain, we're pulling the Mayflower away. There's no need to fight here, fight or flee, your call&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Objectives==&lt;br /&gt;
Also, read [[Mission_Making_Tutorial#Objectives|this]] before copying these lines into a file!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TEXT &amp;quot;objective_1_1&amp;quot;&lt;br /&gt;
	0 &amp;quot;Destroy the drone&amp;quot;&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
TEXT &amp;quot;objective_1_2&amp;quot;&lt;br /&gt;
	0 &amp;quot;Approach the support ship to have your missile bank filled up&amp;quot;&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
TEXT &amp;quot;objective_1_3&amp;quot;&lt;br /&gt;
	0 &amp;quot;Destroy the Gorg ships&amp;quot;&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mularac</name></author>	</entry>

	<entry>
		<id>http://nexusthegame.net/wiki/Demo_mission</id>
		<title>Demo mission</title>
		<link rel="alternate" type="text/html" href="http://nexusthegame.net/wiki/Demo_mission"/>
				<updated>2010-02-22T20:22:24Z</updated>
		
		<summary type="html">&lt;p&gt;Mularac: Created page with '==Heading== &amp;lt;pre&amp;gt; MISSION 1  //mission number Name &amp;quot;Demo Mission&amp;quot; //name of the mission DefLocation &amp;quot;NAV_CHAKRIS_IV&amp;quot;  //the location where the mission will take place  OBJECTIVES...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Heading==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MISSION 1  //mission number&lt;br /&gt;
Name &amp;quot;Demo Mission&amp;quot; //name of the mission&lt;br /&gt;
DefLocation &amp;quot;NAV_CHAKRIS_IV&amp;quot;  //the location where the mission will take place&lt;br /&gt;
&lt;br /&gt;
OBJECTIVES //in here we place the number of objectives that will be includid in the mission&lt;br /&gt;
	1&lt;br /&gt;
	2&lt;br /&gt;
	3&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==SceneInit==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RULES&lt;br /&gt;
&lt;br /&gt;
	RULE 	event sceneInit&lt;br /&gt;
			:action&lt;br /&gt;
				SetSceneRadius(100000);	//this is, as the name suggests it, the radious in meters of the scene.&lt;br /&gt;
		&lt;br /&gt;
				GuiSelect(0);   //this is required to start a cinematic scene&lt;br /&gt;
		&lt;br /&gt;
				SetRelation(#race_player, #race_spacetech, 2);&lt;br /&gt;
				SetRelation(#race_player, #race_gorg, 2);&lt;br /&gt;
				SetRelation(#race_gorg, #race_player, 2);&lt;br /&gt;
				SetRelation(#race_spacetech, #race_player, 2);&lt;br /&gt;
				SetRelation(#race_player, #race_Human_E, 1);  //the relations between the races that will appear in &lt;br /&gt;
                                                                              //the game. the &amp;quot;race_player&amp;quot; is the playable race, &lt;br /&gt;
				                                              //and the number mean what sort of relationship they &lt;br /&gt;
                                                                              //share with other races, more info on that is &lt;br /&gt;
									      //located on the modding manual&lt;br /&gt;
				&lt;br /&gt;
				sp := GetSceneObj(&amp;quot;Mayflower&amp;quot;);&lt;br /&gt;
				bs := GetSceneObj(&amp;quot;Hawkeye&amp;quot;);   //in here we define the &amp;quot;Scene Objects&amp;quot;, the ships and other&lt;br /&gt;
                                                                //interactive obects&lt;br /&gt;
&lt;br /&gt;
				drone := GetSceneObj(&amp;quot;Nightingale&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				gorg1 := GetSceneObj(&amp;quot;Feral&amp;quot;);&lt;br /&gt;
				gorg2 := GetSceneObj(&amp;quot;Darkclaw&amp;quot;);&lt;br /&gt;
				&lt;br /&gt;
				Disappear(drone);&lt;br /&gt;
				Disappear(gorg1);&lt;br /&gt;
				Disappear(gorg2); //we disappear the ships that are bound to appear via ip drive&lt;br /&gt;
				&lt;br /&gt;
				Playmusic(1);          //in here we set the number of the music track (as defined in the&lt;br /&gt;
                                                       //mod_sound.ini file, in the universe\engine\ folder&lt;br /&gt;
				&lt;br /&gt;
				GetMachine(&amp;quot;Director&amp;quot;):ChangeState(IntroMovie, 0);&lt;br /&gt;
				GetMachine(&amp;quot;Objectives&amp;quot;):ChangeState(monitor,0);    // with these commands we &amp;quot;call&amp;quot; the machines &lt;br /&gt;
                                                                                    //that would define the game, and their given&lt;br /&gt;
                                                                                    // state&lt;br /&gt;
				&lt;br /&gt;
				FadeScreen(1, 0, 0);                       //we &amp;quot;fade&amp;quot; the screen, make it black&lt;br /&gt;
			:end&lt;br /&gt;
	END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Body==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	MACHINE &amp;quot;Director&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		STATE IntroMovie&lt;br /&gt;
&lt;br /&gt;
			RULE	event In&lt;br /&gt;
					:action&lt;br /&gt;
						Delay(0,1,&lt;br /&gt;
							FadeScreen(0, 2, StartMission);   &lt;br /&gt;
//we &amp;quot;unfade&amp;quot; the screen, and as defined by the command, when the fading finishes the &amp;quot;StartMission&amp;quot; event will be fired&lt;br /&gt;
							SelectDevices(1, m.bs, s.this:devtype=#weap_miss3); &lt;br /&gt;
//we select the missile batterie&lt;br /&gt;
							Execlist(1, LoadWeapon(s.this, -100)); &lt;br /&gt;
//we unload the weapon. Don't worry, I'll explain the execlist command later along the way.&lt;br /&gt;
						,0);&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event StartMission&lt;br /&gt;
					:action&lt;br /&gt;
						CamMoveAndTurn(m.bs, 2000, m.drone, 4, 10); //we move the camera to see the &lt;br /&gt;
                                                                                          // &amp;quot;drone&amp;quot; ship from the perspective of                 &lt;br /&gt;
                                                                                        //the &amp;quot;bs&amp;quot; ship (more info in the manual).&lt;br /&gt;
						Title(0,0,0,&amp;quot;Demo Mission&amp;quot;);   //we play a title (obviously)&lt;br /&gt;
						Delay(0,10,&lt;br /&gt;
							Guiselect(3);  //we wait 10 seconds (the ammount of time that will take the &lt;br /&gt;
                                                                       //camera to stop moving) to stop the simple cinematic&lt;br /&gt;
							Dialog(&amp;quot;demo_1&amp;quot;,0,0); //we bring upon the 1° string of dialogs, when one of &lt;br /&gt;
                                                                              //them finishes (or is interrupted by the player) the  &lt;br /&gt;
                                                                              //following will appear.&lt;br /&gt;
							Dialog(&amp;quot;demo_2&amp;quot;,0,0);&lt;br /&gt;
							Dialog(&amp;quot;demo_3&amp;quot;,0,0);&lt;br /&gt;
						,0);&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event SecObj  //this event is fired when the last dialog expires, and is called via the &amp;quot;ExpireEvent&amp;quot; &lt;br /&gt;
                                              //command, as you can see the demo.ini file in the \texts\dialogs\ folder&lt;br /&gt;
					:action&lt;br /&gt;
						Title(0,0,0,&amp;quot;objective_1_2&amp;quot;);  //we display the second objective&lt;br /&gt;
						MissionObjective(2, #OBJECTIVE_UNCOMPLETED);  //and we make it so it appears on the &lt;br /&gt;
                                                                                               //&amp;quot;objectives&amp;quot; screen&lt;br /&gt;
						SetArea(1, m.sp, 5000);&lt;br /&gt;
						Timer(Arrival, 10, 0); //this event fires a localevent with a given delay, for more &lt;br /&gt;
                                                                       //info, check the &amp;quot;timer&amp;quot; command&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event AreaEntered&lt;br /&gt;
				condition e.ship=m.bs&amp;amp;e.area=1  //this is an other special rule, it's fired when a ship enters a &lt;br /&gt;
                                                                //given area. E.ship, the ship and e.area the area.&lt;br /&gt;
					:action&lt;br /&gt;
					Engines:=GetFreeSel(); //we start a list with this command&lt;br /&gt;
					SelectDevices(Engines, m.bs, InSet(s.this, 52) | InSet(s.this, 53) | InSet(s.this, 54)); &lt;br /&gt;
//in here we select all the devices that fall under the 52 and 53 &amp;quot;sets&amp;quot; (normal and secondary engines). &lt;br /&gt;
//Check the tacticstypes.ini for more info.&lt;br /&gt;
						Execlist(Engines, EnableDevice(s.this,0));&lt;br /&gt;
					    &lt;br /&gt;
						AddItem(1, m.bs);&lt;br /&gt;
						AddItem(1, m.sp);&lt;br /&gt;
						traffic1 := StartTraffic(1, 2);  //we start some &amp;quot;traffic&amp;quot;, small ships that will   &lt;br /&gt;
                                                                                  //travel from one ship to the other.&lt;br /&gt;
						&lt;br /&gt;
						Delay(0,40, /*we wait some time for the ships to finish some travels*/&lt;br /&gt;
							Execlist(Engines, EnableDevice(s.this,1)); //and we let our ship move again&lt;br /&gt;
							SelectDevices(1, m.bs, s.this:devtype=#weap_miss3);&lt;br /&gt;
							Execlist(1, LoadWeapon(s.this, 13));  //we load the weapon&lt;br /&gt;
							EndTraffic(traffic1);  //we end the traffic&lt;br /&gt;
							MissionObjective(2, #OBJECTIVE_COMPLETED);  //and we tell the player that the &lt;br /&gt;
                                                                                                     //objective has completed&lt;br /&gt;
						,0);&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event Arrival&lt;br /&gt;
					:action&lt;br /&gt;
						LongRangeArrive(m.drone);   //with this command we make the ship appears using it's &lt;br /&gt;
                                                                             //ip drives&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event RunAway //this is also a special event, is only fired when a ship leaves the scene using the ip &lt;br /&gt;
                                              //drives.&lt;br /&gt;
				condition e.ship=m.bs // we check if the player decides to leave the scene&lt;br /&gt;
					:action&lt;br /&gt;
					if(MissionObjective(2) = #OBJECTIVE_UNCOMPLETED, MissionObjective(2, #OBJECTIVE_FAILED));&lt;br /&gt;
					if(MissionObjective(1) = #OBJECTIVE_UNCOMPLETED, MissionObjective(2, #OBJECTIVE_FAILED));  &lt;br /&gt;
//we check wether these objectives have been completed or not, and if not, then we mark them as failed&lt;br /&gt;
						Delay(0,5, uQuitMission(0),0);&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event LongRangeArrived&lt;br /&gt;
				condition e.ship=m.drone   &lt;br /&gt;
/* this is a special rule, and it is only fired when a ship appears by means of an ip drive. In this rule the variable &amp;quot;e.ship&amp;quot; &lt;br /&gt;
refers to the ship that appeared, so with the &amp;quot;condition&amp;quot; line we check that it matches the &amp;quot;drone&amp;quot; from our scene obj */&lt;br /&gt;
					:action &lt;br /&gt;
						MakeFullyknown(e.ship);  //with this command we detect the ship&lt;br /&gt;
						FreezeReconState(e.ship,1);  //and with this other command we make sure it stays that   &lt;br /&gt;
                                                                              //way.&lt;br /&gt;
						SelectDevices(1, m.drone, 1); //with this rule we efectibly select all the devices of &lt;br /&gt;
                                                                              //a given ship, &amp;quot;m.drone&amp;quot;&lt;br /&gt;
						Execlist(1, EnableDevice(s.this,0));   &lt;br /&gt;
&lt;br /&gt;
/* for those familiar with basic programing, the execlist command works a bit like a &amp;quot;for&amp;quot; thing, where the objects to be replaced &lt;br /&gt;
are the items of the list placed in that rule, (in this case, the &amp;quot;1&amp;quot;, all the devices of the &amp;quot;m.drone&amp;quot; ship, and then replace &lt;br /&gt;
&amp;quot;s.this&amp;quot; with each item until it reaches the very end, like a for rule.&lt;br /&gt;
And for the ones that don't know what a for rule is... well... look it up :P nah, kidding. What I did here was run every item from &lt;br /&gt;
the list &amp;quot;1&amp;quot; with a &amp;quot;EnableDevice&amp;quot; rule (again, look what that means in the modding manual) */&lt;br /&gt;
&lt;br /&gt;
						Title(0,0,0,&amp;quot;objective_1_1&amp;quot;);  //we display the first objective&lt;br /&gt;
						MissionObjective(1, #OBJECTIVE_UNCOMPLETED);  //and we make it so it appears on the &lt;br /&gt;
                                                                                              //&amp;quot;objectives&amp;quot; screen&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event Fataldamaged&lt;br /&gt;
				condition e.ship=m.drone   //like the longrangearrived rule, this is also a special one, that will &lt;br /&gt;
                                                 //only be fired when a ship is wrecked (not destroyed). E.ship is the wrecked ship.&lt;br /&gt;
					:action&lt;br /&gt;
						MissionObjective(1, #OBJECTIVE_COMPLETED);   //with this we show that the objective &lt;br /&gt;
                                                                                             //has been, of course, completed.&lt;br /&gt;
						Delay(0,10,&lt;br /&gt;
							Dialog(&amp;quot;demo_4&amp;quot;,0,0);&lt;br /&gt;
							LongRangeArrive(m.gorg1);&lt;br /&gt;
							LongRangeArrive(m.gorg2);   //I know this is a cliche... but what &lt;br /&gt;
                                                                                //the hell. When the practice drone is done for, I                    &lt;br /&gt;
                                                                                 //make two gorg ships appear from hyperspace.&lt;br /&gt;
						,0);&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
				&lt;br /&gt;
			Rule	event LongRangeArrived&lt;br /&gt;
				condition e.ship:race=#race_gorg   //with this we place a condition that the incoming ship must &lt;br /&gt;
                                                                    //belong to the gorg race to be valid for the rule&lt;br /&gt;
					:action&lt;br /&gt;
						MakeFullyknown(m.gorg1);  //with this command we detect the ship&lt;br /&gt;
						FreezeReconState(m.gorg1,1);  //and with this other command we make sure it stays &lt;br /&gt;
                                                                               //that way.&lt;br /&gt;
						&lt;br /&gt;
						MakeFullyknown(m.gorg2);  //with this command we detect the ship&lt;br /&gt;
						FreezeReconState(m.gorg2,1);  //and with this other command we make sure it stays &lt;br /&gt;
                                                                               //that way.&lt;br /&gt;
						ChangeState(Next,0);   //we change the state. Note that from every machine only one &lt;br /&gt;
                                                                       //state can run at a time, so everything that was in this &lt;br /&gt;
                                                                       //state will effectibly stop working.&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
 		END  //state IntroMovie&lt;br /&gt;
		&lt;br /&gt;
		State Next&lt;br /&gt;
			Rule	event in&lt;br /&gt;
					:action&lt;br /&gt;
					if(MissionObjective(2) = #OBJECTIVE_UNCOMPLETED, MissionObjective(2, #OBJECTIVE_FAILED));  &lt;br /&gt;
//which means that if you didn't accomplish the second objective by now, then your time is over amigo, now you have other priorities.&lt;br /&gt;
						&lt;br /&gt;
						SelectShips(1, s.this:race=#race_gorg);  //we select every ship that belongs to the &lt;br /&gt;
                                                                                         //gorg race&lt;br /&gt;
						Execlist(1, s.this:tMoveTo(m.bs, 2, 0));  //and using the execlist rule (the one that &lt;br /&gt;
                                                                        //was like a &amp;quot;for&amp;quot;, remember?) to move them against our ship.&lt;br /&gt;
						&lt;br /&gt;
						Dialog(&amp;quot;demo_5&amp;quot;,0,0);&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event Flee //an other event that is called by a dialog ending. again, check the demo.ini file for &lt;br /&gt;
                                           //more details.&lt;br /&gt;
					:action&lt;br /&gt;
						MissionObjective(3, #OBJECTIVE_UNCOMPLETED); &lt;br /&gt;
						Title(0,0,0,&amp;quot;objective_1_3&amp;quot;);  //same as before.&lt;br /&gt;
						&lt;br /&gt;
						SelectDevices(1, m.sp, s.this:devtype=#supp_longrange);  //in this time we select                   &lt;br /&gt;
                                                       //only the devices (or device) matching an specific criteria, that it must &lt;br /&gt;
                                                       //belong to the devicetype #supp_longrange, the ip drive.&lt;br /&gt;
						Execlist(1, ActivateDevice(s.this,1));  //and we activate the device. Simple.&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event RunAway  &lt;br /&gt;
				condition e.ship=m.bs  //we check that leaving ship is our own&lt;br /&gt;
					:action&lt;br /&gt;
					if(MissionObjective(3) = #OBJECTIVE_UNCOMPLETED, MissionObjective(2, #OBJECTIVE_FAILED));   &lt;br /&gt;
                                                //as before, if you didn't complete the objective, then you failed it.&lt;br /&gt;
					Delay(0,10, uQuitMission(1),0); //and finally we quit to a &amp;quot;you've won!&amp;quot; screen&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event Fataldamaged&lt;br /&gt;
				condition e.ship:race=#race_gorg&lt;br /&gt;
					:action&lt;br /&gt;
						SelectShips(1, s.this:race=#race_gorg);  //we select all the gorg ships and we place &lt;br /&gt;
                                                        //inside one list, labeled as &amp;quot;1&amp;quot; (note that using a number is not mandatory)&lt;br /&gt;
						&lt;br /&gt;
                                                If(AllNumOf(1) = 0, ChangeState(mission_won,0));   //and we check the number of &lt;br /&gt;
                                                                                                   //elements of that list, and if &lt;br /&gt;
                                                                                          //that is number is 0 it means that the &lt;br /&gt;
                                                                                          //list is empty, thus, no more gorg ships.&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
			&lt;br /&gt;
			Rule	event Fataldamaged&lt;br /&gt;
				condition e.ship=m.bs  //well, this means that this event will be fired only if our ship suffered &lt;br /&gt;
                                                       //terminal damage, and thus, you've lost the mission&lt;br /&gt;
					:action&lt;br /&gt;
						Delay(0,10, uQuitMission(0),0);&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
		END  //state next&lt;br /&gt;
		&lt;br /&gt;
		State Mission_won&lt;br /&gt;
			rule	event in&lt;br /&gt;
					:action&lt;br /&gt;
						MissionObjective(3, #OBJECTIVE_COMPLETED); &lt;br /&gt;
						Delay(0,10, uQuitMission(1),0); //and we finish the mission.&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
		END //state mission_won&lt;br /&gt;
	END //Machine &amp;quot;Director&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	Machine &amp;quot;Objectives&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
		State Monitor&lt;br /&gt;
			&lt;br /&gt;
			Rule	event in&lt;br /&gt;
					:action&lt;br /&gt;
						//in  here we set the common, starting parameters of the mission, like the initial &lt;br /&gt;
                                                //objectives&lt;br /&gt;
						MissionObjective(1, #OBJECTIVE_HIDDEN);&lt;br /&gt;
						MissionObjective(2, #OBJECTIVE_HIDDEN);&lt;br /&gt;
						MissionObjective(3, #OBJECTIVE_HIDDEN);&lt;br /&gt;
						&lt;br /&gt;
						SetObjectivePrimary(1,1);&lt;br /&gt;
						SetObjectivePrimary(2,0);&lt;br /&gt;
						SetObjectivePrimary(3,0);   //in here we set wether an objective is or not primary&lt;br /&gt;
						&lt;br /&gt;
					:end&lt;br /&gt;
			END&lt;br /&gt;
		END //Monitor&lt;br /&gt;
	END&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Entities==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ENTITIES&lt;br /&gt;
&lt;br /&gt;
	SHIP&lt;br /&gt;
		Name &amp;quot;Hawkeye&amp;quot;&lt;br /&gt;
		Race #race_Player&lt;br /&gt;
		ShipType #styp_ep6_Siege_Battleship&lt;br /&gt;
		Position -1000 838 -8966&lt;br /&gt;
		Orientation 0 0 0&lt;br /&gt;
&lt;br /&gt;
		NPC&lt;br /&gt;
			Name &amp;quot;Johan Mastropiero&amp;quot;&lt;br /&gt;
&lt;br /&gt;
			ID 1&lt;br /&gt;
			Face 20&lt;br /&gt;
			Rank 3&lt;br /&gt;
			Medals ;&lt;br /&gt;
			CrewLevel 1&lt;br /&gt;
			Skill 1 0&lt;br /&gt;
			Skill 2 0&lt;br /&gt;
			Skill 3 0&lt;br /&gt;
			XP 0&lt;br /&gt;
		END&lt;br /&gt;
	END&lt;br /&gt;
&lt;br /&gt;
	SHIP&lt;br /&gt;
		Name &amp;quot;Nightingale&amp;quot;&lt;br /&gt;
		Race #race_SpaceTech&lt;br /&gt;
		ShipType #styp_Frigate&lt;br /&gt;
		Position 2441.14 -8877.7 2618.99&lt;br /&gt;
		Orientation 180 0 0&lt;br /&gt;
	END&lt;br /&gt;
&lt;br /&gt;
	SHIP&lt;br /&gt;
		Name &amp;quot;Mayflower&amp;quot;&lt;br /&gt;
		Race #race_Human_E&lt;br /&gt;
		ShipType #styp_Supportship&lt;br /&gt;
		Position -12843.8 -1399.87 -5833.99&lt;br /&gt;
		Orientation 0 0 0&lt;br /&gt;
&lt;br /&gt;
		NPC&lt;br /&gt;
			Name &amp;quot;James Carson&amp;quot;&lt;br /&gt;
&lt;br /&gt;
			ID 2&lt;br /&gt;
			Face 26&lt;br /&gt;
			Rank 2&lt;br /&gt;
			Medals ;&lt;br /&gt;
			CrewLevel 1&lt;br /&gt;
			Skill 1 0&lt;br /&gt;
			Skill 2 0&lt;br /&gt;
			Skill 3 0&lt;br /&gt;
			XP 0&lt;br /&gt;
		END&lt;br /&gt;
	END&lt;br /&gt;
&lt;br /&gt;
	SHIP&lt;br /&gt;
		Name &amp;quot;Feral&amp;quot;&lt;br /&gt;
		TechCat 31 20&lt;br /&gt;
		TechPointsScanned 0&lt;br /&gt;
		Race #race_Gorg&lt;br /&gt;
		ShipType #styp_ep6_gorg_escortcruiser&lt;br /&gt;
		Position -5890.52 -22.7949 7108.39&lt;br /&gt;
		Orientation -92.7069 -36.0036 47.6695&lt;br /&gt;
	END&lt;br /&gt;
&lt;br /&gt;
	SHIP&lt;br /&gt;
		Name &amp;quot;Darkclaw&amp;quot;&lt;br /&gt;
		TechCat 31 30&lt;br /&gt;
		TechPointsScanned 0&lt;br /&gt;
		Race #race_Gorg&lt;br /&gt;
		ShipType #styp_ep3_gorg_heavy_battleship&lt;br /&gt;
		Position -5892.08 769.904 6509.39&lt;br /&gt;
		Orientation -92.7069 -36.0036 47.6695&lt;br /&gt;
	END&lt;br /&gt;
&lt;br /&gt;
END&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mularac</name></author>	</entry>

	</feed>