Sign up Calendar Latest Topics
 
 
 


Reply
  Author   Comment  
Ingannatore

Registered:
Posts: 6
Reply with quote  #1 
Hi, I've started creating missions to play Artemis in a recreational association (a den of nerds and geeks, to be honest [biggrin]) and so far I've published my first mission (a simple one, for newbies).

While creating this mission, being a software engineer, I've come across some ideas to simplify the process.

Unique reference IDs for objects
As a general improvement, I would love to be able to use unique IDs as objects reference instead of their name.
<set_comms_button id="btn_broadcast_sec_id" text="Broadcast SEC-ID" sideValue="2" />


String variables
Useful to create, for example, a centralized "library" of messages, without having to search them inside all the file.
<set_variable name="MESSAGE_WELCOME" value="Welcome!" type="string" />


Delayed messages
Sends a COMMS message after a specified delay in seconds (default 0).
<incoming_comms_text from="DS-01" sideValue="2" type="STATION FRIEND" delay="30">
    Welcome!
</incoming_comms_text>


Enable/Disable COMMS buttons
A new boolean property to enable or disable a COMMS button without destroying it (default true).
<set_comms_button text="Broadcast SEC-ID" sideValue="2" enabled="0" />
<update_comms_button text="Broadcast SEC-ID" enabled="1" />


OR for conditionals
A composite condition group for two or more conditions that have to be evaluated in a boolean OR.
<if_or>
    <if_docked player_name="Artemis" name="DS-1" />
    <if_docked player_name="Artemis" name="DS-2" />
</if_or>


To be perfectly honest, I'd rather use a programming language (LUA, for example) rather than an XML file 😃
What do you guys think? I'll wait for your feedback.
Ingannatore

Registered:
Posts: 6
Reply with quote  #2 
Single-run events
A True/False boolean flag to identify events that have to run only once (default false); this could be useful to reduce the load on the server (expecially on very big missions/sandboxes).
<event name="Sector Build" single_run="1">...</event>


Scene management
A new tag to group events by scene; the server should evaluate events in the current scene only. This could be useful to reduce the load on the server (expecially on very big missions/sandboxes).
<start>
    <set_scene value="Chapter1" />
</start>
<scene name="Chapter1">
    <event>
        <!-- Conditions and other actions -->
        <set_scene value="Chapter2" />
    </event>
</scene>
<scene name="Chapter2">
    <event>
        <!-- Conditions and actions -->
    </event>
</scene>



Mike Substelny

Avatar / Picture

Administrator
Registered:
Posts: 2,115
Reply with quote  #3 
I love all of these ideas. We have been asking for most of them since mission scripting began.

I have used chapter variables (e.g. chapter = 1) but I've found they constrain a mission to being somewhat linear. Nevertheless your solution would be more elegant and clean.

It is quite possible that you will get your wish when Artemis 3.0 is released in 2020. Thom is considering changing the scripting to LUA or something similar.

__________________
"The Admiralty had demanded six ships; the economists offered four; and we finally compromised on eight."
- Winston Churchill
Previous Topic | Next Topic
Print
Reply

Quick Navigation:

Easily create a Forum Website with Website Toolbox.