[MOD] Foundation of Conquest and War V. 7.2

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

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

Osbot
Posts: 108
Joined: Sun, 10. Jan 10, 19:49
x4

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by Osbot » Mon, 10. Dec 18, 04:02

Is this the issue? I searched the discord.

3:15 PM] Aftokinito (carmaster): the buildmodules have no ware requirements
[3:15 PM] Aftokinito (carmaster): they DO use wares to build
[3:15 PM] Aftokinito (carmaster): but they have no input wares
[3:16 PM] Aftokinito (carmaster): so the station manager won't buy what the shipyard needs to build
[3:16 PM] Aftokinito (carmaster): which is exactly the problem the xenon have
[3:16 PM] Aftokinito (carmaster): hence why the xenon don't actually use the shipyards
[3:16 PM] Aftokinito (carmaster): and they just outright spawn
[3:16 PM] Aftokinito (carmaster): I can fix all that crap too
[3:16 PM] Aftokinito (carmaster): it's gonna be a bit problematic since different ships require different wares
[3:17 PM] Aftokinito (carmaster): and some ships even have different ware requirements for different factions
3:17 PM] Aftokinito (carmaster): teladi ships only need teladianium if they are built by the teladi company IIRC
[3:17 PM] Aftokinito (carmaster): if they are built by that other teladi sect they use the default process
[3:17 PM] Aftokinito (carmaster): [=ERROR=] 93775.41 SHIPEPE5: TABLE: {"ship_arg_xl_carrier_01_a","ship_arg_xl_builder_01_a","ship_arg_l_miner_liquid_01_a","ship_arg_l_destroyer_01_a","ship_arg_m_trans_container_01_a","ship_arg_m_trans_container_02_a","ship_arg_l_trans_container_05_a","ship_arg_l_trans_container_04_a","ship_arg_l_trans_container_03_a","ship_arg_l_trans_container_02_a","ship_arg_l_trans_container_01_a","ship_par_xs_police_01_a","ship_arg_m_miner_liquid_01_a","ship_tfm_xl_carrier_01_a","ship_arg_m_miner_solid_01_a","ship_arg_s_heavyfighter_02_a","ship_arg_s_trans_container_02_a","ship_arg_s_trans_container_01_a","ship_arg_s_fighter_04_a","ship_arg_s_fighter_01_a","ship_arg_s_fighter_02_a","ship_arg_s_scout_01_a","ship_arg_s_miner_solid_01_a","ship_arg_m_frigate_01_a","ship_arg_m_bomber_01_a","ship_arg_l_miner_solid_01_a"}
[3:17 PM] Aftokinito (carmaster): those look like wares to me
[3:18 PM] Aftokinito (carmaster): I need to filter the crap that is not of the correct size

?

BlackRain
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 7411
Joined: Mon, 15. Dec 03, 18:53
x4

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by BlackRain » Mon, 10. Dec 18, 04:06

Osbot wrote:
Mon, 10. Dec 18, 04:02
Is this the issue? I searched the discord.

