[Mod] Subsystem Targeting Orders

The place to discuss scripting and game modifications for X4: Foundations.

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

runekn
Posts: 29
Joined: Sun, 21. Mar 21, 19:24
x4

Re: [Mod] Subsystem Targeting Orders

Post by runekn » Mon, 12. Apr 21, 14:20

Can diff selection paths be improved? Trying to add elements to a script, but it breaks yours since it relies on indices.

For example this selection breaks if I add a <do_if> to <init>

Code: Select all

//aiscript/init/do_if[5]/set_value[@name='$squadorder']

Alkeena
Posts: 603
Joined: Tue, 15. May 07, 20:43
x4

Re: [Mod] Subsystem Targeting Orders

Post by Alkeena » Mon, 12. Apr 21, 16:49

runekn wrote:
Mon, 12. Apr 21, 14:20
Can diff selection paths be improved? Trying to add elements to a script, but it breaks yours since it relies on indices.

For example this selection breaks if I add a <do_if> to <init>

Code: Select all

//aiscript/init/do_if[5]/set_value[@name='$squadorder']
I can try to take a look at this, probably in a few days though as finding the time during the week can be a bit rough.

My recollection is that I had some difficulty identifying the appropriate xpath because the conditionals rely on string comparisons, which in turn means I would require three layers of quotation to reference it for a diff. Do you know how to escape quotes that works with Ego's parser? I tried simple \ escaping but it didn't do the trick.

runekn
Posts: 29
Joined: Sun, 21. Mar 21, 19:24
x4

Re: [Mod] Subsystem Targeting Orders

Post by runekn » Mon, 12. Apr 21, 17:17

Alkeena wrote:
Mon, 12. Apr 21, 16:49
Do you know how to escape quotes that works with Ego's parser? I tried simple \ escaping but it didn't do the trick.
Unfortuantly not. Only recently started modding myself.

Alkeena
Posts: 603
Joined: Tue, 15. May 07, 20:43
x4

Re: [Mod] Subsystem Targeting Orders

Post by Alkeena » Mon, 12. Apr 21, 17:35

runekn wrote:
Mon, 12. Apr 21, 17:17
Alkeena wrote:
Mon, 12. Apr 21, 16:49
Do you know how to escape quotes that works with Ego's parser? I tried simple \ escaping but it didn't do the trick.
Unfortuantly not. Only recently started modding myself.
Fair enough. Don't want to leave you in a lurch, and I really am being a bit of a bad citizen by referencing by index like that. I'll try to find the time tonight after work, but can't promise I'll be able to get it done.

runekn
Posts: 29
Joined: Sun, 21. Mar 21, 19:24
x4

Re: [Mod] Subsystem Targeting Orders

Post by runekn » Mon, 12. Apr 21, 19:19

Alkeena wrote:
Mon, 12. Apr 21, 17:35
runekn wrote:
Mon, 12. Apr 21, 17:17
Alkeena wrote:
Mon, 12. Apr 21, 16:49
Do you know how to escape quotes that works with Ego's parser? I tried simple \ escaping but it didn't do the trick.
Unfortuantly not. Only recently started modding myself.
Fair enough. Don't want to leave you in a lurch, and I really am being a bit of a bad citizen by referencing by index like that. I'll try to find the time tonight after work, but can't promise I'll be able to get it done.
Don't need to rush anything just for me :)
I can work around it.

runekn
Posts: 29
Joined: Sun, 21. Mar 21, 19:24
x4

Re: [Mod] Subsystem Targeting Orders

Post by runekn » Mon, 12. Apr 21, 21:52

We clash again!
You override the loadout submenu. I wanna override the loadout submenu.
Is there any way to make it work together?

Alkeena
Posts: 603
Joined: Tue, 15. May 07, 20:43
x4

Re: [Mod] Subsystem Targeting Orders

Post by Alkeena » Thu, 15. Apr 21, 01:18

Updated to 3.2:

* 3.2, 2021-04-14: Added clear turrets command and CN translation; Also improved xpath specificity to improve mod compatibility

Demonstration here: https://youtu.be/fpB0R7qzkwk

Alkeena
Posts: 603
Joined: Tue, 15. May 07, 20:43
x4

Re: [Mod] Subsystem Targeting Orders

Post by Alkeena » Thu, 15. Apr 21, 01:24

runekn wrote:
Mon, 12. Apr 21, 21:52
We clash again!
You override the loadout submenu. I wanna override the loadout submenu.
Is there any way to make it work together?
Sadly it would be very, very difficult. We'd both have to use Kuertee's mod (https://www.nexusmods.com/x4foundations/mods/552) as a dependency (which also limits distribution to Nexus), it would have to be updated to also recognize our mods explicitly, and even then if you wanted to touch the all turret dropdown it still would not work because the table can only be set in one place.

This is the issue with UI modding--it's not as flexible as XML modding.

Alkeena
Posts: 603
Joined: Tue, 15. May 07, 20:43
x4

Re: [Mod] Subsystem Targeting Orders

Post by Alkeena » Thu, 15. Apr 21, 01:33

monish_05m wrote:
Mon, 12. Apr 21, 08:14
Hello,
1). Is there a way to set priorities for multiple ships?
2). Do ships in fleet follow commanders behaviour?

