[MOD] Manual Command Extension v0.20 (Updated : Jun 28, 2014)
Moderators: Scripting / Modding Moderators, Moderators for English X Forum
-
Berserk Knight
- Posts: 398
- Joined: Tue, 17. Dec 13, 01:34

Almost done with the new version.
Attack scripts are working nicely.
(AI can only be as smart as we teach it to be. I taught it to kill Targon Tracers first when attacking stations, go into siege mode when it has fixed mount weapons, pick a new target when the old one dies, stay near max range when it only has torpedoes...)
I've also had a breakthrough with the glitchy movement caused by in-zone boosting of capital ships.
(Several sets of scripts I've made had the exact same maneuver. While most of them glitched, this particular one never did. Figured out how to prevent it from happening.)
Fixed almost everything.
...Except for the "protect" part of the escort scripts which somehow broke.
Need to fix that.
Attack scripts are working nicely.
(AI can only be as smart as we teach it to be. I taught it to kill Targon Tracers first when attacking stations, go into siege mode when it has fixed mount weapons, pick a new target when the old one dies, stay near max range when it only has torpedoes...)
I've also had a breakthrough with the glitchy movement caused by in-zone boosting of capital ships.
(Several sets of scripts I've made had the exact same maneuver. While most of them glitched, this particular one never did. Figured out how to prevent it from happening.)
Fixed almost everything.
...Except for the "protect" part of the escort scripts which somehow broke.
Need to fix that.
-
YorrickVander
- Posts: 2774
- Joined: Tue, 29. Oct 13, 21:59

MCE doesn't appear to be a happy bunny in 2.20 public
on new game start :
Code: Select all
[General] ======================================
[=ERROR=] Cannot match path '/aiscript[@name='fight.attack.object.drone.leader']/attention[@min=visible]/do_while' in patch file 'extensions\ManualCommandExtension\aiscripts\fight.attack.object.drone.leader.xml'. Skipping node.
[General] ======================================
[General] ======================================
[=ERROR=] aiscripts\player.default.xml(182): Too many interrupt handlers defined in AI script
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.attack.bomber.xml(945): Script node 'stop_shooting' is not allowed in this context - minimum attention level is 'visible'.
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.attack.bomber.xml(946): Script node 'stop_shooting' is not allowed in this context - minimum attention level is 'visible'.
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.attack.bomber.xml(538): Script node 'stop_shooting' is not allowed in this context - minimum attention level is 'visible'.
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.attack.bomber.xml(935): Script node 'stop_shooting' is not allowed in this context - minimum attention level is 'visible'.
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.attack.bomber.xml(936): Script node 'stop_shooting' is not allowed in this context - minimum attention level is 'visible'.
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.attack.fighter.xml(840): Script node 'stop_shooting' is not allowed in this context - minimum attention level is 'visible'.
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.attack.fighter.xml(841): Script node 'stop_shooting' is not allowed in this context - minimum attention level is 'visible'.
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.attack.fighter.xml(500): Script node 'stop_shooting' is not allowed in this context - minimum attention level is 'visible'.
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.attack.fighter.xml(501): Script node 'stop_shooting' is not allowed in this context - minimum attention level is 'visible'.
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.attack.fighter.xml(830): Script node 'stop_shooting' is not allowed in this context - minimum attention level is 'visible'.
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.attack.fighter.xml(831): Script node 'stop_shooting' is not allowed in this context - minimum attention level is 'visible'.
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.defend.capital.xml(52): Required attribute 'name' is missing
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.defend.capital.xml(94): Required attribute 'name' is missing
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.defend.capital.xml(97): Required attribute 'name' is missing
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.defend.capital.xml(124): Required attribute 'name' is missing
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.defend.capital.xml(127): Required attribute 'name' is missing
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.defend.capital.xml(155): Error while parsing expression: Operator expected
* Input: not this.ship.hasrelation.enemy.{this.$MCE_PrimaryTarget} and this.$MCE_PrimaryTarget.owner == this.ship.owner)
* Pos: ^
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.defend.capital.xml(218): Required attribute 'groupname' is missing
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.defend.capital.xml(448): Required attribute 'name' is missing
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.defend.capital.xml(451): Required attribute 'name' is missing
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.defend.capital.xml(534): Required attribute 'name' is missing
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.defend.capital.xml(537): Required attribute 'name' is missing
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.defend.capital.xml(628): Required attribute 'groupname' is missing
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.defend.capital.xml(749): Required attribute 'name' is missing
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.fight.defend.capital.xml(752): Required attribute 'name' is missing
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.move.attack.xml(43): Warning while parsing expression: Unexpected identifier after isclass
* Input: this.ship.isclass.size_l or this.ship.isclass.size_xl
* Pos: ^^^^^^
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.move.attack.xml(43): Warning while parsing expression: Unexpected identifier after isclass
* Input: this.ship.isclass.size_l or this.ship.isclass.size_xl
* Pos: ^^^^^^^
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.move.eject.xml(45): Error while parsing expression: Operator expected
* Input: this.ship.sector != player.primaryship.sector)
* Pos: ^
[General] ======================================
[General] ======================================
[=ERROR=] LookupKeyName::LookupName(): The key name "signal_object" is not recognized in lookup 'ScriptXML'. Originated from: "extensions\ManualCommandExtension\aiscripts\mce.move.escort.fighter.capital.xml.(pck|xml)"
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.move.escort.fighter.capital.xml(90): Unknown action node: ''
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.move.escort.fighter.capital.xml(91): Required attribute 'group' is missing
[General] ======================================
[General] ======================================
[=ERROR=] LookupKeyName::LookupName(): The key name "signal_object" is not recognized in lookup 'ScriptXML'. Originated from: "extensions\ManualCommandExtension\aiscripts\mce.move.fleet.escort.xml.(pck|xml)"
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.move.fleet.escort.xml(57): Unknown action node: ''
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.move.fleet.escort.xml(58): Required attribute 'group' is missing
[General] ======================================
[General] ======================================
[=ERROR=] LookupKeyName::LookupName(): The key name "signal_object" is not recognized in lookup 'ScriptXML'. Originated from: "extensions\ManualCommandExtension\aiscripts\mce.move.fleet.vanguard.xml.(pck|xml)"
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.move.fleet.vanguard.xml(54): Unknown action node: ''
[General] ======================================
[General] ======================================
[=ERROR=] extensions\ManualCommandExtension\aiscripts\mce.move.fleet.vanguard.xml(55): Required attribute 'group' is missing
[General] ======================================
[General] ======================================
[=ERROR=] Error in MD cue md.MCE_Guidance.Update_MCE_Target: Evaluated value 'null' is not of type component
* Expression: global.$MCE_Target
[General] ======================================
[General] ======================================
[=ERROR=] Error in MD cue md.MCE_Guidance.BKMCE_MassSelection: Property lookup failed: global.$MCE_MassSelection
* Expression: @global.$MCE_MassSelection and global.$MCE_MassSelection.count
[General] ======================================
[General] ======================================
[=ERROR=] Error in MD cue md.MCE_Guidance.Update_MCE_MassSelection: Property lookup failed: global.$MCE_MassSelection
* Expression: global.$MCE_MassSelection
[General] ======================================
[General] ======================================
[=ERROR=] Error in MD cue md.MCE_Guidance.Update_MCE_MassSelection: Evaluated value 'null' is not of type group
* Expression: global.$MCE_MassSelection
[General] ======================================
X Rebirth - A Sirius Cybernetics Corporation Product
Split irritate visiting pilot with strange vocal patterns.
Split irritate visiting pilot with strange vocal patterns.
-
Berserk Knight
- Posts: 398
- Joined: Tue, 17. Dec 13, 01:34