3:15 PM] Aftokinito (carmaster): the buildmodules have no ware requirements
[3:15 PM] Aftokinito (carmaster): they DO use wares to build
[3:15 PM] Aftokinito (carmaster): but they have no input wares
[3:16 PM] Aftokinito (carmaster): so the station manager won't buy what the shipyard needs to build
[3:16 PM] Aftokinito (carmaster): which is exactly the problem the xenon have
[3:16 PM] Aftokinito (carmaster): hence why the xenon don't actually use the shipyards
[3:16 PM] Aftokinito (carmaster): and they just outright spawn
[3:16 PM] Aftokinito (carmaster): I can fix all that crap too
[3:16 PM] Aftokinito (carmaster): it's gonna be a bit problematic since different ships require different wares
[3:17 PM] Aftokinito (carmaster): and some ships even have different ware requirements for different factions
3:17 PM] Aftokinito (carmaster): teladi ships only need teladianium if they are built by the teladi company IIRC
[3:17 PM] Aftokinito (carmaster): if they are built by that other teladi sect they use the default process
[3:17 PM] Aftokinito (carmaster): [=ERROR=] 93775.41 SHIPEPE5: TABLE: {"ship_arg_xl_carrier_01_a","ship_arg_xl_builder_01_a","ship_arg_l_miner_liquid_01_a","ship_arg_l_destroyer_01_a","ship_arg_m_trans_container_01_a","ship_arg_m_trans_container_02_a","ship_arg_l_trans_container_05_a","ship_arg_l_trans_container_04_a","ship_arg_l_trans_container_03_a","ship_arg_l_trans_container_02_a","ship_arg_l_trans_container_01_a","ship_par_xs_police_01_a","ship_arg_m_miner_liquid_01_a","ship_tfm_xl_carrier_01_a","ship_arg_m_miner_solid_01_a","ship_arg_s_heavyfighter_02_a","ship_arg_s_trans_container_02_a","ship_arg_s_trans_container_01_a","ship_arg_s_fighter_04_a","ship_arg_s_fighter_01_a","ship_arg_s_fighter_02_a","ship_arg_s_scout_01_a","ship_arg_s_miner_solid_01_a","ship_arg_m_frigate_01_a","ship_arg_m_bomber_01_a","ship_arg_l_miner_solid_01_a"}
[3:17 PM] Aftokinito (carmaster): those look like wares to me
[3:18 PM] Aftokinito (carmaster): I need to filter the crap that is not of the correct size

?
That does not sound right to me. The shipyards are clearly buying the correct wares, which is defined in WARES not by the buildmodule itself. The buildmodule builds the "ware" itself but the ware is defined in the wares file (the ship itself is defined as a ware with what is required to build it). It worked the same way in Rebirth. It sounds like he may be talking about his own shipyard mod he is trying to make.

If he's doing what I think he is trying to do, it would be better for him to create new wares for each of the ships he wants to build in his shipyard with whatever requirements in resources he wants and then add all the new wares to his buildmodule

Osbot
Posts: 108
Joined: Sun, 10. Jan 10, 19:49
x4

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by Osbot » Mon, 10. Dec 18, 04:11

Right, but what he is saying is, the Xenon don't have an input ware, so they are not actually building ships at their stations. Instead he has come to the conclusion that the MD is spawning Xenon ships.

I edited my save to make me allied to the Xenon, flew out to one of their shipyards, reloaded the game with a modified jobs.xml that gave them a bunch more ships. So far they are not building any. However I'm led to believe they might be getting more because there are more around than when I arrived.

I'm not sure. It just seems like the Xenon are not building ships, and thats what he came up with. MD is spawning them, because they don't have an input ware.

BlackRain
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 7411
Joined: Mon, 15. Dec 03, 18:53
x4

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by BlackRain » Mon, 10. Dec 18, 04:15

Osbot wrote:
Mon, 10. Dec 18, 04:11
Right, but what he is saying is, the Xenon don't have an input ware, so they are not actually building ships at their stations. Instead he has come to the conclusion that the MD is spawning Xenon ships.

I edited my save to make me allied to the Xenon, flew out to one of their shipyards, reloaded the game with a modified jobs.xml that gave them a bunch more ships. So far they are not building any. However I'm led to believe they might be getting more because there are more around than when I arrived.

I'm not sure. It just seems like the Xenon are not building ships, and thats what he came up with. MD is spawning them, because they don't have an input ware.
Currently NO SHIPS are being built, at all. This includes Xenon, Argon, etc. This is clearly a bug. It isn't specific to the Xenon and the Xenon are definitely not being spawned.

Also, xenon ships clearly have resources needed

Code: Select all

<ware id="ship_xen_m_fighter_01_a" name="{20101,70301}" description="{20101,70311}" group="ships_xenon" transport="ship" volume="1" tags="ship">
    <price min="33414" average="39310" max="45207" />
    <production time="17" amount="1" method="default" name="{20206,601}">
      <primary>
        <ware ware="energycells" amount="94" />
        <ware ware="ore" amount="79" />
        <ware ware="silicon" amount="79" />
      </primary>
    </production>
    <component ref="ship_xen_m_fighter_01_a_macro" amount="1" />
    <restriction licence="militaryship" />
    <owner faction="xenon" />
  </ware>

