[MOD] Automated Emergency Jump - v2.17 (5 jan 2016) - Comp. 3.61 / 4.00 beta 4

The place to discuss scripting and game modifications for X Rebirth.

Moderators: Scripting / Modding Moderators, Moderators for English X Forum

Shazbot01
Posts: 30
Joined: Tue, 13. May 14, 01:29
x3tc

Post by Shazbot01 »

I gave beta 4.3 a spin, mod still has an annoying bug where NPC jump errors spam on player screen on 3.61 or beta 4.3, does not matter what NPC message settings are. Did you fix this bug in your WIP build?
bm01
Posts: 421
Joined: Wed, 22. Jul 09, 22:31
x4

Post by bm01 »

I never had this kind of error with the recent (and current) versions. I've let them running for a few days (and nights) on SETA, for me they are error free.

What's the exact error you're getting?

Did you install it on a plot game or with active missions? If yes, that isn't recommended and could produce errors (should no longer be the case for the next version though).

With the current information I have I can't say if the next version with fix your issues, but it's possible since vanilla script won't longer be modified (they will but no blocking action will be added to the <actions> node, much better for compatibility).

Don't hesitate to upload your save file, tell me the list of your mods, etc. It might help.
Shazbot01
Posts: 30
Joined: Tue, 13. May 14, 01:29
x3tc

Post by Shazbot01 »

Exact error:

This occurred 25 min into a new game (DeVries Freelancer start) on Hard on Beta 4.3, default NPC smart jump, changed player jump from smart to threshold almost exactly before it happened(?). I disabled Conquest and War before to see if that was the cause, error still happened.

AEJ: emergency jump
Aborted
Cmd: (pilot name)
Ship: SS Marauder Titurel
Zone: Forge-welded mail
Event name: null

I have seen similar errors for PMC, Split capital, Reaver, Xenon, Terran, AG, and HV ships.

Mod list (active):
AEJ 2.17
Devries Freelancer Start 0.10
Teladi DLC
Hud Only Cockpit 0.53
Less Highway Traffic 1.0
Cap Ship Bridge 2.40
Marine Rebalance 0.51 (nexus)
Small talk hack 0.01
Carriers 1.56
More Carriers 1.06
Fusion Reactors Optimized 1.01
No Steering Notification 3.00
NPCs gain XP 0.91
Multi Assign 1.55
Remove Boarding Cutscene 0.01
RevealThingZ 1.00
SideBar Extender 0.60
Silence you all 1.11
TAF! 1.20
bm01
Posts: 421
Joined: Wed, 22. Jul 09, 22:31
x4

Post by bm01 »

Oh that, it's a custom debug message I made. I thought you were talking about errors thrown by X Rebirth and shown in the debug window / text file. It's something I left behind because I expected people to report me this message, but since pretty much nobody did it's been there since quite some time. Basically I needed to know what ships could be involved in that error, if it affected only some zones or not...

When you see this message it means that a "base" script aborted AEJ's script(s), which led to the ship either not jumping or not waiting for repairs after a jump, and resuming it's original "vanilla" action. As far as I know, in the current version of AEJ, it only occurs with escorts when their leader changes zone, with "plunder" ships (NPC only) when their target changes zone and maybe with player owned scripts if the player gives them an order (only during an emergency jump or soon after it). So it's not really game breaking, just spammy at worst.

For AEJ, the fact that a script can so easily abort scripts that are on top of it is extremely annoying (done through <abort_called_scripts/> and <run_interrupt_script abortscripts="true"/>, both ignore script priorities). I mean, what's the point of an emergency jump if any previous script can abort it for whatever reason?

In order to prevent that I told myself I could just add checks everywhere, add extra conditions in the interrupt nodes of these scripts so that they don't abort mine for silly reasons... I experimented with that idea a while but I eventually abandoned it since it could break too easily after a patch (basically it would require me to check all files after each patch). Also I couldn't possibly do that for other mods (Conquest and War is one of them).

