Taiko Risshiden V DX

Taiko Risshiden V DX

Not enough ratings
太閤立志伝イベントコンバーター利用時の注意点
By udondennen
作成者向きではなく他者のイベントをダウンロードして使用する際の注意点です

色々とイベコン周りでも問題のある本作ですが
折角PC版を購入したのですからある程度でも楽しめるようになれるようにいくつか書いてみます

実際は中段のイベント289個に引っかかった人向け以外は特に重要でもないです
導入方法はイベコンwikiで丁寧に紹介してくださってます
   
Award
Favorite
Favorited
Unfavorite
本題に入る前にまずは基本から
まずは各種ファイルの導入先ですが
スチームのライブラリからローカルファイルの閲覧でEvconフォルダが見えるかと思います

その下のSCRIPT_JPがダウンロードしてきたイベントスクリプトを導入するフォルダです
ファイルを導入したらイベコンを起動していID検索追加→コンバートでOUT_JPにファイルが生成されますのでそのファイルをドキュメントのKoeiTecmoにあるTaiko5DX内EVENTフォルダに移動してください
以上を行なったうえでゲーム本体を起動してセーブまでできればユーザー政策イベントの導入は成功です
イベントスクリプトに更新があった場合SCRIPT_JP内のevmファイルを削除してから再度id検索してコンバートしeventフォルダに生成ファイルを移動しましょう
イベントを追加した場合は上記を行なったうえでニューゲームを行ってください


セーブができなければイベントフラグ289個問題に引っかかってます

イベントフラグ289個問題に引っかかった人へ
一度引っかかってしまうと単純にイベントフラグが289個以下になる構成にしてコンバートしたファイルを導入した状態でもゲームがうまく動作しなくなっているはずです

解消するにはEvconフォルダ内にあるEvFlag_JP.tbl・EvID_JP.tblを一度削除してから再度コンバート手順を行なえば動作するかと思います、もちろんフラグが289以下の場合ですが

消す理由は上記のファイル内にイベントフラグとイベント識別子が保存されているからです
無いと不便ではある機能ですがフラグ条件のせいで厄介者でもあります

ゲーム上で正常に動作するのは255個のフラグまでだそうです
フラグ数が多すぎるならDX版に対応するついでに減らせばいい
旧PC版からDX版へのイベント変換方法です

まずはwindows付属のメモ帳で作業するのは大変なのでフリーでも有料でもどちらでいいので何かしら高性能なテキストエディタを準備してください
筆者はNotepad++とサクラエディタを使用しています、他は使い方分かりませんし
初期設定で挫折したVSCのTAIKO-RISSIDEN 5DX event scripts使い方解説とか募集中です

次に旧PC版では動作していたがDX版では動かなくなった・フラグ数の問題で動かしづらくなったイベントを用意しましょう
フラグ数削減方法は別ファイルにしますのでまずはエラー修正法だけ
イベコンに通してみてエラーが出たらこちらへどうぞ
太閤立志伝5 イベコンwiki 無印からの変更点・注意点
https://seesaawiki.jp/taikou5/d/%cc%b5%b0%f5%a4%ab%a4%e9%a4%ce%ca%d1%b9%b9%c5%c0%a1%a6%c3%ed%b0%d5%c5%c0
太閤立志伝5 イベコンwiki コンバートエラーと対策
https://seesaawiki.jp/taikou5/d/%a5%b3%a5%f3%a5%d0%a1%bc%a5%c8%a5%a8%a5%e9%a1%bc%a4%c8%c2%d0%ba%f6
正直エラーログを見て該当箇所を確認し、上記のページから修正法を探すだけです

効果音関連のエラーの場合は下記を参照ください
https://seesaawiki.jp/taikou5/d/%a5%c7%a1%bc%a5%bf%a1%caDX%a1%cb#se
SEは代替えを用意してもいいですし面倒に思えば「//」を該当行の頭につければスクリプト上無視されるので
少し寂しくなるけれど修正したことになります

エラー原因の大半は名称が変更された結果か削除された結果なので
名称が変更されているなら置き換えてやればいいし
削除されているなら代替えを探すか、動作自体に影響なさそうなら削除かコメントアウトで良い

コンバートエラーにならないので見落としやすい点としては
人物追加によるもろもろの変更、主命追加による変更、カードの追加による秘技なんかの番号ずれ

ついでなので説明すると
コンバートが正常にした際のログの最下段付近にこんな数字が出ると思います
最大イベント識別番号:****
最大イベントフラグ番号:****
包含イベント数:***
最大イベントフラグ番号から8192を引いた数字が使用しているイベントフラグの数です
255個を越えると誤動作を起こすので注意しましょう