CptAWatts
Posts: 116
Joined: Sun, 16. Aug 09, 23:22
x3tc

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by CptAWatts » Mon, 10. Dec 18, 04:22

Someone mentioned that perhaps the Factions don't have the required licenses to build their own ships. Not sure if that's something you've looked at?

BlackRain
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 7411
Joined: Mon, 15. Dec 03, 18:53
x4

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by BlackRain » Mon, 10. Dec 18, 04:24

CptAWatts wrote:
Mon, 10. Dec 18, 04:22
Someone mentioned that perhaps the Factions don't have the required licenses to build their own ships. Not sure if that's something you've looked at?
I haven't but u dont need a license for small ships, they aren't building those either lol

CptAWatts
Posts: 116
Joined: Sun, 16. Aug 09, 23:22
x3tc

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by CptAWatts » Mon, 10. Dec 18, 04:25

True. Any way to spawn them in and have the station consume the wares?

Osbot
Posts: 108
Joined: Sun, 10. Jan 10, 19:49
x4

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by Osbot » Mon, 10. Dec 18, 05:14

Have they ever been building them? 1.0 1.10 1.20?

sulu244
Posts: 25
Joined: Wed, 5. Dec 18, 02:07
x4

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by sulu244 » Mon, 10. Dec 18, 06:09

Osbot wrote:
Mon, 10. Dec 18, 05:14
Have they ever been building them? 1.0 1.10 1.20?
I don't believe so, but I may be wrong.

TR0LL
Posts: 45
Joined: Tue, 6. Jan 04, 04:12
x4

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by TR0LL » Mon, 10. Dec 18, 08:22

BlackRain wrote:
Mon, 10. Dec 18, 04:15

Currently NO SHIPS are being built, at all. This includes Xenon, Argon, etc. This is clearly a bug. It isn't specific to the Xenon and the Xenon are definitely not being spawned.

Is this verified? If so damn, that's basically game-breaking and means there is little to no point in playing until they fix it.

aerojet029
Posts: 78
Joined: Tue, 20. Aug 13, 14:36
x4

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by aerojet029 » Mon, 10. Dec 18, 09:02

This is probably the source of the bug which kills late game saves and stalls out the war missions. because it seems that wares are being made just fine and the shipyards seem to stock themselves full of wares
BlackRain wrote:
Mon, 10. Dec 18, 03:21
Anyone find which scripts handles ordering ships to be built? I can't seem to find it.
/aiscripts/build.shiptrader.xml

not sure if this is what you are looking for; Iam terrible at reading code, but anything i can do possibly help I want to do.

Code: Select all

