Members | Sign In
All Forums > Mission Scripting
avatar

Mission Script Ref 1.46

posted Jun 05, 2011 04:11:55 by ThomRobertson
-----------------------------------------------------------------------------
GENERAL NOTES
The mission script system is designed to let anyone create, share, and play
game missions for Artemis. In the Artemis install folder, there's a subfolder
called 'Dat'. Inside that is another folder called 'Missions'.

Inside the Missions folder, each mission needs to have its own unique folder.
Each mission folder name must start with 'MISS_'.
Inside a mission folder must be 1 XML file. It must share the same exact name
as the folder it's inside, except for the .xml suffix. This file will contain
all the commands that make the mission happen. There may be other files in the
same folder. As a general rule, any sound, video, or image files that the
mission uses must be in the same folder as the XML file that references it.

When the Artemis game starts up, choose "Start Server". At that point, the
game will look inside the Missions subfolder and make a list of every folder
that starts with 'MISS_'. On the Server control screen you can select one of
those missions. If you do, you can still set the game difficulty. The diff
setting won't control the amount and type of enemies (the mission will do that),
but it will still control the enemy beam damage and the efficiency of the
Artemis' systems.

When you've chosen your mission (and other settings), click the 'Start Game'
button. As the game is initialized, the Artemis app will attempt to
open the chosen folder and read the XML file inside. It will read the entire
XML script into memory, and keep it in memory for the entire game.

The XML script should contain a single <start> block. At the start of
the mission, the commands in the start block will be immediately followed.

The XML script should also contain <event> blocks. These blocks should
contain both COMMAND and CONDITION blocks. For each event block, all
of its CONDITION blocks are checked. If they are all TRUE, then
all of the event's COMMAND blocks are immediately followed.

So, when you make a mission XML file, use one start block to create all
the initial conditions of the mission. Then use event blocks to trigger
parts of the story when they are supposed to occur.



-----------------------------------------------------------------------------
COMMAND: create (the command that creates named objects in the game)
ATTRIBUTE: type
VALID: station, player, enemy, neutral, anomaly
ATTRIBUTE: x
VALID: 0 to 100000
ATTRIBUTE: y
VALID: -100000 to 100000
ATTRIBUTE: z
VALID: 0 to 100000
ATTRIBUTE: name
VALID: text
ATTRIBUTE: hulltype
VALID: 0-? (corresponds to the unique hull ID in vesselData.xml)
ATTRIBUTE: angle
VALID: 0-360
ATTRIBUTE: fleetnumber
VALID: 1-99


-----------------------------------------------------------------------------
COMMAND: create (the command that creates UNnamed objects in the game)
ATTRIBUTE: type
VALID: nebulas, asteroids, mines

ATTRIBUTE: count
VALID: 0 to 500
ATTRIBUTE: radius
VALID: 0 to 100000
ATTRIBUTE: randomRange
VALID: 0 to 100000
ATTRIBUTE: startX
VALID: 0 to 100000
ATTRIBUTE: startY
VALID: -100000 to 100000
ATTRIBUTE: startZ
VALID: 0 to 100000
ATTRIBUTE: endX
VALID: 0 to 100000
ATTRIBUTE: endY
VALID: -100000 to 100000
ATTRIBUTE: endZ
VALID: 0 to 100000
ATTRIBUTE: randomSeed
VALID: 0 to big number
ATTRIBUTE: startAngle
VALID: 0 to 360
ATTRIBUTE: endAngle
VALID: 0 to 360


-----------------------------------------------------------------------------
COMMAND: destroy (the command that removes something named from the game)
ATTRIBUTE: name
VALID: text


-----------------------------------------------------------------------------
COMMAND: destroy_near (the command that removes unnamed objects from the game, if near a point)
ATTRIBUTE: type
VALID: nebulas, asteroids, mines
ATTRIBUTE: centerX
VALID: 0 to 100000
ATTRIBUTE: centerY
VALID: -100000 to 100000
ATTRIBUTE: centerZ
VALID: 0 to 100000
ATTRIBUTE: radius
VALID: 0 to 100000


-----------------------------------------------------------------------------
COMMAND: direct (the command that tells a neutral or enemy to go somewhere or fight something)
ATTRIBUTE: name
VALID: text

ATTRIBUTE: targetName
VALID: text

