Members | Sign In
All Forums > Mission Scripting
avatar

Mission - not quite complete - Encounter at Far Port

posted May 15, 2011 10:44:06 by David
This mission is the second one I made, and for some reason I can't get it to end correctly. So it's here as a work in progress - if someone can have a look at it and tell me how to make it "end mission". Perhaps I've done something wrong.

Simply, the Artemis is dispatched to protect merchant vessels in the vicinity of Far Port Station, and ends up in a mess of trouble with some a Skaraan task force.




<!-- mission_data is the big wrapper for all the parts of a mission -->
<mission_data version="1.31">

<!-- ******************************************************************************************** -->
<!-- all the things that exist at the start of the mission -->
<start>
<create type ="station" x="50000" y="0" z="20000" name="Far Port"/>
<create type ="station" x="90000" y="0" z="90000" name="DS182"/>
<create type ="station" x="10000" y="0" z="10000" name="DS183"/>
<create type ="station" x="0" y="0" z="90000" name="DS185"/>
<create type ="player" x="50100" y="0" z="20300" name="Artemis" angle="180"/>
<create type ="neutral" x="70000" y="0" z="65000" name="Roma Cargo" angle="60" fleetnumber="10"/>
<set_object_property name="Roma Cargo" property="willAcceptCommsOrders" value="1" />
<direct name="Roma Cargo" targetName="Far Port"/>
<create type ="neutral" x="60000" y="0" z="70000" name="Pyra Cargo" angle="60" fleetnumber="10"/>
<set_object_property name="Pyra Cargo" property="willAcceptCommsOrders" value="1" />
<direct name="Pyra Cargo" targetName="Far Port"/>

<create type ="enemy" hulltype="30" x="60000" y="0" z="40000" angle="0" name="SK01" fleetnumber="1"/>

reate type ="enemy" hulltype="30" x="60000" y="0" z="40500" angle="0" name="SK02" fleetnumber="1"/>

reate type ="enemy" hulltype="31" x="90000" y="0" z="50000" angle="90" name="SK03" fleetnumber="2"/>

reate type ="enemy" hulltype="31" x="90000" y="0" z="60000" angle="90" name="SK04" fleetnumber="3"/>

reate type ="enemy" hulltype="32" x="30000" y="0" z="70000" angle="0" name="SK05" fleetnumber="4"/>


<create type ="nebulas" count="20" startX="60000" startY="0" startZ="60000" radius ="5000" startAngle="0" endAngle="360" randomRange="2000" randomSeed="2"/>

<create type ="nebulas" count="20" startX="80000" startY="0" startZ="40000" radius ="6000" startAngle="0" endAngle="360" randomRange="3000" randomSeed="3"/>

<create type ="nebulas" count="20" startX="30000" startY="0" startZ="50000" radius ="5000" startAngle="0" endAngle="360" randomRange="4000" randomSeed="4"/>

<create type ="asteroids" count="30" startX="70000" startY="0" startZ="80000" radius ="50000" startAngle="0" endAngle="40" randomRange="1000" randomSeed="6"/>

<create type ="mines" count="30" startX="70000" startY="0" startZ="10000" endX="70000" endY="0" endZ="30000"/>

<create type ="mines" count="30" startX="70500" startY="0" startZ="10000" endX="70500" endY="0" endZ="30000"/>


<big_message title="ENCOUNTER AT FAR PORT" subtitle1="written by David Grounds"/>


<set_timer name="start_timer" seconds="10"/>

<log text="Starting\n\n"/>

</start>

<!-- ******************************************************************************************** -->

<event>
<if_variable name="briefing" comparator="!=" value="1"/>
<if_timer_finished name="start_timer"/>

<incoming_comms_text from="Admiral Grankov">
Captain, welcome to Far Port.^
This new Star Base has been placed on a strategic trade route.^
</incoming_comms_text>
<set_timer name="pause_timer" seconds="5"/>
<set_variable name="briefing" value="1"/>
</event>

<event>
<if_variable name="briefing2" comparator="!=" value="1"/>
<if_timer_finished name="pause_timer"/>

<incoming_comms_text from="Admiral Grankov">
And, it turns out, is very close to Skaraan space.^
We have reports of Skaraan raiders active in this sector.^
Protect the Cargo ships and Far Port.^ Good luck, Artemis!
</incoming_comms_text>
<set_variable name="briefing2" value="1"/>
</event>



<!-- ******************************************************************************************** -->
<!-- inhibit warp in the leftmost nebula -->
<event>
<if_inside_sphere name="Artemis" centerX="80000" centerY="0" centerZ="40000" radius ="6000"/>
<set_object_property name="Artemis" property="systemDamageWarp" value="10" />
</event>