コンバート出来たら太閤立志伝を起動しテストプレイしてください
発生条件管理のためにセーブデータエディタや専属くのいち等を使わせてもらうと便利です
京の阿国も非常に便利なのですがイベコンの仕様を置き換える為テストに使うのは不向きかなと思います

旧PC版で正常に動作していたのにDXで想定動作をしない場合は
残念ながらコンバートエラーにはならないけれど仕様が変更された部分に引っかかっていたり
そも正常に動作しないコマンドがあったりするので上記のページを見て原因を探しましょう
見つからなければ貴方が第一発見者かもしれません
載っていないけれど既出の情報だったとしても話題に出すことで改めて周知できます
報告時は詳細を添えるといいと思います

極端なことを言えばエラーの大半はイベコンが該当箇所と内容を教えてくれるので
解説ページを見てみましょう
自分で調べても分からなければ、元イベントファイルのダウンロード先を明記したうえで
自分が改変したファイルを添えてイベコンwikiの管理者様が用意してくださってる掲示板で質問するといいと思います
私なりの削減方法の流れ
筆者は基本的にはプログラミング素人のためもっと効率のいい方法、手間はかかるけれどエレガントな方法などいくらでもあると思います
あくまで仕様ツール含めて私のやり方を書くだけになります
この変換をしたことでのバグ報告も無いのでまぁ動くんじゃないかと、使われてないだけかもしれませんが

①理論的には単純ですが実際に適応しようとするのが大変な
前提イベントの発生済みを発生条件とするイベントフラグ削減方式です
イベコンの公式ヘルプの複数のイベントをつなげる方式です


利点としてはイベント識別子を増やさないで済む

欠点は属性:何度でもが絡むと把握が面倒になる
基本手動で流れを確認しながらになるので大変

手間を惜しまず完璧に作業できる人には欠点は無いと同じなので頑張ってください
イベント識別子にも上限があるので節約するに越したことはありませんし


②イベントフラグを空のイベント識別子に置き換え発生・未発生で制御する方法です
利点はある程度作業を簡略化できる

欠点はイベント識別子が増える


例としてぷれあさん制作でばびさんがDX版に対応させた好敵手を使わせていただきます
林山草庵@都落ち
http://hermitage.pandora.nu/tr5dx/library.html

まずはサクラエディタで好敵手フォルダをgrep検索します
設定は結果出力を該当行、結果出力形式をファイル毎とすれば

・( 246,5 ): 調査:(イベントフラグ::好敵手-未だ好敵手現れず)==(不成立)
・( 247,5 ): 調査:(イベントフラグ::好敵手-承前)==(不成立)
・( 248,5 ): 調査:(イベントフラグ::好敵手-零)==(不成立)
・( 249,5 ): 調査:(イベントフラグ::好敵手-拒)==(不成立)
・( 388,7 ): 更新:(イベントフラグ::好敵手-承前)(成立)
・( 392,9 ): // 更新:(イベントフラグ::好敵手-人物番号01)(t)
・( 395,9 ): // 更新:(イベントフラグ::好敵手-人物番号02)(t)

こちらは一部のみですが手元にはファイル毎に出現位置付きでリスト化された結果があると思います
全選択して使い慣れてる作業用テキストエディタに貼り付けてください
(イベントフラグ::好敵手-未だ好敵手現れず)
このように()の中身が欲しいので
置き換えを使って・( 246,5 ): とか==(不成立)のあたりを取り除いてください
「//」は消すと駄目です
「・\( .* \):」みたいな適当な正規表現で行表示を削除し調査:・更新:と空白を消し代入は残すと把握が楽かと思います
行末部分は後回しで
行頭を消したら全体の並び替えを実行してください、重複部分が分かりやすくなるので整理が楽になります
並び替えでこれなら分かりやすいと自分で思えたら末尾部分と重複フラグをフラグ確認がてら消していってください

(イベントフラグ::好敵手-人物番号01)(t)
(イベントフラグ::好敵手-人物番号02)(t)
(イベントフラグ::好敵手-人物番号03)(t)
(イベントフラグ::好敵手-人物番号04)(t)
(イベントフラグ::好敵手-人物番号05)(t)
(イベントフラグ::好敵手-人物番号06)(t)
(イベントフラグ::好敵手-人物番号07)(t)
(イベントフラグ::好敵手-人物番号08)(t)
(イベントフラグ::好敵手-人物番号09)(t)
(イベントフラグ::好敵手-人物番号10)(t)