Also, 1 request could you add just a basic target XL ship, target L and above, Target M and target M and below command as well.
Since ego turret behaviour is crap, I just want my ships to prioritize ships based on classes first and switch from high threat to low threat if no class is found.

Thanks for the mod.
1) Check here for a demonstration: https://youtu.be/fpB0R7qzkwk

2) Yep. If commander has been given attack subsystems it will propagate to all ships given the "attack" assignment.

WRT the rest I'll consider it but I've gotten about 2 dozen requests for different turret command variations. Trying to find a balance that works reasonably well. Also it's somewhat difficult to actually change "real" turret commands instead of providing an overlay in the "all turrets" category. I could do it, but it would complicate things a lot.

Alkeena
Posts: 603
Joined: Tue, 15. May 07, 20:43
x4

Re: [Mod] Subsystem Targeting Orders

Post by Alkeena » Thu, 15. Apr 21, 02:50

Alkeena wrote:
Thu, 15. Apr 21, 01:24
runekn wrote:
Mon, 12. Apr 21, 21:52
We clash again!
You override the loadout submenu. I wanna override the loadout submenu.
Is there any way to make it work together?
Sadly it would be very, very difficult. We'd both have to use Kuertee's mod (https://www.nexusmods.com/x4foundations/mods/552) as a dependency (which also limits distribution to Nexus), it would have to be updated to also recognize our mods explicitly, and even then if you wanted to touch the all turret dropdown it still would not work because the table can only be set in one place.

This is the issue with UI modding--it's not as flexible as XML modding.
Just a thought. You could make subsystem targeting a mandatory dependency for your mod, then just swap out the functions on your side. Setting dependencies forces the load order, so subsystem targeting would load first, then your mod would load, overwriting whatever I loaded--as long as you include my existing subsystem targeting components in whatever you touch then it *should* (I say that not having tried to load competing luas....) still work while allowing you to add whatever you need.

runekn
Posts: 29
Joined: Sun, 21. Mar 21, 19:24
x4

Re: [Mod] Subsystem Targeting Orders

Post by runekn » Thu, 15. Apr 21, 08:47

Alkeena wrote:
Thu, 15. Apr 21, 02:50
Alkeena wrote:
Thu, 15. Apr 21, 01:24
runekn wrote:
Mon, 12. Apr 21, 21:52
We clash again!
You override the loadout submenu. I wanna override the loadout submenu.
Is there any way to make it work together?
Sadly it would be very, very difficult. We'd both have to use Kuertee's mod (https://www.nexusmods.com/x4foundations/mods/552) as a dependency (which also limits distribution to Nexus), it would have to be updated to also recognize our mods explicitly, and even then if you wanted to touch the all turret dropdown it still would not work because the table can only be set in one place.

This is the issue with UI modding--it's not as flexible as XML modding.
Just a thought. You could make subsystem targeting a mandatory dependency for your mod, then just swap out the functions on your side. Setting dependencies forces the load order, so subsystem targeting would load first, then your mod would load, overwriting whatever I loaded--as long as you include my existing subsystem targeting components in whatever you touch then it *should* (I say that not having tried to load competing luas....) still work while allowing you to add whatever you need.
I guess I could distribute a separate version that is compatible with STO with that method. But I'll have to be attentive to any UI changes you make :| . I only need to change the docked/launched button for subordinates, so your turret controls will be untouched.

Also just FYI: adding dependency was not enough to get yours to load first. Had to set my lua loader md cue to trigger when yours was completed.

Alkeena
Posts: 603
Joined: Tue, 15. May 07, 20:43
x4

Re: [Mod] Subsystem Targeting Orders

Post by Alkeena » Thu, 15. Apr 21, 13:43

Updated to v3.2.1

* 3.2.1, 2021-04-15: Corrected CN translation file to remove invalid ampersand

Alkeena
Posts: 603
Joined: Tue, 15. May 07, 20:43
x4

Re: [Mod] Subsystem Targeting Orders

Post by Alkeena » Thu, 15. Apr 21, 15:36

runekn wrote:
Thu, 15. Apr 21, 08:47
Alkeena wrote:
Thu, 15. Apr 21, 02:50

Just a thought. You could make subsystem targeting a mandatory dependency for your mod, then just swap out the functions on your side. Setting dependencies forces the load order, so subsystem targeting would load first, then your mod would load, overwriting whatever I loaded--as long as you include my existing subsystem targeting components in whatever you touch then it *should* (I say that not having tried to load competing luas....) still work while allowing you to add whatever you need.
I guess I could distribute a separate version that is compatible with STO with that method. But I'll have to be attentive to any UI changes you make :| . I only need to change the docked/launched button for subordinates, so your turret controls will be untouched.

Also just FYI: adding dependency was not enough to get yours to load first. Had to set my lua loader md cue to trigger when yours was completed.
WRT 3.2.1: no changes to UI. (also I would recommend joining Ego's unofficial discord; it will make it easier to coordinate and try to figure out a more equitable path forward, I'm @Allectus there: https://discord.gg/2zsWzKQ )

Alkeena
Posts: 603
Joined: Tue, 15. May 07, 20:43
x4

Re: [Mod] Subsystem Targeting Orders

Post by Alkeena » Fri, 16. Apr 21, 05:02

runekn wrote:
Thu, 15. Apr 21, 08:47
I guess I could distribute a separate version that is compatible with STO with that method. But I'll have to be attentive to any UI changes you make :| . I only need to change the docked/launched button for subordinates, so your turret controls will be untouched.

Also just FYI: adding dependency was not enough to get yours to load first. Had to set my lua loader md cue to trigger when yours was completed.
With a not insubstantial amount of help from Forleyer I think I'm in a good spot to release to support Kuertee's UI mod compatibility layer as soon as it updates. I was even able to generalize it so that I wouldn't need to bifurcate the steam vs nexus releases by altering the load order based on whether or not Kuertee's UI mod was present or not: https://github.com/A11ectus/X4-Subsyste ... ralization

Code: Select all

(Optional) Kuertee's UI Extensions and HUD - https://www.nexusmods.com/x4foundations/mods/552 If present with version of 2.06 or greater the mod will load in a high compatibility mode making it less likely (though not immune) to conflict with other UI mods

Alkeena
Posts: 603
Joined: Tue, 15. May 07, 20:43
x4

Re: [Mod] Subsystem Targeting Orders

Post by Alkeena » Fri, 16. Apr 21, 13:46

Updated to 3.3:

* 3.3, 2021-04-16: Added optional check against Kuertee's UI Extension to allow for high compatibility mode to be triggered if present.

(Optional) If Kuertee's UI Extensions and HUD version 2.06 or higher is installed and enabled ( https://www.nexusmods.com/x4foundations/mods/552 ) the mod will load in a high compatibility mode making it less likely (though not immune) to conflict with other mods that touch the UI.

Edit: Big thank-you (again!) to Forleyor, who was again instrumental in enabling this.

Alkeena
Posts: 603
Joined: Tue, 15. May 07, 20:43
x4

Re: [Mod] Subsystem Targeting Orders

Post by Alkeena » Wed, 12. May 21, 03:09

V3.4 Released:

* 3.4, 2021-05-11: Added support for Wing Hotkeys Mod; Altered disable all targeting priority to target heavy turrets before light turrets. Altered the Line of Sight requirement for capital ships to NOT apply to carriers, so they may send their subordinates appropriately. Added attack all enemies as lowest priority targeting option for attack fighters turret commands. Lua refactored to unify library functions (thanks to runekn)

Alkeena
Posts: 603
Joined: Tue, 15. May 07, 20:43
x4

Re: [Mod] Subsystem Targeting Orders

Post by Alkeena » Thu, 13. May 21, 06:02

Released v3.5:

* 3.5, 2021-05-13: Significantly improved (fixed, really...) out of sector targeting performance. S/M ships and Carriers will now properly target appropriate subsystems in low attention mode. Other L/XL ships will instantly fail the line of sight check in low attention and cancel subsystem (but not station module) related orders--this seemed more reasonable then having destroyers instantly strip all subsystems without LOS or accuracy concerns.

Alkeena
Posts: 603
Joined: Tue, 15. May 07, 20:43
x4

Re: [Mod] Subsystem Targeting Orders

Post by Alkeena » Sat, 22. May 21, 08:28

Released version 3.5.1:

* 3.5.1, 2021-05-22: Corrected menu display error in German translation.

Ashitaka-san
Posts: 74
Joined: Sun, 28. Aug 05, 01:36
x4

Re: [Mod] Subsystem Targeting Orders

Post by Ashitaka-san » Sun, 4. Jul 21, 17:10

This looks really great and I look forward to trying it out soon!

May I ask, is there any way to get it so that the AI will prioritize the use of these? It would be great to have smaller AI ships prioritize taking out the shields / turrets / engines of large ships.

Baldamundo
Posts: 99
Joined: Sat, 21. Jun 08, 18:46
x4

Re: [Mod] Subsystem Targeting Orders

Post by Baldamundo » Sat, 26. Mar 22, 03:37

Anyone know if this still works in 5.0?

Post Reply

Return to “X4: Foundations - Scripts and Modding”