So I came with something else, and that something is forcing my scripts to resume themselves each time they're aborted by another one. It might seem very aggressive but it's actually quite tolerant (might not be the correct word but whatever). The base script is allowed to run its interrupt code (set / update some variables and all that) and to resume at any point it wants (which wasn't the case with my original idea). Then my script is simply restarted on top of that. There's no loss of instruction. The only danger I see would be infinite loops, but interrupts shouldn't be spammed in the first place anyway.

And this is one of the reasons why I'm rewriting a big part of AEJ (yes, that error will disappear with the next update). The other one is to make AEJ more easily compatible with other mods, currently a big chunk of code has to be added to custom scripts, and since it adds blocking actions (...), well, it sucks. With the next update, only this will be necessary:

Code: Select all

<interrupts>
  <handler ref="AEJ.handler"/>
<interrupts/>
I've pretty much finished it (the next update) but I still have some test to do. Also I'm trying to find out what I should do with player orders during an emergency jump (abort it or not, abort it everywhere or only for other ships in the same zone, etc.)

To conclude, you can still play with the current version, even though that message can sometimes get a little spammy it actually doesn't affect gameplay that much.

As for Conquest and War, it isn't entirely compatible, some NPC ships will simply not jump. This is something I can't fix on my end, but as I've said its developer will soon be able to add support for AEJ very easily if he wants to (one line to add to scripts that act as "entry points").

By the way, if you have a save file without AEJ, you might want to wait for the next version before installing it, otherwise it would have to reset / stop scripts to make your save compatible again. Usually it's not a big problem but it can be a hassle if you have a lot of ships.

I hope this answers your question(s).
Shazbot01
Posts: 30
Joined: Tue, 13. May 14, 01:29
x3tc

Post by Shazbot01 »

Yep questions answered, thanks. Also, new idea: Jump drive threshold. If jump drive hits ##%, captain should be like "Oh, right, the jump drive is our only ticket out of here, lets GTHO of dodge ASAP!"
Shazbot01
Posts: 30
Joined: Tue, 13. May 14, 01:29
x3tc

Post by Shazbot01 »

Another idea: Wait for recharge. Waits for shields to recharge to 100% (or separate threshold?) then resumes task.
bm01
Posts: 421
Joined: Wed, 22. Jul 09, 22:31
x4

Post by bm01 »

So I was getting close to release the next update (which was a complete rewrite for better performances, and better everything for short) when I saw this from the 4.00 beta 6 patch note.

Code: Select all

Added NPC flee and retreat maneuvers based on skills. 
I went to check, and "Retreat maneuvers" also means emergency jumps.

Their implementation is quite different than mine but it basically has the same goal, which means that this mod will soon replace an existing feature instead of adding a new one. Because of that I see no reason to keep it alive (for smartjump and configuration menu, at best) and probably won't even bother finishing my rewrite.

I would have liked to know about it earlier since that means I've spent the past week on this for pretty much nothing, but still, it's nice to see a mod feature being implemented to the game.

So yeah ¯\_(ツ)_/¯ I'll see if I can find an idea for a new mod, ideally one that has something to do with AI.
Shazbot01
Posts: 30
Joined: Tue, 13. May 14, 01:29
x3tc

Post by Shazbot01 »

I vote you give your mod another update, I like custom threshold jumps.

edit: And it would be very nice to be rid of those jump aborted nags :P
bm01
Posts: 421
Joined: Wed, 22. Jul 09, 22:31
x4

Post by bm01 »

I think I'll wait for 4.00 to be released, they might tweak / add some stuff until then.

Currently it's a little "clunky" in my opinion. For example I don't think it's good to have a ship waiting right at the beacon (after it jumped) until you give him another order (with AEJ I made them fly away, but even that was supposed to be a temporary solution). I also suspect NPC ships to immediately go back to action with their low hull / destroyed modules. Basically if it stays like this, it would be worth it to replace it I think.

I would really like to know what are their plans so that I don't have to either take risk of continuing working on it for nothing or being in this "standby" state. But eh.

Anyway, in the end it really depends on people liking or not the default behavior. Unfortunately I no longer get much feedback.


About the nags, I'm too lazy now to reupload it to the workshop. If you don't want to wait you can remove them yourself, you just have to open the biggest dat file and remove these lines (search with ctrl+f):

Code: Select all

<show_help custom="'AEJ: Emergency jump aborted\nCmd: %1\nShip: %2\nZone: %3\nEvent name: %4'.[this.name, this.ship.name, $previouszone.knownname, event.name]"/>
<write_to_logbook category="general" text="'AEJ: Emergency jump aborted\nCmd: %1\nShip: %2\nZone: %3\nEvent name: %4'.[this.name, this.ship.name, $previouszone.knownname, event.name]"/>
That should do it.
Archaeosis
Posts: 334
Joined: Sat, 3. May 14, 12:36
x4

Post by Archaeosis »

Your variant works a lot better than Egosoft's early one for the time being - hopefully they'll take a few cues from here, like adjustable jump-bias and the ships distancing themselves from jump-beacons. If what's in 4.00B6 now goes live with unchanged I'd certainly appreciate an update of the better implementation here, if you're keen.

The feedback thread on the beta forums might be of interest.
Shazbot01
Posts: 30
Joined: Tue, 13. May 14, 01:29
x3tc

Post by Shazbot01 »

I removed the lines you posted and the config icon has disappeared again :lol: .
bm01
Posts: 421
Joined: Wed, 22. Jul 09, 22:31
x4

Post by bm01 »

Archaeosis wrote:Your variant works a lot better than Egosoft's early one for the time being - hopefully they'll take a few cues from here, like adjustable jump-bias and the ships distancing themselves from jump-beacons. If what's in 4.00B6 now goes live with unchanged I'd certainly appreciate an update of the better implementation here, if you're keen.

The feedback thread on the beta forums might be of interest.
Thanks for the feedback and the link!
Shazbot01 wrote:I removed the lines you posted and the config icon has disappeared again :lol: .
Whoops, not sure why it happened. I have some free time today and will probably push the update then. I could just fix this and don't change anything else... But naaay.

Talking about ships distancing themselves after a jump, in 4.00 B6 (maybe since B5, I don't know) they no longer stop and they keep boosting away until they're repaired. Apparently NPC ships (both player owned and non player owned) no longer create temporary zones when moving between zones, and I was relying on that. I don't know if this is an issue (what happens if a ship goes too far away?) but in the next update they'll stop after about 75km or if they hit another zone.
Shazbot01
Posts: 30
Joined: Tue, 13. May 14, 01:29
x3tc

Post by Shazbot01 »

Any news on the next AEJ update?
bm01
Posts: 421
Joined: Wed, 22. Jul 09, 22:31
x4

Post by bm01 »

Sorry for the late answer. I'm currently moving AND applying for a visa, so I don't have much time unfortunately. I'll finish it as soon as I can.
swatti
Posts: 1278
Joined: Sun, 7. Dec 03, 12:03
x4

Post by swatti »

Soooo... This no longer works? With 4.0 release.
Lord Morpheus
Posts: 764
Joined: Thu, 15. Dec 05, 21:27
x3tc

Post by Lord Morpheus »

Hello.

May you please update your mod for 4.0? The fleeing behaviour egosoft implemented works fine for freighters but totally broke capships fights.

Return to “X Rebirth - Scripts and Modding”