There is always a sense of excitement before releasing a new version or major one, to say the list, but there is always a short list of "what I would have like to fix or enhance after this build" too.
After publishing the first Alpha build: v3.0.160 I started working on:
- Better documentation
- Prepare more demos based on scripts
- Revise how plugin register missions
- Fix bugs in v3.0.160 build.
This is a short list, but it can consume a lot of time to make it right.
Currently I'm working on fixing some aspects of the documentation, mainly the script part. Version v3.0.160 was not ready for script writing, from documentation point of view. I believe I nailed most of the issues, and I'm also working on a short scripting guide to make it easier to understand, unfortunately that does not mean that scripting is easy nor hard, it just a feature that needs to be approached carefully at first (it won't bite though). I strongly suggest to first work with the examples I'll upload, and then try your own.
The other big change I would like to implement in the next alpha build, is how the plugin reads missions and how many mission files can be defined in one folder, mainly: "{xp install}/Custom Scenery/missionx/{my mission folder}/briefer"
Currently you can only set one mission file per mission folder. The next build will solve this, by reading ALL xml files in the "briefer" folder, and any valid file with a briefer image will be registered and displayed. The benefits:
- A designer can share resources between different missions.
- Designer can create same mission with different difficulty levels (if he/she wishes).
Some words on scripting
Since scripting is based on MY-BASIC interpreter, it is advisable to read the reference guide. But, please do remember that we only need to write a short script to handle logic, and not to build a whole application using MY-BASIC.
The "MY-BASIC" scripting should only enhance the "Logic" part of the mission. We should use scripting for, but it is not limited to:
- Read Dataref values and make decisions.
- Affect Task state.
- Modify a Dataref.
- Send onetime message.
- Send messages or modify them.
- Monitor flight and maybe send feedback accordingly.
- Store a value across Objective tasks or goals.
- What ever you see feet as long as we won't hurt performance.
Some functionality might not be achieved without exposing the capability in the plugin (like modifying Dataref value). In such cases, contact me and send me a direct e-mail with request/suggestion for enhancement.
Until next time
Cheers
Saar