代入u:(イベントフラグ::好敵手-人物番号01)*(1)
代入u:(イベントフラグ::好敵手-人物番号02)*(2)
代入u:(イベントフラグ::好敵手-人物番号03)*(4)
代入u:(イベントフラグ::好敵手-人物番号04)*(8)
代入u:(イベントフラグ::好敵手-人物番号05)*(16)
代入u:(イベントフラグ::好敵手-人物番号06)*(32)
代入u:(イベントフラグ::好敵手-人物番号07)*(64)
代入u:(イベントフラグ::好敵手-人物番号08)*(128)
代入u:(イベントフラグ::好敵手-人物番号09)*(256)
代入u:(イベントフラグ::好敵手-人物番号10)*(512)

上記のような連番のフラグは変数保存の為のものです
死亡武将のデータを使った変数保存を行なうならある程度形を残して分かりやすい位置に退避しておくと後が楽です
今回は既に勲功への置き換えが終わっているので何もする必要はありません

整理が終わったらテンプレートを作ります
調査
== 等しい
!= 等しくない
成立・不成立

・更新
成立・不成立

私はmultireplace4.00を使っていて区切り文字を\にしているので下記になりますが
上記の組み合わせを一括変換できる形ならなんでもいいです
調査:(イベントフラグ::元イベントフラグ)==(成立)\調査:(イベント::フラグ用元イベントフラグ)==(発生済み) //調査:(イベントフラグ::元イベントフラグ)==(成立)
調査:(イベントフラグ::元イベントフラグ)!=(成立)\調査:(イベント::フラグ用元イベントフラグ)!=(発生済み) //調査:(イベントフラグ::元イベントフラグ)!=(成立)
調査:(イベントフラグ::元イベントフラグ)==(不成立)\調査:(イベント::フラグ用元イベントフラグ)==(未発生) //調査:(イベントフラグ::元イベントフラグ)==(不成立)
調査:(イベントフラグ::元イベントフラグ)!=(不成立)\調査:(イベント::フラグ用元イベントフラグ)!=(未発生) //調査:(イベントフラグ::元イベントフラグ)!=(不成立)
更新:(イベントフラグ::元イベントフラグ)(成立)\更新:(イベント::フラグ用元イベントフラグ)(発生済み) //更新:(イベントフラグ::元イベントフラグ)(成立)
更新:(イベントフラグ::元イベントフラグ)(不成立)\更新:(イベント::フラグ用元イベントフラグ)(未発生) //更新:(イベントフラグ::元イベントフラグ)(不成立)

一括変換が終わったらざっと確認して制御用の空のイベントファイルを作成します

太閤立志伝5イベントソース
//1行目に「太閤立志伝5イベントソース」と必ず入れる

チャプター:{//チャプターで全てのイベントをくくる
イベント:フラグ用元イベントフラグ{ //イベントの始まり
属性:一度だけ
発生契機:ゲームクリア時(無効)
発生条件:{
調査:(状況::年)<=(1553)
}
スクリプト:{//スクリプトの始まり

}//スクリプトの終わり
}//イベントの終わり
}//最後にチャプターの閉じカッコを入れる

1553年より前にクリアすれば発生する通常プレイでは発生しようがないイベントです
イベント名の整合性とって自然に発生しなければ中身は何でもいいです
イベント名を置き換えたイベント名にして並べ立てます
私は管理しやすいので元イベントファイルと分離してますが、
旧PC版ではイベントファイルが255個越えると動作が不安定になっていたのでまとめるのもいいんじゃないでしょうか

コンバートするとブロック処理でエラー吐きますが中身を確認してから置き換えたいので仕様です
他の部分でエラーになるのは大体見落としだったので細々頑張りましょう

単品で上手くいったので纏めてコンバートしてプレイしようと思った方は
コンバートエラーが出てがっかりしたかと思います
好敵手のイベントフラグは他のイベントファイルでも使われていたりするので
他ファイルも「好敵手」でgrep検索して該当フラグの置き換えを行なうか
他で使われているイベントフラグは元に戻す必要があります



まとめると
イベントフラグを拾い出してイベント識別子に書き換えて対応する空イベントを用意する
変数保存は内容は理解しなくても使える
https://seesaawiki.jp/taikou5/d/%a5%c8%a5%d4%a5%c3%a5%af%a5%b9#variable5
https://seesaawiki.jp/taikou5/d/%a4%d7%a4%ec%a4%a2%bb%e1%a3%b2%bf%ca%bf%f4%a5%d5%a5%e9%a5%b0%b2%f2%c0%e2

上記のイベコンwikiに掲載されている解説を読んでください

ざっくり言えば長期保存ができない数値を掛けたり割ったりして別の形で長期保存してくれる便利なスクリプトです
太閤立志伝では人物や拠点等様々なデータを数値で表現できるので色々と使われてます
細かいことは理解しなくてもコピペして人物や技能入れ替えてテストして動けばいいと思います