<?xml version="1.0" encoding="utf-8" ?>
<aiscript name="build.shiptrader" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="aiscripts.xsd" >
  <!--
  
  Management script to process build orders in a shipyard and deal with ship repair requests
   
  Autor: Adrian / Owen
  
  -->
  <interrupts>
    <handler>
      <conditions>
        <check_any>
          <event_object_docked_at container="this.object"/>
          <event_object_dock_unassigned_from container="this.object" comment="This could be improved with additional check, but does not happen very often" />
          <event_build_added object="this.object" />
          <event_build_finished object="this.object"/>
        </check_any>
      </conditions>
      <actions>
        <do_all chance="$debugchance">
          <do_if value="typeof event.param == datatype.component">
            <debug_text text="player.age + ' interrupted by %1 (param %2 - %3)'.[event.name, event.param, @event.param.knownname]" />
          </do_if>
          <do_else>
            <debug_text text="player.age + ' interrupted by %1 (param %2)'.[event.name, event.param]" />
          </do_else>
        </do_all>
        <do_if value="event.name == 'event_build_finished'">
          <set_value name="$buildprocessor" exact="event.param"/>
          <set_value name="$object" exact="$buildprocessor.buildanchor"/>
          <do_if value="$object">
            <do_if value="event.param3.exists and $object.isclass.ship">
              <!--TODO @Owen check if unable to add a certain amount of crew. Refund?-->
              <!--TODO @Owen $entityrole.tiers.count, $entityrole.tiers.{$i}.min, $entityrole.tiers.{$i}.max, $entityrole.tiers.{$i}.name, $entityrole.tier.{$value}-->
              <!--TODO @Owen transfer people at start of the build? This stops someone stealing crew just before a build finishes. Also gives 2 chances to add people, at the start and at the end-->
              <transfer_people build="event.param3"/>
              <do_if value="event.param3.construction">
                <!--Ship was created by this build task-->
                <do_if value="$object.isplayerowned">
                  <!--Use shipyard owner to find a suitable pilot/commander-->
                  <set_value name="$select_owner" exact="this.owner"/>
                </do_if>
                <do_else>
                  <set_value name="$select_owner" exact="$object.owner"/>
                </do_else>
                <create_control_entity object="$object" post="controlpost.aipilot">
                  <select faction="$select_owner" tags="controlpost.aipilot.tag"/>
                  <owner exact="$object.owner"/>
                </create_control_entity>
                <do_if value="$object.canhavecontrolentity.{controlpost.defence}">
                  <create_control_entity object="$object" post="controlpost.defence">
                    <select tags="controlpost.defence.tag"/>
                    <owner exact="$object.owner"/>
                  </create_control_entity>
                </do_if>
                <do_if value="$object.canhavecontrolentity.{controlpost.engineer}">
                  <create_control_entity object="$object" post="controlpost.engineer">
                    <select tags="controlpost.engineer.tag"/>
                    <owner exact="$object.owner"/>
                  </create_control_entity>
                </do_if>
                
                <create_ai_unit object="$object" />
              </do_if>
              <do_elseif value="event.param3.base and event.param3.isshipbuild and $object.isjobship">
                <!--Ship was not created by this build task and it is a waiting job ship. Assume that is already has everything it needs to perform its job. -->
                <activate_waiting_job_ship ship="$object"/>
                <do_if value="$object.isrequestedjobship">
                  <set_requested_job_ship_timeout ship="$object" timeout="player.age + 1h" comment="fallback timeout"/>
                  <signal_objects object="$object" param="'build.shiptrader'" param2="'requested_ship_built'"/>
                </do_if>
                <do_else>
                  <create_order object="$object" id="'RestockSubordinates'">
                    <param name="init" value="true"/>
                    <param name="debugchance" value="$debugchance"/>
                  </create_order>
                </do_else>
              </do_elseif>
              <do_elseif value="event.param3.base and event.param3.isupgrade">
                <!--Ship was upgraded-->
                <!--TODO @Owen @Nick check that non-player ships handle waiting for their upgrade properly before resuming orders-->
              </do_elseif>
              <do_else>
                <assert value="false" break="1" text="'Unhandled build case. Ship ' + $object + ' ' + $object.knownname + ' build via buildprocessor ' + $buildprocessor + ' on ' + this.object.knownname"/>
              </do_else>
            </do_if>
            <clear_build buildprocessor="$buildprocessor"/>
          </do_if>
        </do_if>

        <abort_called_scripts resume="loop"/>
      </actions>
    </handler>
    <handler>
      <conditions>
        <check_any>
          <check_all>
            <!-- signal sent from order.repair or menu_ship_configuration -->
            <!-- param = "'repairs_initiate'", param2 = $shiptoberepaired, param3 = [hullpercent(int), damagedcomponents(list)] -->
            <event_object_signalled object="this.station" param="'repairs_initiate'"/>
            <check_value value="event.param2 and event.param2.isoperational and (@event.param2.dock.container == this.station)"/>
          </check_all>
          <check_all>
            <event_object_docked group="global.$PlayerOccupiedShipGroup" dock="this.station"/>
            <check_value value="(@event.object.orders.{1}.id == 'Repair') and (event.object.orders.{1}.$destination == this.station)"/>
          </check_all>
        </check_any>
      </conditions>
      <actions>
        <do_if value="event.name == 'event_object_signalled'">
          <set_value name="$locship" exact="event.param2"/>
          <set_value name="$lochullpercent" exact="@event.param3.{1}"/>
          <set_value name="$locdamagedcomponents" exact="@event.param3.{2}"/>
        </do_if>
        <do_else>
          <set_value name="$locship" exact="event.object"/>
          <set_value name="$lochullpercent" exact="event.object.orders.{1}.$hullpercent"/>
          <set_value name="$locdamagedcomponents" exact="event.object.orders.{1}.$damagedcomponents"/>
        </do_else>

        <debug_text text="'received signal to repair %s %s %s to %s. %s components to repair'.[$locship.idcode, $locship.knownname, $locship, $lochullpercent, $locdamagedcomponents.count]" chance="$debugchance"/>
        <do_if value="$lochullpercent gt $locship.hullpercentage">
          <restore_object object="$locship" recursive="true" hull="$lochullpercent"/>
          <debug_text text="'repairing the hull of %s %s %s: %s %s'.[$locship.idcode, $locship.knownname, $locship, $lochullpercent, $locdamagedcomponents]" chance="$debugchance"/>
        </do_if>
        <do_all exact="$locdamagedcomponents.count" counter="$i">
          <set_object_hull object="$locdamagedcomponents.{$i}" exact="100"/>
          <debug_text text="'repairing the %s of %s %s'.[$locdamagedcomponents.{$i}.knownname, $locship.idcode, $locship.knownname, $locship]" chance="$debugchance"/>
        </do_all>
        <signal_objects object="$locship" param="'repairs_done'"/>

        <do_if value="event.name == 'event_object_docked'">
          <cancel_order order="event.object.orders.{1}"/>
        </do_if>
        <remove_value name="$locdamagedcomponents"/>
        <remove_value name="$lochullpercent"/>
        <remove_value name="$locship"/>
      </actions>
    </handler>
  </interrupts>
  <init>
    <set_value name="$debugchance" exact="0" />
  </init>
  <attention min="unknown">
    <actions>

      <do_if value="not this.object.canequipships">
        <debug_text text="'attempting to run shipyard script on non-shipyard! object %1 (on zone %2). Wrong Shipyard setup?'.[this.object.knownname, this.object.zone.knownname]" />
        <return />
      </do_if>

      <label name="loop" />

      <!-- Process new order -->
      <set_value name="$builds" exact="this.object.builds.queued"/>
      <do_if value="$builds.count">
        <!-- Check the free build processors -->
        <set_value name="$buildprocessors" exact="this.object.freebuildprocessors" />
        <!-- iterate in reverse as order does not matter and it's much easier to remove entries from the list that way -->
        <do_all exact="$buildprocessors.count" counter="$i" reverse="true" >
          <set_value name="$buildprocessor" exact="$buildprocessors.{$i}"/>
          <set_value name="$buildmodule" exact="$buildprocessor.buildmodule"/>
          <!-- Check that the buildmodule this processor is attached to is functional -->
          <do_if value="$buildmodule.isfunctional">
            <do_all exact="$builds.count" counter="$j" reverse="true">
              <set_value name="$build" exact="$builds.{$j}"/>
              <set_value name="$process" exact="false"/>
              <do_if value="$build.isshipbuild and not $buildprocessor.buildanchor">
                <!--Ship Build-->
                <set_value name="$shipmacro" exact="null"/>
                <do_if value="$build.base">
                  <set_value name="$shipmacro" exact="$build.base.macro"/>
                </do_if>
                <do_else>
                  <set_value name="$shipmacro" exact="$build.macro"/>
                </do_else>
                <assert value="$shipmacro" text="'Build order does not have a valid macro. Build: ' + $build + ' - [Owen]'"/>
                <do_if value="$shipmacro">
                  <debug_text text="'checking that build processor %1 on buildmodule %2 of %3 (%4) can build macro: %5, canbuild: %6, freedock: %7'.[$buildprocessor, $buildmodule, this.object.knownname, this.object, $shipmacro, $buildprocessor.canbuildmacro.{$shipmacro}, $buildmodule.freedock.{$shipmacro.docksize}]" chance="$debugchance" />
                  <do_if value="$shipmacro and $buildprocessor.canbuildmacro.{$shipmacro} and $buildmodule.freedock.{$shipmacro.docksize}">
                    <set_value name="$process" exact="true"/>
                  </do_if>
                </do_if>
              </do_if>
              <do_elseif value="$build.isupgrade and $build.buildobject and (not $build.buildobject.buildingprocessor or $build.buildobject.buildingprocessor == $buildprocessor) and  (not $buildprocessor.buildanchor or $buildprocessor.buildanchor == $build.buildobject) and @$build.buildobject.dock.object == this.object">
                <!--Ship Upgrade-->
                <do_if value="not $build.buildobject.buildingprocessor">
                  <set_buildanchor object="$build.buildobject" buildprocessor="$buildprocessor"/>
                </do_if>
                <do_if value="$build.buildobject.buildingprocessor == $buildprocessor">
                  <!--Upgrade-->
                  <debug_text text="'assigned build processor %1 on buildmodule %2 of %3 (%4) to upgrade %5 (%6)'.[$buildprocessor, $buildmodule, this.object.knownname, this.object, $build.buildobject.knownname, $build.buildobject]" chance="$debugchance" />
                  <set_value name="$process" exact="true"/>
                </do_if>
                <assert value="$process" text="'Object ' + $build.buildobject + ' ' + $build.buildobject.knownname + ' has the wrong build processor set. Is ' + $build.buildobject.buildingprocessor + ' Should be ' + $buildprocessor + ' [Owen]'"/>
              </do_elseif>

              <do_if value="$process">
                <process_build build="$build" object="this.object" buildprocessor="$buildprocessor"/>
                <!-- Remove build order -->
                <remove_value name="$builds.{$j}"/>
                <remove_value name="$buildprocessors.{$i}"/>
                <debug_text text="'Building order %1 using build processor %2 of buildmodule %3 on %4 (%5). %6 remaining builds in queue'.[$build, $buildprocessor, $buildmodule, this.object.knownname, this.object, $builds.count]" chance="$debugchance" />
                <break />
              </do_if>
            </do_all>
          </do_if>
        </do_all>
        <!-- cleanup -->
        <remove_value name="$j"/>
        <remove_value name="$prev_buildmodule"/>
      </do_if>

      <!-- Wait until a ship has the dock unasigned from a buildmodule, or a new build order is added via the global interrupt-->
      <wait />

      <!-- Return to process orders -->
      <resume label="loop" />

      <label name="finish" />
      <debug_text text="' End script. Unreachable under normal circumstances [Adrian]'" />

    </actions>
  </attention>