I'll update the game and update MCE as well.
Except...
This line has me VERY concerned.
Edit : Now updated.
Except...
Code: Select all
[=ERROR=] aiscripts\player.default.xml(182): Too many interrupt handlers defined in AI scriptEdit : Now updated.
-
YorrickVander
- Posts: 2774
- Joined: Tue, 29. Oct 13, 21:59

-
NZ-Wanderer
- Posts: 1627
- Joined: Thu, 5. Aug 04, 01:57

Just thought I would mention that MCE - Manual Command Extension is throwing up an error when I try to download using the nexus manager or when I try to download it manually...
Link to the list of Mods working in X4-Foundations and also Link to the list of Mods working in X-Rebirth
NOTE: I play with a modded game, so any reports I make outlining suggestions/problems/bugs/annoyances, are made with mods installed and running.
NOTE: I play with a modded game, so any reports I make outlining suggestions/problems/bugs/annoyances, are made with mods installed and running.
-
YorrickVander
- Posts: 2774
- Joined: Tue, 29. Oct 13, 21:59

-
Berserk Knight
- Posts: 398
- Joined: Tue, 17. Dec 13, 01:34

Ugh, hold up. Don't use 0.19. Commands don't work. I'll fix and put up 0.20 soon.
Edit : ...Right now I'm wondering why I put some of the interrupt condition check blocks outside the check_any block it's supposed to be under when I consolidated 2 interrupt handlers. /facepalm
Edit2 : The glitchy booster movement is back too.
Edit3 : v0.20 is up.
Edit : ...Right now I'm wondering why I put some of the interrupt condition check blocks outside the check_any block it's supposed to be under when I consolidated 2 interrupt handlers. /facepalm
Edit2 : The glitchy booster movement is back too.
Edit3 : v0.20 is up.
-
YorrickVander
- Posts: 2774
- Joined: Tue, 29. Oct 13, 21:59

Just the one item popping up from 2.0 spew wise
Code: Select all
[General] ======================================
[=ERROR=] Error in MD cue md.MCE_Guidance.Update_MCE_Target: Evaluated value 'null' is not of type component
* Expression: global.$MCE_Target
[General] ======================================
X Rebirth - A Sirius Cybernetics Corporation Product
Split irritate visiting pilot with strange vocal patterns.
Split irritate visiting pilot with strange vocal patterns.
-
Berserk Knight
- Posts: 398
- Joined: Tue, 17. Dec 13, 01:34

@YorrickVander
Ignore that. The stupid script engine attempts to evaluate things only using values inside the same script, and just assumes it's going to stay that way the entire time.
It'll still spew errors even when something is used inside a do_if block that specifically checks if it has the right context to proceed.
(Or on the back end of a logic-and operator when it already checked for the right context just before that.)
Ignore that. The stupid script engine attempts to evaluate things only using values inside the same script, and just assumes it's going to stay that way the entire time.
It'll still spew errors even when something is used inside a do_if block that specifically checks if it has the right context to proceed.
(Or on the back end of a logic-and operator when it already checked for the right context just before that.)
-
Grottenolm
- Posts: 5
- Joined: Tue, 1. Jul 14, 08:33
I tried the Mod today, as the fleet management is driving me mad. I can see the improoved AI, as the Succelus is finally using its main gun now, but i have issues with the fleet commands.
If i make a mass selection and then give an mass order, only the ship i selected will do anything.
It seems i cannot appoint a fleet commander as well. Is the mod broken due to patches?
If i make a mass selection and then give an mass order, only the ship i selected will do anything.
It seems i cannot appoint a fleet commander as well. Is the mod broken due to patches?
-
Berserk Knight
- Posts: 398
- Joined: Tue, 17. Dec 13, 01:34

Fleet commander needs to be appointed through direct 1-on-1 comms.
With mass selection, please make sure that a) you actually have the ships you want to give the orders selected, and b) they are in your squad.
The MCE Mass Selection "mission" is made for 'a'. The ships currently selected will show up as mission targets.
For 'b', you can always order a "mass join squad" just to be sure.
With mass selection, please make sure that a) you actually have the ships you want to give the orders selected, and b) they are in your squad.
The MCE Mass Selection "mission" is made for 'a'. The ships currently selected will show up as mission targets.
For 'b', you can always order a "mass join squad" just to be sure.
-
BlackRain
- Moderator (Script&Mod)

- Posts: 7466
- Joined: Mon, 15. Dec 03, 18:53

-
Berserk Knight
- Posts: 398
- Joined: Tue, 17. Dec 13, 01:34