<!-- ******************************************************************************************** -->

<!-- enemies in the bottom nebula -->
<event>
<if_variable name="bottom" comparator="!=" value="1"/>
<if_inside_sphere name="Artemis" centerX="60000" centerY="0" centerZ="60000" radius ="3000"/>

<create type ="enemy" hulltype="10" x="60000" y="0" z="60000" angle="0" name="KR01" fleetnumber="9"/>
<create type ="enemy" hulltype="10" x="60000" y="0" z="60500" angle="0" name="KR02" fleetnumber="9"/>
<create type ="enemy" hulltype="11" x="60000" y="0" z="61000" angle="0" name="KR03" fleetnumber="9"/>

<log text="Created fleet 9\n"/>
<set_variable name="bottom" value="1"/>
</event>


<!-- ******************************************************************************************** -->



<!-- ******************************************************************************************** -->
<!-- WINNING BY DOCKING CARGO SHIPS -->
<event>
<if_variable name="missionComplete" comparator="!=" value="1"/>
<if_inside_sphere name="Pyra Cargo" centerX="50000" centerY="0" centerZ="20000" radius ="1000"/>

<big_message title="MISSION SUCCESS"/>
<set_timer name="missionComplete_timer" seconds="10"/>
<set_variable name="missionComplete" value="1"/>

</event>

<event>
<if_variable name="missionComplete" comparator="!=" value="1"/>
<if_inside_sphere name="Roma Cargo" centerX="50000" centerY="0" centerZ="20000" radius ="1000"/>

<big_message title="MISSION SUCCESS"/>
<set_timer name="missionComplete_timer" seconds="10"/>
<set_variable name="missionComplete" value="1"/>

</event>

<!-- ******************************************************************************************** -->
<!-- WINNING THROUGH MILITARY --/>
<event>
<if_variable name="missionComplete" comparator="!=" value="1"/>
<if_fleet_count fleetnumber="1" comparator="=" value="0"/>
<if_fleet_count fleetnumber="2" comparator="=" value="0"/>
<if_fleet_count fleetnumber="3" comparator="=" value="0"/>
<if_fleet_count fleetnumber="4" comparator="=" value="0"/>
<if_fleet_count fleetnumber="5" comparator="=" value="0"/>

<big_message title="MISSION SUCCESS"/>
<set_timer name="missionComplete_timer" seconds="10"/>
<set_variable name="missionComplete" value="1"/>

</event>


<event>
<if_variable name="missionComplete" comparator="=" value="1"/>
<end_mission/>
</event>


<!-- ******************************************************************************************** -->
<!-- FAILING THE GAME --/>

<event>
<if_fleet_count fleetnumber="10" comparator="<=" value="0"/>

<big_message title="MISSION FAILED"/>
<set_timer name="missionComplete_timer" seconds="10"/>
<set_variable name="missionfailed" value="1"/>

</event>

<event>
<if_variable name="missionfailed" comparator="=" value="1"/>
<if_timer_finished name="missionComplete_timer"/>

<end_mission/>
</event>



<!-- ******************************************************************************************** -->

<!-- handle the 5th enemy fleet appearing just when you don't want it to -->

<event>
<if_variable name="fleet5Appears" comparator="!=" value="1"/>
<if_inside_sphere name="Artemis" centerX="50000" centerY="0" centerZ="50000" radius ="5000"/>

reate type ="enemy" hulltype="31" x="60000" y="0" z="20400" angle="0" name="SK06" fleetnumber="5"/>
<set_object_property name="SK06" property="eliteAIType" value="1"/>
<direct name="SK06" targetName="Far Port"/>

<incoming_comms_text from="ALIEN SWINE">
FOOLS! YOU HAVE INVADED OUR TERRITORY FOR THE LAST TIME!^
NOW YOU DIE!^
</incoming_comms_text>

<set_variable name="fleet5Appears" value="1"/>
</event>



<!-- ******************************************************************************************** -->
</mission_data>
[Last edited May 15, 2011 10:47:20]
page   1
5 replies
avatar
Mike_Substelny said May 19, 2011 19:29:00
I haven't played it yet, but do fleets 1, 2, 3 and 4 get created? In my browser it looks like some characters are missing in your create statements for the Skaraans in the start block.
"Damn the torpedoes! Four bells, Captain Drayton!"

(Likely actual words of Admiral David Farragut, USN, at the battle of Mobile Bay. Four bells was the signal for the engine room to make full steam ahead).
avatar
Mike_Substelny said May 19, 2011 23:37:08
You've got two improperly terminated comments. Here:

<!-- WINNING THROUGH MILITARY --/> should be <!-- WINNING THROUGH MILITARY -->