</aiscript>


it's hard for me to understand if this is the player focused or generic for all races to use as it has a condition "<do_if value="$object.isplayerowned">"

Ornias
Posts: 41
Joined: Fri, 7. Dec 18, 07:04
x4

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by Ornias » Mon, 10. Dec 18, 09:32

Aerojet029 that looks generic to me.

In Addition:
Dear Owen,
Please finish your todo's.

Yours Sincerely,
The X4 Foundations Community.

BlackRain
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 7411
Joined: Mon, 15. Dec 03, 18:53
x4

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by BlackRain » Mon, 10. Dec 18, 11:32

Osbot wrote:
Mon, 10. Dec 18, 05:14
Have they ever been building them? 1.0 1.10 1.20?
I have seen them building them in a new game but only at beginning, not sure after that.

BlackRain
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 7411
Joined: Mon, 15. Dec 03, 18:53
x4

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by BlackRain » Mon, 10. Dec 18, 11:34

TR0LL wrote:
Mon, 10. Dec 18, 08:22
BlackRain wrote:
Mon, 10. Dec 18, 04:15

Currently NO SHIPS are being built, at all. This includes Xenon, Argon, etc. This is clearly a bug. It isn't specific to the Xenon and the Xenon are definitely not being spawned.

Is this verified? If so damn, that's basically game-breaking and means there is little to no point in playing until they fix it.
It hasnt been verified, just speculation based on observation

