X4: Foundations

X4: Foundations

NPC Loadout Missing Fix² [8.00]
22 Comments
shilum_nehum 21 Sep @ 1:35pm 
unfortunately i am still running into ships and stations that have empty hardpoints
Eldahmyr 19 Sep @ 1:28pm 
I’m sorry to bother you on this mod, but I’m such a fan of your Astral Empire and Novatech Coporation faction mods (comments are disabled for these mods). I wanted to know if you are considering the possibility of bringing the diplomacy of update 8.0 to your superb factions? This is so wonderful ;-)
Schwarzemona 11 Sep @ 5:01pm 
ありがとうございます。個別ジョブはまあ仕方ないです。
EBI  [author] 10 Sep @ 9:16pm 
8.00がリリースされたのでひとまずエラー原因になってた部分だけ削除して更新しました
個別の例外jobへの対応はまだ出来ていません…
Schwarzemona 31 Aug @ 5:14am 
コロナですか‥‥お大事になさってください。
EBI  [author] 30 Aug @ 8:44pm 
おっと返信遅れてしまいすみません
ご指摘ありがとうございます
覚えておきます
色々あって今X4から離れてて次の更新少し先になるかもしれません…
最近コロナウイルス再流行してるっぽいのでお気をつけください…(1敗)
Schwarzemona 30 Aug @ 8:45am 
ご対応ありがとうございます。修正されているのを確認しました。

build.shiptrader.xmlの9〜11行目の記述の消去をお願いします。
$qtyvarがもう存在しない変数なのでエラーとなっています。

以下はタレットを満載していませんが、個別に対処するしかなさそうなジョブです。

loadoutがなく、特殊な処理も無いようです。
xenon_terraformer_patrol_l_rare
xenon_terraformer_patrol_l_sector

sizeの設定が無いです。
zyarth_resupplier_xl
freesplit_resupplier_xl
terran_resupplier_xl
pioneers_resupplier_xl

sizeの設定が無く、かつ中型艦と大型艦共通のジョブです。
*_free_miner_ml_*_deepspace_single
fallensplit_raider_mixed_cluster
fallensplit_marauder_mixed_cluster
[RoTA] BarricadePrime 25 Aug @ 9:58am 
the khaak obliterator has no full turret/shield loadout yet can you fix it?
Schwarzemona 24 Aug @ 9:29am 
ごめんなさい。まだ何点かありました。
簡単に言いますと、
1. holyorder_fighter_patrol_s_zoneにsizeがないため適応されてしまう
2. ロードアウトが減少しても小中型のquantityが減少しない
3. ロードアウトが減少しても小中型のquantityのvariationの値が入りばらつきが生じる?

対策は、
1.はjobs.xmlにsizeがあるか確認する条件を追加
2.はbuild.shiptrader.xmlにquantityのlevelを小中型なら$newloadoutlevel、そうでないなら1
3.はgenerate_loadoutにquantityのvariationを設定しない(元のvariation="0"があるので大型に対して問題ないはず)

平日になってしまったのでまた来週の土日か時間のある時に確認します‥‥
何度も何度もすいません‥‥
EBI  [author] 24 Aug @ 1:55am 
ありがとうございます
今更新しました
ウェア不足時にロードアウトが減少しても大型特大型のquantityは維持されるようになったと思います
現在ロードアウト最大化のパッチの適用外になっている小型中型には影響がないはずなのでウェアが不足するとスプリットが大量の装備品を発注し始める…って状況は回避できるのかなと思います
何かありましたらよろしければお知らせください…
それとフォルダ名変更はかなり前に出来ないか不具合が出ると聞いてそのまま信じてました
一回試してみればよかった
実際には後から変更出来ると知ってたらこんな事しなかったのに…まあ後の祭りです
Schwarzemona 23 Aug @ 8:26pm 
ご採用とご回答ありがとうございます。更新後確認しました。問題なさそうです。

関連する話として、NPC造船所が材料不足で船を作れないとき、loadoutを減らして生産しやすくする仕組み(build.shiptrader.xmlの580~591行目)があります。イメージは戦時急造船ですね。
NPC造船所はよく材料不足になると思いますが、ここのgenerate_loadoutにquantityのエレメントがないので、新造される船はよくタレットが満載ではなくなります。
動作確認できてませんが、build.shiptrader.xmlで以下を記述すると修正できるはずです。
<add sel="//generate_loadout"><quantity level="$loopbuild.base.loadoutquantity.level"/></add>

これで最後だと思いますが、確かフォルダ名はアップロードしてから変えてアップロードができたような気がして、前MODから新しく作る必要なかったかもしれません。
EBI  [author] 23 Aug @ 8:35am 
ありがとうございます。
ぜひそうさせていただきます。
先ほどの更新で小型中型艦にはもう影響しないようになりました。
lastは順番ズレによる取りこぼし防止になるっぽかったので使用していました。
Schwarzemona 23 Aug @ 5:49am 
addのselとifを以下のように変更すると小中型艦を除外します(loadoutのrefはlevelと共に使われないはずで、levelがあることのみを確認すれば問題ないと思い以下のようにしました)。
(/jobs/job/ship[not(select/@size='ship_s') and not(select/@size='ship_m')]/loadout[level])[last()]

上記の変更だけでなく、parameters.xmlの変更も無くす必要があります。
parameters.xmlのquantityやqualityのlevelは、jobs.xmlのloadoutのlevelで上書きされてしまうようですが、quantityやqualityのvariationは、jobs.xmlでvariationの設定があまりないためか上書きされず使われることが多く、上記の変更をしたとしても小中型艦に適用されてしまいます。

ちなみに、last関数を使っているのはなぜなのでしょうか?
Schwarzemona 23 Aug @ 5:49am 
ご更新ありがとうございます。確認しました。
重ねての要望になってしまい心苦しいですが、小中型艦にも効果があることを失念しておりました。小中型艦に効果がないようにしていただくことは可能でしょうか?

小中型艦に効果があるということは、ザイアース族長連合はエンジンMk.4を等しく選ぶことになりますし、ヴィゴーシンジケートの名物魚雷装備もなくなってしまいますし、無駄に設置物を満載することにも繋がります。
一方で小中型艦は武器やタレットをバニラでも満載するので、MODで変更する必要がないと思います。
EBI  [author] 23 Aug @ 2:34am 
すみません!
いただいた内容で先ほど更新できたと思います
ご指摘がなかったらずっと勘違いしたままでこのMODができる事もなかったので本当に感謝です
重ね重ねSchwarzemonaさんのおかげで完成したと思います!ありがとうございます!
それとMOD説明文を前のMODからコピーして追記しておきます!
何から何まで助けていただいてありがとうございます…!
Schwarzemona 22 Aug @ 10:24pm 
3. qualityの値(好みの問題)

今の設定だとアルゴンはフラックタレットをあまり使ってくれないかもしれません。variationの値がどう働くかよくわかっていないのですが、フラックタレットのしきい値は1.0なので値の範囲の一番端にあります。qualityの値を1、variationの値を1にすると、使える装備から平等に選んでくれるような気がします。逆に以下のような感じで低い値と高い値を多く取るようにして、variationを低めて装備の統一感を出せたりもするかもしれません。
<quality min="0.0" max="1.0" profile="inversebell">
<variation ...
</quality>
Schwarzemona 22 Aug @ 10:23pm 
2. エラーの数が多い

quantityに範囲外の値を入れているのと、存在しないノードで大量のエラーが出ています。variationの設定は1点目で修正されると思いますので、quantityは1で大丈夫なはずなので、修正していただけないでしょうか?
存在しないノードについては、addにもifのアトリビュートがあるので、以下のように追加していただけないでしょうか?
<add sel="( /jobs/job/ship/loadout[not(@ref) and not(@loadout) and (level or @level)] )[last()-985]" if="( /jobs/job/ship/loadout[not(@ref) and not(@loadout) and (level or @level)] )[last()-985]">
<quantity ...
<quality ...
</add>
Schwarzemona 22 Aug @ 10:22pm 
ご対応ありがとうございます。
こちらでも8.00β6でタレット数が満載になることを確認しました。
ありがとうございます。これでもう中途半端な装備を見ることはなくなりそうです。
ただ3点気になった点を記載いたします。

1. jobs.xmlのvariationがスキーマと合っていない

jobs.xmlでのshipのグループはcreateshipだと思うのですが、quantityとqualityのvariationはアトリビュートではなくエレメントなので、以下のように書く必要があると思います。
<quantity exact="1">
<variation exact="0"/>
</quantity>
parameters.xmlのスキーマはよくわからないですが、generate_loadoutなのかquantityとqualityのアトリビュートにlevelとvariationがある記述で正しく動作しているようなので、今の記述で問題ないようです。
EBI  [author] 22 Aug @ 9:03am 
The last update finally fixed an issue that existed in the early days of this mod, where variation wasn't properly set to 0 and the quantity value would drop again, causing turrets to be lost.
This mod is now complete.
Currently, testing is going well, but those who started the game before the last update may notice turrets being lost until NPC ships start respawning.
I was in a hurry to update and didn't have enough time to test, so I didn't notice right away.
I'm really sorry about this.
I've been glued to the screen for about 12 hours and I'm feeling really sick and nauseous, so I'm going to bed for now.
Good night.
EBI  [author] 22 Aug @ 9:00am 
先ほどの更新でこのMODの初期に存在した問題だったvariationが正常に0に設定されずquantity値が再び低下することでタレットがロストしていた状況が最終的に修正されました
これでこのMODは完成です
現在はテストの結果も良好ですが更新の中間でゲームを開始した方はおそらくNPC艦がリスポーンを開始するまでタレットのロストが目につく可能性があります
急いで更新していてテストの時間を十分に取れなかったのもありすぐに気がつきませんでした
これについて本当に申し訳ないです
12時間ほど画面に張り付いてて3D酔いと吐き気がすごいので一旦寝ます
おやすみなさい
EBI  [author] 22 Aug @ 7:10am 
Sorry, it's currently for 8.00!
I'm currently checking if it works with 7.60!
It will probably be updated soon.
EBI  [author] 22 Aug @ 7:09am 
すみません現状では8.00用となっています!
7.60でも動作するかどうか今確認中です!
多分すぐ更新します