<!-- FAILING THE GAME --/> should be <!-- FAILING THE GAME -->
"Damn the torpedoes! Four bells, Captain Drayton!"

(Likely actual words of Admiral David Farragut, USN, at the battle of Mobile Bay. Four bells was the signal for the engine room to make full steam ahead).
avatar
Mike_Substelny said May 20, 2011 01:18:36
I made the changes and the mission seems to play well. You might want to confirm that it does the things you want it to do. Here is the version that seems to work correctly:

<!-- mission_data is the big wrapper for all the parts of a mission -->
<mission_data version="1.31">

<!-- ******************************************************************************************** -->
<!-- all the things that exist at the start of the mission -->
<start>
<create type ="station" x="50000" y="0" z="20000" name="Far Port"/>
<create type ="station" x="90000" y="0" z="90000" name="DS182"/>
<create type ="station" x="10000" y="0" z="10000" name="DS183"/>
<create type ="station" x="0" y="0" z="90000" name="DS185"/>
<create type ="player" x="50100" y="0" z="20300" name="Artemis" angle="180"/>
<create type ="neutral" x="70000" y="0" z="65000" name="Roma Cargo" angle="60" fleetnumber="10"/>
<set_object_property name="Roma Cargo" property="willAcceptCommsOrders" value="1" />
<direct name="Roma Cargo" targetName="Far Port"/>
<create type ="neutral" x="60000" y="0" z="70000" name="Pyra Cargo" angle="60" fleetnumber="10"/>
<set_object_property name="Pyra Cargo" property="willAcceptCommsOrders" value="1" />
<direct name="Pyra Cargo" targetName="Far Port"/>

<create type ="enemy" hulltype="30" x="60000" y="0" z="40000" angle="0" name="SK01" fleetnumber="1"/>

<create type ="enemy" hulltype="30" x="60000" y="0" z="40500" angle="0" name="SK02" fleetnumber="1"/>

<create type ="enemy" hulltype="31" x="90000" y="0" z="50000" angle="90" name="SK03" fleetnumber="2"/>

<create type ="enemy" hulltype="31" x="90000" y="0" z="60000" angle="90" name="SK04" fleetnumber="3"/>

<create type ="enemy" hulltype="32" x="30000" y="0" z="70000" angle="0" name="SK05" fleetnumber="4"/>


<create type ="nebulas" count="20" startX="60000" startY="0" startZ="60000" radius ="5000" startAngle="0" endAngle="360" randomRange="2000" randomSeed="2"/>

<create type ="nebulas" count="20" startX="80000" startY="0" startZ="40000" radius ="6000" startAngle="0" endAngle="360" randomRange="3000" randomSeed="3"/>

<create type ="nebulas" count="20" startX="30000" startY="0" startZ="50000" radius ="5000" startAngle="0" endAngle="360" randomRange="4000" randomSeed="4"/>

<create type ="asteroids" count="30" startX="70000" startY="0" startZ="80000" radius ="50000" startAngle="0" endAngle="40" randomRange="1000" randomSeed="6"/>

<create type ="mines" count="30" startX="70000" startY="0" startZ="10000" endX="70000" endY="0" endZ="30000"/>

<create type ="mines" count="30" startX="70500" startY="0" startZ="10000" endX="70500" endY="0" endZ="30000"/>


<big_message title="ENCOUNTER AT FAR PORT" subtitle1="written by David Grounds"/>


<set_timer name="start_timer" seconds="10"/>

<log text="Starting\n\n"/>

</start>

<!-- ******************************************************************************************** -->

<event>
<if_variable name="briefing" comparator="!=" value="1"/>
<if_timer_finished name="start_timer"/>

<incoming_comms_text from="Admiral Grankov">
Captain, welcome to Far Port.^
This new Star Base has been placed on a strategic trade route.^
</incoming_comms_text>
<set_timer name="pause_timer" seconds="5"/>
<set_variable name="briefing" value="1"/>
</event>

<event>
<if_variable name="briefing2" comparator="!=" value="1"/>
<if_timer_finished name="pause_timer"/>

<incoming_comms_text from="Admiral Grankov">
And, it turns out, is very close to Skaraan space.^
We have reports of Skaraan raiders active in this sector.^
Protect the Cargo ships and Far Port.^ Good luck, Artemis!
</incoming_comms_text>
<set_variable name="briefing2" value="1"/>
</event>



<!-- ******************************************************************************************** -->
<!-- inhibit warp in the leftmost nebula -->
<event>
<if_inside_sphere name="Artemis" centerX="80000" centerY="0" centerZ="40000" radius ="6000"/>
<set_object_property name="Artemis" property="systemDamageWarp" value="10" />
</event>

<!-- ******************************************************************************************** -->

<!-- enemies in the bottom nebula -->
<event>
<if_variable name="bottom" comparator="!=" value="1"/>
<if_inside_sphere name="Artemis" centerX="60000" centerY="0" centerZ="60000" radius ="3000"/>

<create type ="enemy" hulltype="10" x="60000" y="0" z="60000" angle="0" name="KR01" fleetnumber="9"/>
<create type ="enemy" hulltype="10" x="60000" y="0" z="60500" angle="0" name="KR02" fleetnumber="9"/>
<create type ="enemy" hulltype="11" x="60000" y="0" z="61000" angle="0" name="KR03" fleetnumber="9"/>

<log text="Created fleet 9\n"/>
<set_variable name="bottom" value="1"/>
</event>


<!-- ******************************************************************************************** -->



<!-- ******************************************************************************************** -->
<!-- WINNING BY DOCKING CARGO SHIPS -->
<event>
<if_variable name="missionComplete" comparator="!=" value="1"/>
<if_inside_sphere name="Pyra Cargo" centerX="50000" centerY="0" centerZ="20000" radius ="1000"/>

<big_message title="MISSION SUCCESS"/>
<set_timer name="missionComplete_timer" seconds="10"/>
<set_variable name="missionComplete" value="1"/>

</event>

<event>
<if_variable name="missionComplete" comparator="!=" value="1"/>
<if_inside_sphere name="Roma Cargo" centerX="50000" centerY="0" centerZ="20000" radius ="1000"/>

<big_message title="MISSION SUCCESS"/>
<set_timer name="missionComplete_timer" seconds="10"/>
<set_variable name="missionComplete" value="1"/>

</event>

<!-- ******************************************************************************************** -->
<!-- WINNING THROUGH MILITARY -->
<event>
<if_variable name="missionComplete" comparator="!=" value="1"/>
<if_fleet_count fleetnumber="1" comparator="=" value="0"/>
<if_fleet_count fleetnumber="2" comparator="=" value="0"/>
<if_fleet_count fleetnumber="3" comparator="=" value="0"/>
<if_fleet_count fleetnumber="4" comparator="=" value="0"/>
<if_fleet_count fleetnumber="5" comparator="=" value="0"/>

<big_message title="MISSION SUCCESS"/>
<set_timer name="missionComplete_timer" seconds="10"/>
<set_variable name="missionComplete" value="1"/>

</event>


<event>
<if_variable name="missionComplete" comparator="=" value="1"/>
<end_mission/>
</event>


<!-- ******************************************************************************************** -->
<!-- FAILING THE GAME -->

<event>
<if_fleet_count fleetnumber="10" comparator="<=" value="0"/>

<big_message title="MISSION FAILED"/>
<set_timer name="missionComplete_timer" seconds="10"/>
<set_variable name="missionfailed" value="1"/>

</event>

<event>
<if_variable name="missionfailed" comparator="=" value="1"/>
<if_timer_finished name="missionComplete_timer"/>

<end_mission/>
</event>



<!-- ******************************************************************************************** -->

<!-- handle the 5th enemy fleet appearing just when you don't want it to -->

<event>
<if_variable name="fleet5Appears" comparator="!=" value="1"/>
<if_inside_sphere name="Artemis" centerX="50000" centerY="0" centerZ="50000" radius ="5000"/>

<create type ="enemy" hulltype="31" x="60000" y="0" z="20400" angle="0" name="SK06" fleetnumber="5"/>
<set_object_property name="SK06" property="eliteAIType" value="1"/>
<direct name="SK06" targetName="Far Port"/>

<incoming_comms_text from="ALIEN SWINE">
FOOLS! YOU HAVE INVADED OUR TERRITORY FOR THE LAST TIME!^
NOW YOU DIE!^
</incoming_comms_text>

<set_variable name="fleet5Appears" value="1"/>
</event>



<!-- ******************************************************************************************** -->
</mission_data>



"Damn the torpedoes! Four bells, Captain Drayton!"

(Likely actual words of Admiral David Farragut, USN, at the battle of Mobile Bay. Four bells was the signal for the engine room to make full steam ahead).
avatar
David said May 24, 2011 00:20:55
Thanks for that Mike - it's so easy to make tiny errors that wreck the whole thing.

My crew played the broken version on Saturday night - I hope they'll have a go at this fixed version.

Cheers
avatar
Mike_Substelny said Jun 06, 2011 17:06:00
No problem, David. I like the way you put "Mission Failed" on the main screen and plan to use it in another script I'm writing.
"Damn the torpedoes! Four bells, Captain Drayton!"

(Likely actual words of Admiral David Farragut, USN, at the battle of Mobile Bay. Four bells was the signal for the engine room to make full steam ahead).
Login below to reply: