bunkerprivate wrote:OK this is a product of my learning the scripting language using Exscriptor: it seemed interrupts were optional on some commands and I don't use the command list to find them because it's too slow for me.
Ah, I see - yes, the commands themselves are interruptable. I could probably add in an option to enforce the use of the interrupt symbols if you think it would be useful? Then it would make the user aware that the command is interruptable but they also have the option to turn them off if they get annoying.
bunkerprivate wrote:That's weird because I'm sure I remember copying the script filename and pasting to the script name whenever I moved a script or saved it under a different name...
Sorry, you're quite right - I went back a few versions to check. I don't know at what point or why this changed, but it should work again now.
bunkerprivate wrote:Presumably they're supposed to be <RefObj>->, but I can't actually find any documentation for them, so maybe I'm wrong!
For the latter two, you're definitely right - you can tell by looking in the main language XML file (e.g. 440001.xml). It's also like that in the Exscriptor's command parameters XML file (which is the one it mostly uses - the text file is just for the script command list in the Object List). As for the first two, I'm pretty sure those are supposed to be RefObjs too, though the param types aren't shown in the language file.
bunkerprivate wrote:There are also a few which don't have '<RetVar> command' instead of '<RetVar>= command', though presumably this is to save typing.
Are these the <RetVar/IF> ones? I can't find any normal RetVars without equals. But yes, if I remember rightly, the IF ones don't have equals because otherwise it forced you to use the equals even if you were making it into a conditional and not an an assignment.
bunkerprivate wrote:Which my parser choked on due to additional angle brackets, but I can't find them documented so I don't know if it's a real command or a typeo.
Some of those are all correct - the single ">" one and the notoriety one. The merchant one was wrong (I've removed the ->). The last one I'm not sure about but I left the -> in. You can double check the first few by looking in the language XML or command param XML files, but the XML files tend not to show the arrows after RefObjs.
bunkerprivate wrote:There are some in the "New in 2.5" section where are duplicated elsewhere and some which are not. I think it's just the PHQ commands.
I think they're all duplicated actually (one's in the General commands). This was mostly for selfish reasons - I kept forgetting where they were when X3 2.5 came out so I kept them duplicated in a separate menu and I just never removed it.
bunkerprivate wrote:There are a number of typeos:
- var/stations seriall
- var/sting
- var/nmber
Well spotted - they're fixed now.
bunkerprivate wrote:Also, the type names are not case-consistent; eg you have Var/number and Var/Number.
Which file? I couldn't find these.
bunkerprivate wrote:- When saving a file that has compile errors, it would be nice if the errors were shown automatically, rather than having to manually press compile again. In fact, now that there are compile warnings it would be good to see that output on every save.
I've got it so it will highlight if errors are detected while saving. It still won't do this when saving as a text file though (since it doesn't run a compile then).
bunkerprivate wrote:- Infinite undo, or undo 'since last pause', ie when you last stopped typing. Kinda tricky, but my text editors do this ^^. Undo per-character makes 25 spaces a little low.
I've upped the limit to 50 but the way I do it is very primitive - I just copy the text each time and store it; therefore I'm loath to up it too much lest it eat loads of memory for huge scripts. One day I might find a better solution to this though.
bunkerprivate wrote:- Could do with a cancel button on the add/edit argument boxes.
Wish granted.
bunkerprivate wrote:- Report everything that conflicts in text files. At the moment it only reports that 'there is a conflict with X'. It would be nice to have 'X conflicts with Y'. The conflict checker is actually a really nice side-effect to this program.
I'll try to do something like this in a later version, since it's a more time-consuming task. The current functionality really is just a side effect - I had to load all the names and check whether they already existed anyway, so it was easy enough to tell the user too.

In the meantime I think Cycrow's plugin manager can check for conflicts too, though it might only be for plugin scripts.
bunkerprivate wrote:- Reload file from disk function for when you're working on a script in game and in the editor.
Done - added to the View menu. Hope it works properly...
bunkerprivate wrote:- When opening a file, check if it's already open and ask if it should be reloaded from disk.
Done as well. If you try to open an already opened file, you can either reload it or not, but it won't put it in a new tab any more.
bunkerprivate wrote:- When closing a file, go to the last used tab instead of the first tab.
Done.
bunkerprivate wrote:- When saving, start the 'save as...' box in the same directory as the file.
Good idea - done.
bunkerprivate wrote:- For loading, start the file chooser in the directory of the currently active tab (perhaps there could be an additional button for 'go to scripts directory? Same for above.).
I just use the built-in file dialogues, so it's not worth the effort of trying to add a new button, but as a consolation I've got it to start in the directory of the current script, just like with Save As.
bunkerprivate wrote:- At the moment, parameter names are lost when reloading a file so call script 'name': memorableName=$val becomes call script 'name': arg0=$val. It would be nice if the editor would substitude argX for the name of the parameter in the script that is being called.
This is something that should have worked long ago but never did, and I forgot to fix it. It's done now, so it uses the argument names as set out in the other script. This differs a little from the ingame editor which I think uses the argument descriptions instead (but those are a lot harder to parse...).
DesertEagle wrote:Alright, onto the problems. The script below saves just fine in your editor, but it doesn't refresh in my 2.5 steam install of X3 unless I start a new game. I've tried re-init'ing the script caches, to no avail. It stays stubbornly on the previous version (the one the X3 editor must have cached). Additionally, I've created two new files in your editor, and they refuse to appear in the X3 script editor at all, even when starting new games. Re-loading a save game doesn't clear the problem either.
I've never been 100% clear on how and when X3 loads its scripts. As
bunkerprivate said, normally you have to at least reload; usually I restart the whole game to make sure it's loading the new versions properly. Even then, I believe that ships/stations that are running scripts already when a game is saved will still be running old versions (but I may be wrong). Unfortunately there's not much I can do about any of this.
Your new scripts not showing up at all is a puzzle, though - do they show up once you reload the whole game (i.e. shut down X3 and restart it)? As I said, that's normally what I have to do to get it to pick them up. However, if you've done that and it's still not loading them, I don't know what to suggest; the only thing I can think of is that perhaps you have two files with the same script name - internally, X3 uses the script name (which is not the same as the filename) to display scripts, so it will only show one of them. Other than that, I don't know - sorry!
DesertEagle wrote:Changing the version number doesn't trigger the * asterisk in the title bar. Just a niggle.
I might not be able to fix your biggest problem but I can fix this one.
DesertEagle wrote:Finally, my error log keeps getting this error whenever I start your editor:
Sorry about that - I have this habit of introducing stupid bugs whenever I release a new version, and this was new in V1.017 I think. Anyway, I've fixed it now. There will doubtless be new bugs in V1.018, of course - it's traditional.
V1.018 is
here.