It came with that update.v0.18
-New combat scripts.
Combat movement script for capitals has a section dedicated to them.
It can get a bit wonky when there's more than about 10 crunched into a small area during the attack, but normally they keep their distance and snipe from range.
If there aren't many ships, it (probably) won't go wonky in the first place.
If there's enough ships for things to go wonky, the ones that are working right will (probably) be enough to kill the target. (Unless it's a Xenon I.)
If there's a lot of ships but they have formed a formation before attacking, now I almost feel sorry for...whatever their target happens to be.
On another note, if Drostans are fixed with Build Shipyards and are also using MCE combat scripts, they basically pwn capitals and stations.
(I've seen a Xenon I die very fast when about 20 Drostans started firing torpedoes at it.)
-
BlackRain
- Moderator (Script&Mod)

- Posts: 7466
- Joined: Mon, 15. Dec 03, 18:53

Berserk Knight wrote:It came with that update.v0.18
-New combat scripts.
Combat movement script for capitals has a section dedicated to them.
It can get a bit wonky when there's more than about 10 crunched into a small area during the attack, but normally they keep their distance and snipe from range.
If there aren't many ships, it (probably) won't go wonky in the first place.
If there's enough ships for things to go wonky, the ones that are working right will (probably) be enough to kill the target. (Unless it's a Xenon I.)
If there's a lot of ships but they have formed a formation before attacking, now I almost feel sorry for...whatever their target happens to be.
On another note, if Drostans are fixed with Build Shipyards and are also using MCE combat scripts, they basically pwn capitals and stations.
(I've seen a Xenon I die very fast when about 20 Drostans started firing torpedoes at it.)
Well that makes sense. 20 Torpedo bombers should be able to take out a Xenon I if it doesn't have fighters defending it.
-
YorrickVander
- Posts: 2774
- Joined: Tue, 29. Oct 13, 21:59

Odd thing with autopilot. I set 2 estercel sentinels to escort me and hit auto pilot. They stopped following me, and continued again as soon as I disengaged autopilot. Repeating the action gave identical results. No debug spew relevant to help pin down the reason.
X Rebirth - A Sirius Cybernetics Corporation Product
Split irritate visiting pilot with strange vocal patterns.
Split irritate visiting pilot with strange vocal patterns.
-
YorrickVander
- Posts: 2774
- Joined: Tue, 29. Oct 13, 21:59

I lost my freighter escorts today with a *lot* of this spew in debug.log :
and
both sections repeating a lot. The ships apparently jammed up defending the freighter crossing devries to ol.
EDIT : Not a mod breaking thing as they seem to have freed themselves and are now on their way to me again
Code: Select all
[General] ======================================
[=ERROR=] Error in AI script mce.move.escort on entity 0x9A43D: Property lookup failed: $FirstRun
* Expression: $FirstRun
[General] ======================================
Code: Select all
[General] ======================================
[=ERROR=] Error in AI script mce.fight.defend.capital on entity 0x42BAC: Property lookup failed: event.param
* Expression: this.ship.hasrelation.enemy.{event.param}
[General] ======================================
[General] ======================================
[=ERROR=] Error in AI script mce.fight.defend.capital on entity 0x42BAC: Property lookup failed: this.ship.hasrelation.enemy.{null}
* Expression: this.ship.hasrelation.enemy.{event.param}
[General] ======================================EDIT : Not a mod breaking thing as they seem to have freed themselves and are now on their way to me again
X Rebirth - A Sirius Cybernetics Corporation Product
Split irritate visiting pilot with strange vocal patterns.
Split irritate visiting pilot with strange vocal patterns.
-
BlackRain
- Moderator (Script&Mod)

- Posts: 7466
- Joined: Mon, 15. Dec 03, 18:53

I have noticed this since my mod world war x uses the Manual command extension scripts. These are the issues I have come across.
Sometimes escorting a ship will fail. The escorts won't follow or they won't follow right away. So the lead ship will lose the escorts.
Also, sometimes the escorts will not jump/boost/follow through a highway or gate because they "lose" who they are escorting (the script fails)
This happens even in my patrol script, sometimes the patrolling ship will fail to find another zone to patrol in and will continuously patrol the same zone until it doesn't fail to find a new one which could take a few cycles.
Sometimes some of the escorts will jump/boost with the lead ship but some wont and will try to follow with normal engines.
I have brought this to Berserk's attention before, at the time I hadn't done extensive testing and he told me not to worry about it. I have noticed, though, that at least 25% of the time, the scripts fail to do what they should. Ultimately they will do what they are supposed to so it isn't the end of the world but it would be nice if it worked all the time heh.
Sometimes escorting a ship will fail. The escorts won't follow or they won't follow right away. So the lead ship will lose the escorts.
Also, sometimes the escorts will not jump/boost/follow through a highway or gate because they "lose" who they are escorting (the script fails)
This happens even in my patrol script, sometimes the patrolling ship will fail to find another zone to patrol in and will continuously patrol the same zone until it doesn't fail to find a new one which could take a few cycles.
Sometimes some of the escorts will jump/boost with the lead ship but some wont and will try to follow with normal engines.
I have brought this to Berserk's attention before, at the time I hadn't done extensive testing and he told me not to worry about it. I have noticed, though, that at least 25% of the time, the scripts fail to do what they should. Ultimately they will do what they are supposed to so it isn't the end of the world but it would be nice if it worked all the time heh.
-
YorrickVander
- Posts: 2774
- Joined: Tue, 29. Oct 13, 21:59

I know BK doesn't worry about a lot of the debug spew, but in my experience it does have an effect. A failed lookup can prevent the rest of the cue from running as I saw a few times tweaking the vanilla ai for my trading mod.
X Rebirth - A Sirius Cybernetics Corporation Product
Split irritate visiting pilot with strange vocal patterns.
Split irritate visiting pilot with strange vocal patterns.

