今更ハニセレ

ARTICLE PAGE

HS SlotIDによる競合回避

author photo

Byhslre

当サイトを見ている方ならほとんどの方がMoreSlotIDを使っていることと思います。

HS Conflict Resolverを使えばほとんどがクリックするだけで競合を回避することができますが、それでもやはり一部どうしても手動で競合を回避せざるを得ないことがあります。

今回はその方法を説明いたします。


※ 参考記事

通常MOD(衣装・アクセ・肌・髪型など)のID衝突

MoreSlotIDとHS Conflict Resolver


先にお断りしておきますが、この方法は「全く初心者向けではありません。」いつもの通りに手順通りにやれば解決できるという類の方法ではありませんので、それを前提に読み進めてください。
なぜ初心者向けでないのかですが、HS SlotIDもHS Conflict Resolverと同じく、MoreSlotIDで拡張したナンバーを正常に認識できないからです。

以前の記事でも説明した通り、似たナンバーだと競合していなくても「競合しています」と表示してしまいます。

HS Conflict Resolverで表示された競合の内容を見て、解決する必要があるのかどうか判断し、解決する必要がある場合は、
1.どこのファイルを書き換える必要があるのか
2.どこのナンバーに移す必要があるのか
これらを推測して自分で判断せざるを得ません。


これで、現時点で私が把握している通常MODのSlotID衝突回避に関するノウハウというのは全て説明することになります。
私にもよくわからない振る舞い、原因不明の症状というものがありますので、万全というわけではありませんが、少なくとも問題解決の糸口にはできるではないでしょうか。

そのため、手順としてはHS Conflict Resolverで競合の内容を確認し、どのMODのどのファイルが競合しているかに当たりをつけなくてはなりません。

その前におさらいとして、HS Conflict Resolver回避する必要のある競合表示とそうでない表示を確認してみましょう。

内訳リスト
HS Conflict Resolverが競合を検出すると上のような表示が出ます。
※ この場合、実際には衝突していません。


内訳1
そして、二段目の「roy12_kasumi_01.unity3d ==> roy12_mai_01.unuty3d」をクリックすると下の窓に上の画像のように表示されます。
これを例にして回避する必要があるケースとないケースを説明していきます。
まず、画像のように右側の「SlotID」と左側の「SlotID」をどちらか片側が9桁になっている場合は競合を回避する必要はありません。

ケース1
左側のSlotID 205924964(9桁)  右側のSlotID 205964(6桁)

ケース2
左側のSlotID 205964(6桁) 右側のSlotID 205924964(9桁) 

上のケース1,2の場合は競合を回避する必要はありません。
HS Conflict Resolverの誤認となります。

それでは競合を回避する必要があるケースを見てみましょう。

ケース3
左側のSlotID 205964(6桁) 右側のSlotID 205964(6桁)
このような表示の場合、競合を回避する必要があります。
競合している行をクリックして選択し「Fix Only Selected」で競合を回避しましょう。

ケース4
左側のSlotID 205924964(9桁) 右側のSlotID 205924964(9桁)
では、両方が9桁のこの場合はどうかというと、競合を回避する必要はありますがこのケースは発生しません。
もともと、現在の競合を回避する仕組みであるHS SlotIDとHS Conflict Resolverで正常に認識されなくなるリスクを冒してまでMoreSlotIDを導入したのはSlotIDが絶対に衝突しないようにするためですので、このようなケースはほとんど考えられません。
何度もテストを繰り返してきた私もこのケースは一度も見たことがありません。


HS Conflict Resolverで同じ衝突が2回表示される


内訳1

内訳2
上のようなケースがあります。(何度も言いますが、例として挙げているだけでこのケースの場合は解消する必要はありません。)
これは「roy12_mai_01.unuty3d」から見た競合と「roy12_kasumi_01.unity3d」競合を両方表示しているだけで、どちらも基本的には同じものです。
ですので、どちらか片方を解消すれば、両方消えます。
「なんだじゃあ、適当に解消すればOKなんだ」と思った方は早計です。
上を解消した結果と下を解消した結果、どちらか一つを解消しても両方消えますが、上と下、どちらを解消するかで結果が違ってきます。
右側にあるほうが元のナンバーで残ることになります。
ですので、「動かしたくないほうが右側にある競合」を解消ししましょう。