例として人物Aとして三浦按針(959)を使用し人物番号保存と取り出し
青山忠成の技能値を使用
流し読みでOK

代入o:(0)//一応初期化
代入o:(人物::人物A.人物番号)//人物番号一時保存
代入t:(0)//一応初期化
代入t:(o)%(5)//959を5で割って余りを出す(4)
更新:(人物::青山忠成.足軽技能)(t)//(4)を足軽技能に長期保存
代入o:(o)/(5)//959を5で割った(191)を一時保存
代入t:(o)%(5)//191を5で割って余りを出す(1)
更新:(人物::青山忠成.騎馬技能)(t)//余り(1)を保存
代入o:(o)/(5)//191を5で割って38
代入t:(o)%(5)//38を5で割って余り(3)
更新:(人物::青山忠成.鉄砲技能)(t)//(3)を保存
代入o:(o)/(5)//38を5で割って7
代入t:(o)%(5)//7を5で割って余り(2)
更新:(人物::青山忠成.水軍技能)(t)//(2)を保存
代入o:(o)/(5)//7を5で割って(1)
代入t:(o)%(5)//1を5で割って余り(1)
更新:(人物::青山忠成.弓術技能)(t)//(1)を保存

あくまで保存したのは余り部分
959を5で割って余りを保存の工程を繰り返してるだけですが
複雑に見えるのは除算と余りを出す工程が別々だからかなと

////取り出し開始////
代入t:(0)
代入u:(人物::青山忠成.足軽技能)//4
代入t:(t)+(u)
代入u:(人物::青山忠成.騎馬技能)*(5)//1*5
代入t:(t)+(u)
代入u:(人物::青山忠成.鉄砲技能)*(25)//3*5*5
代入t:(t)+(u)
代入u:(人物::青山忠成.水軍技能)*(125)//2*5*5*5
代入t:(t)+(u)
代入u:(人物::青山忠成.弓術技能)*(625)//1*5*5*5*5
代入t:(t)+(u)
////取り出し終了////
さっきの逆の計算です、詳しくは知らないけれどやってることはさっきの逆の計算です

技能値で揃えているので5進数なわけだけれども
(実際は6進数まで扱えるけど技能値★は本来主人公のみなのでありえない数値として変更される可能性が微レ存)
代入o:(0)
代入o:(人物::人物A.人物番号
代入t:(0)
代入t:(o)%(100)
更新:(人物::青山忠成.統率)(t)
代入o:(o)/(100)
代入t:(o)%(100)
更新:(人物::青山忠成.武力)(t)

代入t:(0)
代入u:(人物::青山忠成.統率)
代入t:(t)+(u)
代入u:(人物::青山忠成.武力)*(100)
代入t:(t)+(u)
でもいいし

代入o:(0)
代入o:(人物::人物A.人物番号
代入t:(0)
代入t:(o)%(5)
更新:(人物::青山忠成.足軽技能)(t)
代入o:(o)/(5)
代入t:(o)%(5)
更新:(人物::青山忠成.騎馬技能)(t)
代入o:(o)/(100)
代入t:(o)%(100)
更新:(人物::青山忠成.統率)(t)

代入t:(0)
代入u:(人物::青山忠成.足軽技能)
代入t:(t)+(u)
代入u:(人物::青山忠成.騎馬技能)*(5)
代入t:(t)+(u)
代入u:(人物::青山忠成.統率)*(25)
代入t:(t)+(u)
で多少ややこしくなるけれど結果は同じ
言っといてなんですが色々揃えた方が管理は楽です

技能値と武具種類で5進数
能力と名声悪名で100進数
勲功にはそのまま代入辺りを覚えればいいんじゃないでしょうか
師匠や流派・親密度は試したことないですが使えないことはないんじゃないでしょうか
終わりに
イベント配布しているサイトは太閤立志伝 イベント作成なんかで検索すれば出てきますが
個人が運営してくださっているサイトですし何でもかんでも書き込むと迷惑になることもあるので空気は読みましょう

閲覧時にトピック表示は便利ってことだけ
1 Comments
cexer Apr 18, 2023 @ 4:45am 
ありがとうございます,それに加え、シナリオ編集の補助ツールをお勧めします。289個のイベントマーカーの問題は解決しただけでなく、背景の”初期設定・赤”、”koeilogo”などの問題も解決していただけます。それに加え、多くの他の拡張機能もあります。おそらくあなたの創作に役立つでしょう。威力加強工具: https://www.feishu.cn/docx/TbqqdAyuxoQl73x5arScMDkVntb