[MOD] Manual Command Extension v0.20 (Updated : Jun 28, 2014)

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

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

User avatar
Cadius
Posts: 979
Joined: Fri, 5. Dec 08, 12:41
x3tc

Post by Cadius »

So guys, is there some way around the 'attack target' issue with the current version? How do you get your fleets to fight?
Berserk Knight
Posts: 398
Joined: Tue, 17. Dec 13, 01:34
x4

Post by Berserk Knight »

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. :S
Need to fix that.
User avatar
YorrickVander
Posts: 2774
Joined: Tue, 29. Oct 13, 21:59
x4

Post by YorrickVander »

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.
Sparky Sparkycorp
Moderator (English)
Moderator (English)
Posts: 8074
Joined: Tue, 30. Mar 04, 12:28
x4

Post by Sparky Sparkycorp »

If he BK gets the next update working for 2.1 I guess I shall have to try and wall off a non-updating 2.1 game for the future :)
Berserk Knight
Posts: 398
Joined: Tue, 17. Dec 13, 01:34
x4

Post by Berserk Knight »

I'll update the game and update MCE as well.

Except...

Code: Select all

[=ERROR=] aiscripts\player.default.xml(182): Too many interrupt handlers defined in AI script
This line has me VERY concerned.

Edit : Now updated.
User avatar
YorrickVander
Posts: 2774
Joined: Tue, 29. Oct 13, 21:59
x4

Post by YorrickVander »

I think the too many interrupts can happen in vanilla too, but not certain. And thanks BK :)
X Rebirth - A Sirius Cybernetics Corporation Product

Split irritate visiting pilot with strange vocal patterns.
User avatar
NZ-Wanderer
Posts: 1627
Joined: Thu, 5. Aug 04, 01:57
x4

Post by NZ-Wanderer »

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.
User avatar
YorrickVander
Posts: 2774
Joined: Tue, 29. Oct 13, 21:59
x4

Post by YorrickVander »

Same for me, other mods d/l ok but error box comes up on MCE.
X Rebirth - A Sirius Cybernetics Corporation Product

Split irritate visiting pilot with strange vocal patterns.
Berserk Knight
Posts: 398
Joined: Tue, 17. Dec 13, 01:34
x4

Post by Berserk Knight »

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.
User avatar
YorrickVander
Posts: 2774
Joined: Tue, 29. Oct 13, 21:59
x4

Post by YorrickVander »

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.
Berserk Knight
Posts: 398
Joined: Tue, 17. Dec 13, 01:34
x4

Post by Berserk Knight »

@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.)
Grottenolm
Posts: 5
Joined: Tue, 1. Jul 14, 08:33

Post by Grottenolm »

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?
Berserk Knight
Posts: 398
Joined: Tue, 17. Dec 13, 01:34
x4

Post by Berserk Knight »

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.
BlackRain
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 7466
Joined: Mon, 15. Dec 03, 18:53
x4

Post by BlackRain »

Can the Succellus and Balor ships now fire their main guns with MCE? I didn't realize you had fixed that?
Berserk Knight
Posts: 398
Joined: Tue, 17. Dec 13, 01:34
x4

Post by Berserk Knight »

v0.18
-New combat scripts.
It came with that update.

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)
Moderator (Script&Mod)
Posts: 7466
Joined: Mon, 15. Dec 03, 18:53
x4

Post by BlackRain »

Berserk Knight wrote:
v0.18
-New combat scripts.
It came with that update.

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.
User avatar
YorrickVander
Posts: 2774
Joined: Tue, 29. Oct 13, 21:59
x4

Post by YorrickVander »

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.
User avatar
YorrickVander
Posts: 2774
Joined: Tue, 29. Oct 13, 21:59
x4

Post by YorrickVander »

I lost my freighter escorts today with a *lot* of this spew in debug.log :

Code: Select all

[General] ======================================
[=ERROR=] Error in AI script mce.move.escort on entity 0x9A43D: Property lookup failed: $FirstRun
* Expression: $FirstRun
[General] ======================================
and

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] ======================================
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 :)
X Rebirth - A Sirius Cybernetics Corporation Product

Split irritate visiting pilot with strange vocal patterns.
BlackRain
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 7466
Joined: Mon, 15. Dec 03, 18:53
x4

Post by BlackRain »

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.
User avatar
YorrickVander
Posts: 2774
Joined: Tue, 29. Oct 13, 21:59
x4

Post by YorrickVander »

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.

Return to “X Rebirth - Scripts and Modding”