さて、HS Conflict Resolverによる競合回避について、いろいろとみてきました。
これからHS Conflict Resolverで競合を正常に回避できなかった場合はどうするのかを考えて見ましょう。
このケースは私もTattooで一度だけありました。
競合を回避した後に他のTattooのSlotIDと衝突してしまい、かつ「衝突していません」と表示される場合です。

この場合はHS SlotIDによってナンバーを指定して競合を回避していく必要があります。
ちなみにSlotIDが衝突したままだと、全く関係ないMODが表示されなくなるケースもありましたので、基本的には衝突したら回避していく必要があることは覚えておいてください。
※ MoreSlotIDの拡張IDナンバーと通常のSlotIDが実際には衝突していなくても衝突していると表示される場合でも、影響が出る可能性も考えられます。そういう場合は解決する方法はありません。そういうものだと思ってください。

上級者の方はわずかのトライ&エラーでここまでは恐らくたどり着いていると思います。
また、HS SlotIDで競合をマニュアル回避する場合、HS Conflict Resolverで確認した情報(衝突を回避したいMODのファイル名、SlotID)をメモ帳などに打ち込んでおいてください。
HS SlotIDでの自動での衝突検出などは一切あてにできませんので、このような情報が無いとどうにもなりません。

HS SlotIDをインストールする前に
まず最初にお断りしておきますが、HS SlotIDは初心者向けのツールではありません。
ですので、今まで言ってきたことがよくわからない方はなるべくHS SlotIDを使わないようにするしかありません。

HS SlotIDをインストールする前に各MODでSlotIDが格納されているファイルがどこにあるかを見てみましょう。
通常MODにはabdataというフォルダが必ず含まれていると思いますが、
「\abdata\list\characustom」
というフォルダの直下にあるファイルに各MODのSlotID情報が格納されていますので、ここを書き換えていくことになります。
HS Conflict Resolverにも表示されると思いますが、書き換える対象のファイルが分かっていると非常に手間が軽減されますので、どのファイルを書き換える必要があるかはHS Conflict Resolverで確認しておいてください。
MODをインストールした後だと
「ハニーセレクトインストールフォルダ\abdata\list\characustom」
となります。

HS SlotIDをインストール

HS_SlotID - Honey Select Slot Manager
上のリンクから最新版をダウンロードしてハニーセレクトインストールフォルダに解凍してください。
必ず言われたとおりにやってください。
またハニーセレクトインストールフォルダは必ず「HoneySelect」という名前にしてください。
これ以外の名前にするとHS_SlotIDの側で正常にフォルダを認識できなくなります。
どうなるかというと、自分でリストファイルの位置をいちいち指定しなくてはなりませんので、かなり面倒になります。


HS SlotID
HS SlotD.exeをダブルクリックして起動すると上のような画面が表示されます。
HS Conflict Resolverと組み合わせる場合、リストを作る意味はあまりないのですが、おまじないということで最初にリストを作りましょう。

ネットからリストをダウンロード

ローカルリスト作成
上のようにネットからリストをダウンロード、そしてローカルのリストを作成という流れでリストを作成します。


MAP切り替え
そして、MAPに切り替えます。

カテゴリ切り替え
衝突しているカテゴリーを選んでください。
今回の場合はボディタトゥーを選びます。
これで空きスロットを確認できますが、ぶっちゃけた話、この空きスロットは当てにならないことがあります。
また、衝突していると表示されている場合でも衝突していないこともあります。

衝突ファイル書き換え
空きスロットが確認出来たら、メモ帳に打ち込んでMAPを元に戻し、衝突しているファイルを選んで書き換えします。
「やきいも」を使っている場合は、仮想ファルダ内のファイルを書き換えるようにしてください。