ATTRIBUTE: pointX
VALID: 0 to 100000
ATTRIBUTE: pointY
VALID: -100000 to 100000
ATTRIBUTE: pointZ
VALID: 0 to 100000

ATTRIBUTE: scriptThrottle
VALID: 0.0 to 1.0


-----------------------------------------------------------------------------
COMMAND: set_variable (makes or sets a named value)
ATTRIBUTE: name
VALID: text
ATTRIBUTE: value
VALID: 0 to big number

-----------------------------------------------------------------------------
COMMAND: set_timer (makes or sets a named timer)
ATTRIBUTE: name
VALID: text
ATTRIBUTE: seconds
VALID: 0 to big number


-----------------------------------------------------------------------------
COMMAND: incoming_message (creates a Comms button to play a media file on the main screen)
ATTRIBUTE: from
VALID: text
ATTRIBUTE: fileName (all media files belong in the mission subdirectory, alongside the mission script XML file)
VALID: text
ATTRIBUTE: mediaType
VALID: 0 (for OGG audio files)


-----------------------------------------------------------------------------
COMMAND: big_message (creates a chapter title on the main screen)
ATTRIBUTE: title
VALID: text
ATTRIBUTE: subtitle1
VALID: text
ATTRIBUTE: subtitle2
VALID: text

-----------------------------------------------------------------------------
COMMAND: end_mission (stops the mission)



-----------------------------------------------------------------------------
COMMAND: incoming_comms_text (sends a block of text to the Comms station)
ATTRIBUTE: from
VALID: text
BODY:
VALID: multiple lines of text