sebast076
Posts: 38
Joined: Mon, 27. Apr 09, 16:35
x4

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by sebast076 » Mon, 10. Dec 18, 11:43

I made a test : cheated myself and destroyed every single military ship in Argon Prime.
Then I hide myself and let the game run with SETA for 3h.
After returning to Argon Prime they havn't rebuild a single ship

gibnieauf500
Posts: 142
Joined: Fri, 30. Nov 18, 16:49
x4

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by gibnieauf500 » Mon, 10. Dec 18, 11:50

I also took ships by cheat and destroyed all ships in argon and no ships were reconstructed after 4 hours

MuxauL
Posts: 6
Joined: Wed, 3. Dec 08, 13:40
x4

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by MuxauL » Mon, 10. Dec 18, 13:35

BlackRain wrote:
Mon, 10. Dec 18, 03:21
Anyone find which scripts handles ordering ships to be built? I can't seem to find it.
It seems to be that they are ordered in scripts FactionSubgoal_Recon, FactionGoal_Invade_Space. Looks like in all scripts Faction(?Sub)Goal_.*

For example - from script FactionSubgoal_Recon.xml

Code: Select all

<cue name="Request_Job_Ship" instantiate="true">
          <conditions>
            <event_cue_signalled/>
          </conditions>
          <actions>
            <request_job_ship name="this.$Requested_Job_Ship" job="event.param.{1}" requester="$Target" zone="event.param.{2}"/>
            <do_if value="this.$Requested_Job_Ship">
              <debug_text text="$DebugText + 'Requested ship ' + this.$Requested_Job_Ship + ' ' + this.$Requested_Job_Ship.knownname + ' ordered'" context="false" chance="$DebugChance"/>
              <append_to_list name="$RequestedShips" exact="this.$Requested_Job_Ship"/>
              <signal_cue_instantly cue="md.FactionLogic.EvaluateForceStrength" param="[namespace, this.$Requested_Job_Ship, $ShipStrengthTable, $SubordinateStrengthTable, $StrengthTable]"/>
              <set_value name="$ForceStrength" operation="add" exact="$EFS_Result"/>
              <set_value name="$RegistryTable.$ShipStrength" exact="$EFS_Result" operation="add"/>
            </do_if>
            <do_else>
              <cancel_cue cue="Request_Job_Ship"/>
            </do_else>
          </actions>
          <cues>
            <cue name="Requested_Job_Ship_Built">
              <conditions>
                <event_build_finished object="parent.$Requested_Job_Ship"/>
              </conditions>
              <actions>
                <debug_text text="$DebugText + 'Requested ship ' + parent.$Requested_Job_Ship + ' ' + parent.$Requested_Job_Ship.knownname + ' built'" context="false" chance="$DebugChance"/>
                <add_to_group groupname="$Ships" object="parent.$Requested_Job_Ship"/>
                <remove_value name="$RequestedShips.{$RequestedShips.indexof.{parent.$Requested_Job_Ship}}"/>
                <set_requested_job_ship_timeout ship="parent.$Requested_Job_Ship" timeout="player.age + 1h"/>
                <signal_cue_instantly cue="Set_Ship_Order" param="parent.$Requested_Job_Ship"/>
                <cancel_cue cue="Request_Job_Ship"/>
              </actions>
            </cue>
And they are called from FactionLogic.xml
line 960: <cue name="EvaluateGoals" checkinterval="30s" instantiate="true">

BlackRain
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 7411
Joined: Mon, 15. Dec 03, 18:53
x4

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by BlackRain » Mon, 10. Dec 18, 14:00

Yeah, I looked through those but I don't see anything particularly wrong. Hopefully it will get fixed on Egosoft's side today or soon

Lloydy69
Posts: 4
Joined: Mon, 10. Dec 18, 12:00
x4

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by Lloydy69 » Mon, 10. Dec 18, 14:04

Seem to be having issue with downloading these files not sure what im doing worng. I used to play X games but never modded the filies so just learning atm.

Chrisxx1990
Posts: 29
Joined: Fri, 7. Dec 18, 22:07
x4

Re: [WIP - MOD] Foundation of Conquest and War V. 0.1

Post by Chrisxx1990 » Mon, 10. Dec 18, 14:06

Have a problem to unpack the ZIP file. It says "no arcives found". Also it says unknown format or broken file

Post Reply

Return to “X4: Foundations - Scripts and Modding”