IDセーブ
IDを書き換えたらセーブして作業を終わります。
MODがアップデートされて、アップデートをインストールすると修正した競合が元に戻されてしまいますので、作業内容はメモ帳に記録しておきまょう。

以上で、HS Conflict ResolverとHS SlotIDを組み合わせた競合の回避方法の説明は終わりです。
基本的にはHS Conflict Resolverで競合の詳細(リストファイル名・競合スロットID)は確認できますので、HS SlotIDでは移転先のIDを確認していくことになります。
これも実際には当てにならないことがありますので、そういった場合は適当に空いていそうなところに移してみて、ゲームを起動してきちんと表示されていたらそこのIDで決定するという形になります。

現在解決していない問題点。
SlotIDが競合していなく、かつ、ゲーム内のメニューに表示されるにも関わらず、選択状態にしても衣装などが表示されない場合がある。
原因は、おそらく、MoreSlotIDで拡張IDを使っていることにあるのではないかと思います。
拡張IDと普通のIDが混在していると、リストには表示されるが選択してもMODが表示されないという現象が発生します。
HS Conflict ResolverやHS SlotIDでは実際には競合していなくとも競合していると検出していますが、ゲームの方でも競合していると認識しているのではないかと思います。
対策は表示されなくなったMODのIDをずらしてみるしかありません。
こうしたトラブルはMODにはつきものですが、これはなかなか厄介なトラブルですね。
Share

Comments 2

-  

承認待ちコメント

このコメントは管理者の承認待ちです

2019/04/16 (Tue) 00:09 | EDIT | REPLY |   

hslre  

Re: タイトルなし

> MoreSlotID対応版だそうです
>
>
> 527 名無しさん@初回限定 (ワッチョイ e3e6-msj4) 2018/06/04(月) 23:07:09 ID:
> >>523
> Author: HenkTS (@Hongfire.com) - HSRevolveMoreSlotID v0.1 -
>
> SlotIdのコンフリクトを簡単に修正するmod/util。既存ファイルを変更しないので、Sl;otIDを変更したmodをアップデートしてもIDによる問題は起きない。
>
> インストール方法
> 1.全部のファイルをゲームディレクトリにコピー
> 2.lwlin氏のMoreSlotIDがインストールされていることを確認せよ
>
> 使い方
> HSResolveMoreSlotID.exeを実行
> ハニセレのパスを入力。ゲームフォルダから実行している場合は自動的に入る
> Categories(カテゴリ)/Filies(ファイル)のいずれも、赤くなっているのはコンフリクトがある箇所
> 右上のチェックボックスでフィルタ出来る
> 左ペインでカテゴリ/ファイルをクリック(複数選択可)
> 「Resolve」をクリックして自動解決するか、手動でIDを設定する
> 重複が解決すれば表示は白くなり、元のIDは[Oid]欄に表示される
> [Name]欄の名前も変更できる
> [Auto resolve everything]で全部自動で解決することも出来るが、どのアイテムのIDを変更するかを自分で決めたいじゃないかな
>
> このツールはファイル(modファイル)には一切変更を加えない。変更点はHsResolveMoreID.xml に保存しゲームスタート時に読み込む。
> HsResolveMoreID.xmlを直接編集することも可

コメントありがとうございます。
HSResolveMoreSlotID v1.1の存在は前から知っていて機能系MOD一覧のページにもありますが、
実はVNEngineとバッティングしていたので、私は自力で衝突を回避していたこともあり紹介してませんでした。
このツールに関しては多分古くからのユーザーほどあまり積極的に使ってないと思います。(笑
V1.0bからVNEngineともバッティングしなくなったようなので、本当に便利なツールになったようですね。
最近ちょっとハニセレから離れていたので、時間がある時に見てみます。
情報ありがとうございます。

2019/04/16 (Tue) 06:28 | EDIT | REPLY |   

Leave a reply