-----------------------------------------------------------------------------
COMMAND: log (sends text to the mission's log file)
ATTRIBUTE: text
VALID: text


-----------------------------------------------------------------------------
COMMAND: set_object_property (sets a named space object's named property to a value)
ATTRIBUTE: name
VALID: text
ATTRIBUTE: property
VALID: text (check the big list at the bottom of this file)
ATTRIBUTE: value
VALID: signed floating point value


-----------------------------------------------------------------------------
COMMAND: set_fleet_property (sets a numbered enemy fleet's named property to a value)
ATTRIBUTE: fleetIndex
VALID: 0-99
ATTRIBUTE: property
VALID: text (fleetSpacing, fleetMaxRadius)
ATTRIBUTE: value
VALID: signed floating point value

fleetSpacing is normally 150 - 600
fleetMaxRadius is normally 1000


-----------------------------------------------------------------------------
COMMAND: addto_object_property (adds a value to a named space object's named property)
ATTRIBUTE: name
VALID: text
ATTRIBUTE: property
VALID: text (check the big list at the bottom of this file)
ATTRIBUTE: value
VALID: signed floating point value


-----------------------------------------------------------------------------
COMMAND: copy_object_property (copies a named property from one named space object to another, name1 to name2)
ATTRIBUTE: name1
VALID: text
ATTRIBUTE: name2
VALID: text
ATTRIBUTE: property
VALID: text (check the big list at the bottom of this file)


-----------------------------------------------------------------------------
COMMAND: set_relative_position (moves one named space object (name2) to a point near another (name1), relative to name1's heading)
ATTRIBUTE: name1
VALID: text
ATTRIBUTE: name2
VALID: text
ATTRIBUTE: angle
VALID: 0 to 360
ATTRIBUTE: distance
VALID: 0 100000


-----------------------------------------------------------------------------
COMMAND: set_skybox_index (sets the skybox of the main screen to 0-9)
ATTRIBUTE: index
VALID: 0-9


-----------------------------------------------------------------------------
COMMAND: warning_popup_message (sends a very short message to the screens specified)
ATTRIBUTE: message
VALID: text
ATTRIBUTE: consoles
VALID: text, a collection of the letters MHWESCO, defining which console the message appears on







-----------------------------------------------------------------------------
CONDITION: if_inside_box (tests if named object is inside a rectangle in space)
ATTRIBUTE: name
VALID: text

ATTRIBUTE: leastX
VALID: 0 to 100000
ATTRIBUTE: leastZ
VALID: 0 to 100000
ATTRIBUTE: mostX
VALID: 0 to 100000
ATTRIBUTE: mostZ
VALID: 0 to 100000

-----------------------------------------------------------------------------
CONDITION: if_outside_box (tests if named object is outside a rectangle in space)
ATTRIBUTE: name
VALID: text

ATTRIBUTE: leastX
VALID: 0 to 100000
ATTRIBUTE: leastZ
VALID: 0 to 100000
ATTRIBUTE: mostX
VALID: 0 to 100000
ATTRIBUTE: mostZ
VALID: 0 to 100000


-----------------------------------------------------------------------------
CONDITION: if_inside_sphere (tests if named object is inside a sphere in space)
ATTRIBUTE: name
VALID: text

ATTRIBUTE: centerX
VALID: 0 to 100000
ATTRIBUTE: centerY
VALID: -100000 to 100000
ATTRIBUTE: centerZ
VALID: 0 to 100000
ATTRIBUTE: radius
VALID: 0 to 100000

-----------------------------------------------------------------------------
CONDITION: if_outside_sphere (tests if named object is outside a sphere in space)
ATTRIBUTE: name
VALID: text

ATTRIBUTE: centerX
VALID: 0 to 100000
ATTRIBUTE: centerY
VALID: -100000 to 100000
ATTRIBUTE: centerZ
VALID: 0 to 100000
ATTRIBUTE: radius
VALID: 0 to 100000


-----------------------------------------------------------------------------
CONDITION: if_distance (tests the distance between two named objects against a condition)
ATTRIBUTE: name1
VALID: text

ATTRIBUTE: name2
VALID: text

ATTRIBUTE: pointX
VALID: 0 to 100000
ATTRIBUTE: pointY
VALID: -100000 to 100000
ATTRIBUTE: pointZ
VALID: 0 to 100000

ATTRIBUTE: comparator
VALID: =, !=, <, >, <=, >=, EQUALS, NOT, GREATER, LESS, GREATER_EQUAL, LESS_EQUAL
ATTRIBUTE: value
VALID: signed floating point value


-----------------------------------------------------------------------------
CONDITION: if_variable (tests a named variable against a condition)
ATTRIBUTE: name
VALID: text
ATTRIBUTE: comparator
VALID: =, !=, <, >, <=, >=, EQUALS, NOT, GREATER, LESS, GREATER_EQUAL, LESS_EQUAL
ATTRIBUTE: value
VALID: signed floating point value



-----------------------------------------------------------------------------
CONDITION: if_fleet_count (tests an indexed fleet's membership count against a condition)
ATTRIBUTE: name
VALID: text
ATTRIBUTE: comparator
VALID: =, !=, <, >, <=, >=, EQUALS, NOT, GREATER, LESS, GREATER_EQUAL, LESS_EQUAL
ATTRIBUTE: value
VALID: signed floating point value
ATTRIBUTE: fleetnumber
VALID: 0-99

if you omit the fleetnumber, this command will count every enemy in the game

-----------------------------------------------------------------------------
CONDITION: if_docked (tests if a player is docked with a named station)
ATTRIBUTE: name
VALID: text


-----------------------------------------------------------------------------
CONDITION: if_timer_finished (tests if a timer has counted down to zero yet)
ATTRIBUTE: name
VALID: text


-----------------------------------------------------------------------------
CONDITION: if_exists (tests if named object exists right now)
ATTRIBUTE: name
VALID: text


-----------------------------------------------------------------------------
CONDITION: if_object_property (tests a named space object's named property against a condition)
ATTRIBUTE: name
VALID: text
ATTRIBUTE: name
VALID: property (check the big list at the bottom of this file)
ATTRIBUTE: comparator
VALID: =, !=, <, >, <=, >=, EQUALS, NOT, GREATER, LESS, GREATER_EQUAL, LESS_EQUAL
ATTRIBUTE: value
VALID: signed floating point value



-----------------------------------------------------------------------------
NOTE: Properties you can set, add, or test against:
// values for everything
positionX
positionY
positionZ
angle --this value will be in radians (0-2*PI), NOT degrees like every other angle in the scripting parser

// values for Stations
shieldState
canBuild
missileStoresHoming
missileStoresNuke
missileStoresMine

// values for ShieldedShips
throttle
steering
topSpeed
turnRate
shieldStateFront
shieldMaxStateFront
shieldStateBack
shieldMaxStateBack
shieldsOn
hullDamageFront
hullDamageBack
systemDamageBeam
systemDamageTorpedo
systemDamageTactical
systemDamageTurning
systemDamageImpulse
systemDamageWarp
systemDamageFrontShield
systemDamageBackShield
shieldBandStrength0
shieldBandStrength1
shieldBandStrength2
shieldBandStrength3
shieldBandStrength4

// values for Enemys
targetPointX
targetPointY
targetPointZ
hasSurrendered
eliteAIType
eliteAbilityBits
eliteAbilityState

// values for Neutrals
willAcceptCommsOrders

// values for Players
countHoming
countNuke
countMine
energy

// for use in member variable 'int eliteAbilityBits'
const int ELITE_INVIS_TO_MAIN_SCREEN = 1
const int ELITE_INVIS_TO_SCIENCE = 2
const int ELITE_INVIS_TO_TACTICAL = 4
const int ELITE_CLOAKING = 8
const int ELITE_HET = 16
const int ELITE_WARP = 32
const int ELITE_TELEPORT = 64

take the number of all the abilities you want the elite enemy to have, add them together, and that's the number you should set in eliteAbilityBits.

eliteAIType?
0 = behave just like a normal ship (hunt stations, unless a neutral or player is close)
1 = follow the nearest normal fleet around, attack the player when close
2 = ignore everything except players
[Last edited Jul 19, 2011 16:55:43]
Creator of Artemis
page   1 2 next last
26 replies
avatar
Vorus said Jun 07, 2011 01:24:01
Woah, I REALLY like the ability to post a message to a single console! That's got all KINDS of potential for coolness.
-----------
Khomerex nal Khesterex

The unofficial Artemis Wiki, your best source for Artemis Information
avatar
Mike_Substelny said Jun 08, 2011 01:48:24
Has anyone gotten the warning popup messages to work? I can't seem to get the syntax right.

First I tried it like any other command:

<warning_popup_message message=”Tachyon source in grid A6” consoles=”S”/>

That doesn't parse and subsequent commands are skipped. So then I formatted it like a Comms text message:

<warning_popup_message console=”S”> <-- DO NOT DO THIS!!!
Tachyon source in grid A6
</warning_popup_message>

The second code immediately crashed all of the consoles. Oops.
"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 Jun 08, 2011 02:45:35
Fixed it! The popup messages are great! Here is the command that worked:

<warning_popup_message message="Tachyon source in grid A6" consoles="S"/>

My problem was a silly one: somehow I picked up the wrong type of double quotation mark, probably because I was composing in Google Docs again.

"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
Vorus said Jun 08, 2011 18:26:32
I'm trying to get a fleet of neutral ships to go to "warp" speed for a few seconds and then drop out of warp. I've created a nav bouy that the player approaches, and when close enough the fleet jumps to warp, and a timer is set. Once that timer expires, the fleet goes back to normal speed.

However, it's not working. When you approach the bouy, it DOES trigger the fleet to go to warp speed, but they don't jump straight to top speed, which I find odd. But worse than that, they never drop out of warp. I've set the time from 5-20 seconds, and there's no change. Am I doing it wrong? Other timers I've made in the same mission work fine, but I don't get why this one isn't working.

Here's my code:

<!-- If the player gets close to the bouy, warp the fleet to that location. -->
<event>
<if_inside_sphere name="RIS ch'Rihan" centerX="87500" centerZ="47500" radius="1500"/>
<direct name="RIS cH'havran" pointX="87000" pointZ="47200" scriptThrottle="1.0"/>
<direct name="RIS cH'val" pointX="87100" pointZ="47300" scriptThrottle="1.0"/>
<direct name="RIS valatham" pointX="87000" pointZ="47300" scriptThrottle="1.0"/>
<direct name="RIS vastalam" pointX="87200" pointZ="47200" scriptThrottle="1.0"/>
<direct name="RIS Ralvana" pointX="87200" pointZ="47300" scriptThrottle="1.0"/>
<direct name="RIS silivar" pointX="87300" pointZ="47400" scriptThrottle="1.0"/>
<set_object_property name="RIS cH'havran" property="topSpeed" value="33.0" />
<set_object_property name="RIS cH'val" property="topSpeed" value="33.0" />
<set_object_property name="RIS valatham" property="topSpeed" value="33.0" />
<set_object_property name="RIS vastalam" property="topSpeed" value="33.0" />
<set_object_property name="RIS Ralvana" property="topSpeed" value="33.0" />
<set_object_property name="RIS silivar" property="topSpeed" value="33.0" />
<destroy name="Nav Bouy"/>
<set_timer name="Warp_timer" seconds="5"/>
</event>


<!-- reset the speed of the fleet -->
<event>
<if_timer_finished name="Warp_timer"/>
<set_object_property name="RIS cH'havran" property="topSpeed" value="0.5" />
<set_object_property name="RIS cH'val" property="topSpeed" value="0.5" />
<set_object_property name="RIS valatham" property="topSpeed" value="0.5" />
<set_object_property name="RIS vastalam" property="topSpeed" value="0.5" />
<set_object_property name="RIS Ralvana" property="topSpeed" value="0.5" />
<set_object_property name="RIS silivar" property="topSpeed" value="0.5" />
</event>




<EDIT>

Bah, I figured it out. I'm an idiot. I didn't have a variable around each event, so they keep getting checked, and the warp_timer is constantly reset to 5, so it never shuts off.
[Last edited Jun 08, 2011 18:33:02]
-----------
Khomerex nal Khesterex

The unofficial Artemis Wiki, your best source for Artemis Information
avatar
Vorus said Jun 08, 2011 19:42:53
Sorry for the double post...

Has anyone successfully used the "direct" command to make a ship head to a point instead of a target? When I do, I format it as follows:

<direct name="SS Juniper" pointX="90000" pointY="0" pointZ="13000"/>

And the ship will head that direction for a bit and then turn around and end up just circling around its point of origin.




<EDIT>

This still seems to happen when I give them a target instead of a point. I'm thinking this is related to the problem with fleet formations, since it is a whole fleet of ships that I am trying to direct. Mike, didn't you have that problem? Did you ever find a way to fix it? I'm going to try to give each ship a different fleet number and see if that helps.




<EDIT AGAIN>

Man, I'm cluttering up this thread...

But yeah, separating them by fleetNumber worked. I guess that's a heads up to anyone else who has this problem.
[Last edited Jun 08, 2011 20:29:22]
-----------
Khomerex nal Khesterex

The unofficial Artemis Wiki, your best source for Artemis Information
avatar
Mike_Substelny said Jun 10, 2011 16:55:21
Vorus, the problem I had was different from yours. Some of the enemy fleets I created would re-organize themselves as soon as they appeared. The problem was that the normal value of fleetMaxRadius is 1,000 so if I created a fleet in which the most distant ships were more than 1,000 apart every ship would turn to condense the fleet. I was trying to make an X formation that would use cruisers on the periphery to protect battleships and dreadnoughts in the center from nukes.

In previous versions of Artemis scripters could not change that, but now we can use set_fleet_property for fleetSpacing and fleetMaxRadius to change that. Thus we can put the enemies into broadly spaced "search party" fleets or tightly packed assault fleets.
"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
Vorus said Jun 22, 2011 15:11:08
Request: Thom, can you make this thread the main sticky instead of the 1.36 version? I keep looking for the new features to use them, and looking in the wrong thread. :P
-----------
Khomerex nal Khesterex

The unofficial Artemis Wiki, your best source for Artemis Information
avatar
Eric said Jun 27, 2011 03:17:13
Is there any way that I can make an OGG file just play without Comms having to push the button? I'm wanting to get an explosion sound after I overdrive the engines for thirty seconds. Also, it would be cool to have a bad guy "take over" the comm system.

ZZzztt "Greetings, Earthlings. You have stumbled into the most glorious Empire of the Kralien Consortium ruled by the Illustrious One, who cannot be named to those of lesser rank and file such as your species..." (continues to drone on in the background)

Cap: "Comms, where is that audio coming from?"

Comm: "No idea, sir. I can't shut it down."

Cap: "Engineering, can you cut power to Comms to see if we can cut this signal?"
avatar
Mike_Substelny said Jun 27, 2011 15:04:46
I agree, Eric. Mission scripts could benefit greatly from event triggered sound effects (OOG played on main screen not triggered by Comms) and visual effects (displaying customized DSX files on main screen). The ability to switch skyboxes is helpful, though it would be nice to be able to change the luminescence of the skybox on the fly. This coupled with a sound effect could simulate an enemy super weapon, travel through a worm hole, invaders coming in from the Mirror Universe, etc.

But customized DSX files might be difficult to implement. In that case a few scriptable visual effects would go a long way. An explosion (of scriptable size), a flash (of scriptable duration), and maybe a luminous ray between two points (of scriptable color) would allow mission script writers to simulate new weapons like the Romulan plasma torpedo, and new traps like the Tholian web.

Of course the visual effect would only have meaning if the crew were looking at an outside view on main screen. I have seen some captains who never use the outside view, pplaying the whole game on Long Range Scan. So it would be nice if the script could force the main screen to look forward, left, right, or rear.
[Last edited Jun 27, 2011 15:17:30]
"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 Jun 27, 2011 15:36:07
A question came up while I was scripting last night. If the conditions for two event blocks turn true at exactly the same time, is it possible to control which will execute first? Does their physical order in the XML file make any difference?

For example:
Event 1
Conditions of Timer 1 expired and Variable One = 1
Sends comms message "You puny humans must leave our territory immediately!"

Event 2 has conditions of Artemis positionY >50000 and Variable One = 1
Sends comms message "And stay out!"

What if the players do something unexpected, allowing the timer to run out and Artemis to cross positionY=50000 before Variable One = 1? If the events execute in their physical order then the alien messages still make sense. But if the events trigger in random order then sometimes the comms messages won't make sense.
[Last edited Jul 01, 2011 16:24:26]
"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
ThomRobertson said Jun 29, 2011 22:28:46
Well, my parser certainly processes the events in order, top to bottom. But I could see a situation where one event "shadows" another, setting a variable that keeps a higher event from ever triggering.
Creator of Artemis
avatar
TreChipman said Jul 03, 2011 21:26:43
Something I noticed last night that the scripting system could really use is the ability to add to a named variable-- exactly the same functionality as the addto_object_property command, but for variables. That would let us keep track of all sorts of cool things, like the number of colonists to rescue, number of infected crewmen aboard, number of widgets thusfar produced by foo, etc. Also, a way to display variables in popups, logs, big_message or comms text would be great, too (note that the combination of these two would allow us to add a scoring system to missions). Also, a pony.
[Last edited Jul 03, 2011 21:47:15]
I'm not a mad scientist. I'm an angry one. You'd be wise to fear the latter.

Visit Artemis Command!
avatar
Eric said Jul 03, 2011 22:17:46
My wife wholeheartedly agrees with the pony. :)

I also think it would be useful to be able to override the vessel data through a script. Specifically, I'd like to be able to change the damage rate of beams, torps, nukes, and mines through scripting. This would let the "overdrive weapon" option happen or allow a mega-powerful Kralien without having to build a whole new vessel.

Also, I'm having trouble changing the value of Artemis' shields to over 100 in the script. It's capping me at 100 even when I hard code it into the vessel file instead of trying to script it. I've been trying to debug my next mission and tried to set my shields and weapons at insane levels so I could just romp through the mission, but haven't been able to do so within the scripting language.

And it would be nice to be able to tell if Artemis is dead. I've played around with hull damage >= 100 or 99, but when Artemis dies, it doesn't trigger the event. Maybe a if_not_exist function? I even tried setting Artemis to a fleetnumber and then doing a if_fleet_count <= 0, but it did not work. I'm just wanting to stop the mission if Artemis is destroyed.

I've been playing with a Kralien neutral ship and then having it turn into an enemy. I've been destroying the neutral and creating an enemy in its place. This works fine if my neutral is stationary (then I know where to create the enemy), but it would be smoother to have a change_type function in the script language.

Finally, since we're script wish-listing, let me throw one more out there: the create your own button so captains can choose.

Just some thoughts as I'm sitting here scripting up a mission. Thanks Thom! You're awesome!
avatar
TreChipman said Jul 03, 2011 23:10:25
Re: the shields-- is it possible you're showing 100% shields, not x shield points?
I'm not a mad scientist. I'm an angry one. You'd be wise to fear the latter.

Visit Artemis Command!
avatar
Eric said Jul 04, 2011 02:31:09
Good call, I'll check. It's always the simple solution...

Edit: Yup, that's it.
[Last edited Jul 04, 2011 02:50:20]
Login below to reply: