FC2ブログ
2018/06/29

Action.jtalesの詳細を推測でまとめてみた その1

Action.jtalesの内容を再びまとめてみました。次の月曜まで時間があまりないのでとりあえずの推測情報になりますが ある列の値をエクセルのフィルター処理で分けてどういう意味を持つのか推測していきたいと思います。Action.jtales には韓国語のコメントで列の意味が書いてあるので推測しやすかったです。(意味不明な訳もありますが・・・)列の数が 多いので列の項目を縦並びにまとめてみました。クリックするとその項目の詳細に飛びます。

class subaction
スキルID
攻撃名称
最大Lv
キャラ生成時に追加
コンボ設定可能
canLevelUp
系列シエン
ソース
補助Xien
ソース
環境属性の制限
攻撃の種類
攻撃力タイプ
攻撃力ソース
攻撃経験値
交差点ソース
指定ターゲット
禁止を含む
標準領域
効果範囲
範囲タイプ
効果ターゲット
禁止を含む
禁止づまり
連携するかどうか
連携型
連携キャラクター
先行習得スキル1~3
レベル1~3
習得禁止スキル1~3
レベル1~3
DoQuest
状態異常の種類
Tick Time
Save
Start Quest
Tick Quest
Finalize Quest
Terminate Quest

;class subaction

ここではそのスキルがどういうスキルなのか大雑把に設定します。クラスは全部で6つありそれぞれの 用途に応じて設定します。

TalesActionTemplate
 主に対象のHPを増減するスキル。攻撃系と回復系のスキルは全てこれ。 TalesFinishActionTemplate
 通常攻撃5コンボ時のフィニッシュスキル。これはいじらない方が良いかも。 TalesCastableTemplate
 主に状態異常を付与するスキル。また石化やHP回復禁止などの状態異常そのものもこれで設定? TalesCureActionTemplate
 主に状態異常回復のスキル。キュアとデスペルのみ設定されている。 TalesResurrectActionTemplate
 主に蘇生スキル。リザレクションと武道白虎の牙用のリザレクションのみ設定されている。 TalesMultipleActionTemplate
 ランダム倍率かかるスキル用?バックステップのみ設定されている。

キャラ生成時に追加

そのまんまの意味。トゥインクルやバラードなどの基本攻撃スキルおよび敵のスキルは1で設定。

コンボ設定可能

主に状態異常付与スキルまたは状態異常そのもの以外は1に設定されている。もしかしたら0でも1でも変わらない かもしれない。要検証

canLevelUp

スキルレベルを手動で上げられる場合は1、クエストやアイテムなど条件ありでレベルを上げたい場合は0を設定する。

環境属性の制限

ざっと見たところ0~9までの間で設定されている。採取や調合、物理系のスキルは主に0、INT含む依存のスキルは1、ストーンニードルや ウィンドスライスは2、ヒールやキュアなどの白魔法は3、状態異常を付与するスキルおよび状態異常そのものは6、HPドレインは7、MPドレインは8、 十七の太刀など敵の固有スキル?は9になると思われる。もしかしたらディレイの計算方法かもしれない。要検証

攻撃の種類

ダメージ計算に使われる依存の設定。
STAB依存の場合は0、HACK依存の場合は1、STAB+HACK依存の場合は2、INT依存の場合は3、4はなくてSTAB+INT依存の場合は5、INT+HACK依存の場合は6、 STAB+HACK+INT依存の場合は7、ヒールなどHP回復スキルは10、MR依存の場合は11

攻撃力タイプ

0から4までの間に設定されている。0はFinishのみ、サンライズを除くほとんどの攻撃スキルは1、状態異常やサンライズは3、ペットスキルの生命など ペットスキルは4に設定されている。攻撃スキルでサンライズのみ違うところを考えるとおそらくダメージ計算時に1の場合はステータス+装備、3の 場合はスタータスのみ使用すると思われる。要検証

攻撃力ソース

基本攻撃や一部敵の攻撃、一部の状態異常は1、連や手裏剣打ち、氷撃斬など一部スキルは2、五花月光斬や影分身、メガブレイズなど一部スキルが3、 ピコックやサイモンなど一部のMOBの攻撃は5、共通魔法ポイズンのみ7、一部敵の2つめの通常攻撃?は10、エンピニオンの魔法攻撃のみ15 で設定されている。正直これに関しては意味プーさん訳わかめ。要検証もしかしたら設定の意味はないかもしれない。

交差点ソース

訳だけで考えると訳わかめだが数値から推測すると射程距離(キャラからどれだけ離れた位置までクリックできるか)のことかと 思われる。

指定ターゲット

パッシブスキルや生産スキルなど敵を指定しないスキルは0、アイスミサイルや紅龍登天など発動対象が1体を指定して発動する スキルは1、スピードアップやレザレクションなどプレイヤー1人を指定するスキルは2、リカバリーや気合など自分を指定する スキルは3、敵味方問わずに1体を指定して発動するスキルは4、自分中心の爆や一撃など実際の範囲は問わず床を指定して発動する スキルは5、ブレスのみ6、キュアやエンチャント、バリアは13、タッチ系は14。紅龍登天など範囲スキルなのに1体を発動対象 としているのが嫌という人は1から5に変更すると良いのでは。推測なので要検証

禁止を含む

基本攻撃や魔法スキル、状態異常どれを持ってもバラバラで0か1に設定するがこれは良くわからない。 要検証

標準領域

設定範囲は0~2でID:0番目の無しのみ0、よく分からないが遠距離攻撃が2に設定されているので射程距離が近すぎる敵を指定する と発動できないスキルは1に設定?要検証

効果範囲

実際に適用される効果範囲?0はおそらく自分、1はおそらく指定ターゲットで対象にした敵かプレイヤー、2はおそらく指定ターゲットで 対象にした敵かプレイヤー中心とした範囲、3はメガブレイズなどのスプレッド系。

範囲タイプ

修練の石(経験値補正)を除けば効果範囲とほぼ一緒・・・と思いきや1は1体の敵かプレイヤーを対象としたスキルだけで なくボルトシャワーやエレクトリックボールなどの範囲スキルもあり、3はメテオなどの全画面範囲に加えてゼリーキング の攻撃もあるので良くわからない。2は方向指定の範囲攻撃?要検証

効果ターゲット

効果範囲と同じのもあれば指定ターゲットと同じのもあるので良くわからない。要検証

禁止を含む

上にある禁止を含むと同じかと思いきやところどころ違う。何がどう違うのか推測できないので要検証

禁止づまり

0のみ設定。使用していない?

連携するかどうか

0のみ設定。使用していない?

連携型

0のみ設定。使用していない?

連携キャラクター

0000000000000000と1000000000000000を設定するようだが設定する必要性が感じられない。要検証

先行習得スキル1~3

そのまんま。スキルを習得するのに必要なスキルを3つまで設定。

レベル1~3

上で設定したスキルをいくつまで上げればいいかを設定。

習得禁止スキル1~3

そのまんま。スキルを習得できなくするスキルを3つまで設定。

レベル1~3

上で設定したスキルをいくつまで上げるとスキルを習得できなくなるかを設定。

DoQuest

nullのみ設定。

状態異常の種類

設定されている状態異常IDを参照に設定。クリティカルの有無はおそらく関係せずスキルが 命中した際に状態異常を付与できる・・・はず。クリティカル時に状態異常を付与させたい 場合はおそらくSubClassで設定。

Tick Time

状態異常を持続できる時間。単位は分からない。

Save

状態異常を付与しないスキルは0?バフ、デバフ問わずだいたいのスキルは1、ハードスキンなどのパッシブスキルは2、赤い月の盟約やアッタカーなどとある条件を満たすと状態異常が解除されるスキルは3

Start Quest

おそらく状態異常を受けた時の処理をする関数の呼び出し

Tick Quest

おそらく状態異常を受けている間の処理をする関数の呼び出し

Finalize Quest

Tick Timeで設定した時間が来ると呼ばれる関数の呼び出し

Terminate Quest

すべての処理を終了した時の関数の呼び出し。

状態異常の種類からTerminate Questまでが一連の流れかと思われる。要検証箇所はどなたかが要検証お願いします。 私もやるつもりではいますが1人より2人、2人より3人・・・の方が事は早く進むのでお願いします。もし情報が出ていたら2chかこのブログのコメントに書いてくださると非常に助かります (...><...)



もしよろしければ私のモチベーションアップの為にチャンネル登録お願いします!

2018/06/29

新規スキルを実装してみました。

今回実装できたスキル紹介

エフェクトID追加を自分でできないからとりあえずSCR.BIN指定でアニメさせるスキルを追加しようと 思ったんだけどなかなかうまくいかない・・・。 Action.jtalesと0006.d2dで列ごとの数値の意味がいまいちしっくりこないんですよ・・・。 威力とかHACK依存とかはなんとなくわかるんだけども範囲とか効果ターゲットとかこの辺り を理解できないと攻撃用の3次スキルが実装できなさそうっす・・・。

現状エフェクトIDを追加する方法が分からないのでランジエなどの404以降に実装されたキャラのスキルを追加 することができないと思われました。しかしエフェクトIDを指定せずSCR.BINを指定して発動できるスキルが あったのでこれを機に実装もとい追加できそうか実験してみました。

Action.jtalesおよび0006.d2dにフローズンブレイクを適当に追加して試し打ちしたら 28062.d2aと1430.KFDとMSH,1431.KFDとMSH,1429.KFDとMSH,1434.KFDとMSH, 28406.d2a,1433.KFDとMSH,1422.KFDとMSH,1424.KFDとMSH,1428.KFDとMSH 28405.d2a,1454.KFDとMSH,1435.KFDとMSH,1437.KFDとMSH,4508.dtx.zip, 28407.d2a,1436.KFDとMSH,1438.KFDとMSH,BMP/E_BORIS_ICE_ATTACK_01.TGAが見つかりませんと出ました。

え?1つのスキルにそんなファイル使ってるんですか・・・??SKILL_BORIS_ICEATTACK_FRONENBREAK.BIN→28062.d2a→ {(.KFDと.MSH)1430→1431→1429→1434}→28406.d2a→{(.KFDと.MSH)1433→1422→1424→1428}→ 28405.d2a→{(.KFDと.MSH)1454→1435→1437→4508.dtx.zip}→28407.d2a→ {(.KFDと.MSH)1436→1438→BMP/E_BORIS_ICE_ATTACK_01.TGA(実際はtga2ファイル?)}の順番に読み込んでいました。

KFDやらd2aの詳しい仕組みは置いておいてひとまずフローズンブレイクを実装することができました。3次スキルやイサックとアナイスの一部スキルは エフェクトIDを追加しなくても実装できそうだったので適当にスキル追加してみましたがゴッドバード撃ったら死にました(蔵落ち)

☆アニメーションさせられそうなスキルリスト☆
・バーストマグナム ○
・ミックスアップ ○
・ブラスティングブロー x 何かが読み込めてない感じで蔵落ち
・ブラックアウト ○
・発勁 〇
・発勁・乱 ○
・シャドームービング △(イサックの色がおかしくなる)
・グロッキー △(イサックの色がおかしくなる)
・練功 △(イサックの色がおかしくなる)
・ファイナルフォーカス △(イサックの色がおかしくなる)
・デッドリーブロー △(イサックの色がおかしくなる)
・フレッシュエア ○
・獅子吼 x 何かが読み込めてない感じで蔵落ち
・ハートリボン x 何かが読み込めてない感じで蔵落ち
・ワープ x 何かが読み込めてない感じで蔵落ち
・ターゲット x 何かが読み込めてない感じで蔵落ち
・ストップ x SEが鳴ったが何かが読み込めてない感じで蔵落ち
・クリスタルスプリンター x 何かが読み込めてない感じで蔵落ち
・ジャッジメントレイ △ エフェクトが少ない
・アースクエイク x 何かが読み込めてない感じで蔵落ち
・ガイアインパクト x 何かが読み込めてない感じで蔵落ち
・エクスプロージョン △ 肝心の爆発エフェクトがない 再起動繰り返してたらふとしたひょうしにエラー落ちするようになった
・ゴッドーバード x 何かが読み込めてない感じで蔵落ち
・アースプロテクション x 蔵落ち 陣スキルだし当然といえば当然か。
・ハードウェポン x 何かが読み込めてない感じで蔵落ち
・スクエアショック ○
・ファイヤーブラスト x 何かが読み込めてない感じで蔵落ち
・ディトネート x 何かが読み込めてない感じで蔵落ち
・フレッシュエア ○
・ガスト ○

これを機に今後Action.jtalesと0006.d2dを調査し直してまとめたいと思います。コピペでできるならそれにこしたことはないんですが今回コピペしてダメでしたからね・・・。



もしよろしければ私のモチベーションアップの為にチャンネル登録お願いします!

2018/06/25

KFDとMSHの調査その1

氷魔法の詠唱時に出るエフェクトはicetail.tga2というBMPフォルダに入ってる画像ファイルが使用されている模様。(TWViewerで確認) そしてそれを3DObject内のファイルにgrep検索をかけると何件かヒットしました。適当に0281.KFDとMSHをリネームしてアイスフォグ を使用するとリネームした0281.KFDとMSHが開けません。と表示されました。試しに下記の番号のKFDとMSHファイルを入れ替えます。

アイスフォグ 0281
ゴーストバースト 0706

試しに撃ってみるとゴーストバーストのグラフィックを飛ばしてるのを確認。このKFDとMSHファイル はアニメで使用されるBMPファイルをどのタイミングで表示させるかを指定するファイルですかね。 d2aの解析もあるのでこの件は後回し。

それにしてもメモ確認してたらKFDとMSHファイルの存在はだいぶ前に確認をしていたらしい。 そしてメモに「0109.d2dにアニメーションIDっぽい番号があった。」とメモしてあったので覗いてみる。

文字化けしまくってるのでおそらく韓国語なんだと予測して翻訳機に突っ込んでみるとあまり翻訳 できていないが最初の方だけ抜粋する。

1,101 0,4 1,101
CLASSを無効に0なし
IDは、0から始める1(スキル)インペᆾE追っ
このDBはツールだけで使用される。 2ガᆲスキル)ティチエル基本攻撃1
クライアントとサーバーの両方3(スキル)キャラクターの基本攻撃1
このDBを使用していない4(スキル)チュンルェ
5(スキル)スフᆶEの?
6ガᆲスキル)シルフカッター
7(発動)キャラクタースキル発動

シルフカッターのアニメIDは確かに6だしティチエルとクロエの基本攻撃は2だがそれよりも クライアントとサーバーの両方このDBを使用しないと書かれているのでエフェクトID追加の 件については関与していなさそうですね。

エフェクトIDは一体どこで定義してどのファイルを使用されているか分かるようなツールがあれば いいんですけどね・・・。こういうときってパケットを見て判断するんですかね・・・。



もしよろしければ私のモチベーションアップの為にチャンネル登録お願いします!

2018/06/22

SCR.BINの調査その2

ナヤトレイでアイスフォグの詠唱をする時にグラが消えないようにする為下記の実験を行いました。。

まずICE_NOV_MOTIVE.SCR.BINをICE_MIDDLE_MOTIVE.SCR.BINにリネームして 下記のバイナリをいじってみました。(アイスフォグを撃つとアイスミサイルと 同じ詠唱モーションをとる)

00000004 - 03 -> 04 特に変化なし 0000000C - 08 -> 0B File Read Error , size not match,request:1,read:0 とダイアログが出るが気にせず撃つと詠唱時グラが消えてSEも鳴らず。

と全体を見渡してみると0E~0Fがやたらあるので間隔を調べてみると20バイト、16バイト、14バイト、13バイト、10バイトとそんなに パターンは多くない模様。d2aと同じような区分けができそうな予感。ただ現時点では断定できないのでやはり手当たり次第バイナリいじって いく必要があります。

というわけでどんどんいじっていきます。バイナリ変更するたびにいちいちクライアントを再起動しなくちゃいけないのが面倒・・・。

0000001D - 0E -> 0F File Read Error , size not match,request:1,read:0 とダイアログが出るが気にせず撃つと詠唱時グラが消えてSEも鳴らず。
00000025 - 3A -> 20 スキル撃つとフリーズ

むむ・・・下手にいじるとフリーズしてしまうのか。区切れそうなものを区切っていくのが先かな・・・?

0E 00 00 00 00 00 00 00 3A 00 00 00 01 00 00 00 01 00 00 00
0F 00 00 00 00 00 00 00 00 00 F0 3F 08 00 00 00 01 00 00 00 00 01 00 00 00
0E 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
0F 00 00 00 00 00 00 00 00 E0 76 40 08 00 00 00 02 00 00 00 00 01 00 00 00
0E 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
0F 00 00 00 00 00 00 00 00 00 77 40 07 00 00 00 03 00 00 00
0E 00 00 00 00 00 00 00 05 00 00 00 03 00 00 00 01 00 00 00
0D 00 00 00 00 00 00 00 00 01 00 00 00
0F 00 00 00 00 00 00 00 00 00 10 40 01 00 00 00 0D 00 00 00 01 00 00 00 00
0E 00 00 00 00 00 00 00 05 00 00 00 03 00 00 00 01 00 00 00
0D 00 00 00 00 00 00 00 00 01 00 00 00

0D 00 00 00 02 00 00 00 00
0E 00 00 00 00 00 00 00 09 00 00 00 03 00 00 00 01 00 00 00
0D 00 00 00 00 00 00 00 00 01 00 00 00
0D 00 00 00 01 00 00 00 00 01 00 00 00
0F 00 00 00 00 00 00 00 00 00 F0 3F 07 00 00 00 01 00 00 00
0E 00 00 00 00 00 00 00 09 00 00 00 03 00 00 00 01 00 00 00
0D 00 00 00 00 00 00 00 00 01 00 00 00
0D 00 00 00 02 00 00 00 00 01 00 00 00
0F 00 00 00 00 00 00 00 00 00 F0 3F 07 00 00 00 01 00 00 00
0E 00 00 00 00 00 00 00 08 00 00 00 04 00 00 00 01 00 00 00
0F 00 00 00 00 00 00 00 00 00 F0 BF 01 00 00 00
0D 00 00 00 01 00 00 00 00 01 00 00 00
0F 00 00 00 00 00 00 00 00 00 F0 3F 01 00 00 00
0F 00 00 00 00 00 00 00 00 00 F0 3F 07 00 00 00 01 00 00 00
0E 00 00 00 00 00 00 00 08 00 00 00 04 00 00 00 01 00 00 00
0F 00 00 00 00 00 00 00 00 00 F0 BF 01 00 00 00
0D 00 00 00 02 00 00 00 00 01 00 00 00
0F 00 00 00 00 00 00 00 00 00 F0 3F 01 00 00 00
0D 00 00 00 02 00 00 00 00 01 00 00 00
0F 00 00 00 00 00 00 00 00 00 F0 3F 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 07 00 00 00 01 00 00 00
0E 00 00 00 00 00 00 00 1D 00 00 00 03 00 00 00 01 00 00 00
0D 00 00 00 00 00 00 00 00 01 00 00 00
0F 00 00 00 00 00 00 00 00 00 20 40 01 00 00 00
0F 00 00 00 00 00 00 00 00 00 F0 3F 03 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00

超眠いので今日はここまで・・・。

0192.wav FB詠唱時のSE
0194.wav IF詠唱時のSE



もしよろしければ私のモチベーションアップの為にチャンネル登録お願いします!

2018/06/21

SCR.BINの調査その1

ICE_NOV_MOTIVE.SCR.BINを書き換えて遊んでみました。

00000067 - E0 ->E1
00000068 - 76 ->77
00000095 - 77 ->78
00000096 - 40 ->41

CAniMge::CreateNewObjAni()Error,dwIndex[25165824]>=MAX_OBJANI[19999]と出て強制終了。

00000095 - 77 ->78のみ変更
効果音が再生されなくなった。(指定したSEファイルが存在しない?)

00000096 - 40 ->41のみ変更
CAniMge::CreateNewObjAni()Error,dwIndex[25165824]>=MAX_OBJANI[19999]と出て強制終了。

00000096 - 40 ->39のみ変更
なんかゼリッピ(左斜め後ろ向きの待機モーション)が表示されたんですが・・・。とここでちょっと思いついたことがあります。39 07(1849.d2a) を指定しているとしたら・・・・?1849.d2aを適当にリネームしてICE_NOV_MOTIVE.SCR.BINを再生できるスキルを撃つと・・・。特に読み込めないなどのエラー は怒らず・・・。

>00000096 - 40 ->38のみ変更
同上

00000067 - E0 ->FF
よく見えないけどエフェクトが出現。

00000067 - E0 ->01 変化を確認できず
00000067 - E0 ->02 ウィッキディの帽子みたいなのが出現
TWCI_2018_6_21_22_46_28.jpg
GMでハイド状態にしておけば見やすいことに気がついた。

上記4バイトの値が理解できずに本日は終了。



もしよろしければ私のモチベーションアップの為にチャンネル登録お願いします!

2018/06/20

d2aファイルを解析・・・せずにscr.binの調査

今回はd2aファイルではなくScriptフォルダに入ってるscr.binの調査。それぞれ火炎と氷結の初級~最上級魔法までのアニメーションIDおよびScr.binファイルの指定らへんをまとめてみます。

イグニッション Fire_Nov_Motive.SCR.BIN SKILL_Ignition.SCR.BIN 0 0
ファイヤーアロー Fire_Nov_Motive.SCR.BIN null 0 88
ファイヤーボール Fire_Middle_Motive.SCR.BIN FireBall.scr.BIN 0 98
メガブレイズ Fire_Middle_Motive.SCR.BIN Mega_Blaze.SCR.BIN 0 100
メテオストライク Fire_Middle_Motive.SCR.BIN null 0 89

フリーズ Ice_Nov_Motive.SCR.BIN SKILL_Freeze.SCR.BIN 0 103
アイスミサイル Ice_Nov_Motive.SCR.BIN null 0 87
アイスフォグ Ice_Middle_Motive.SCR.BIN Ice_Fog.scr.BIN 0 99
アイシングピアス Ice_Middle_Motive.SCR.BIN Icing_Pierce.SCR.BIN 0 101
アイシクルレイン Ice_Middle_Motive.SCR.BIN null 0 90

左から順に「スキル名 詠唱モーション 攻撃モーション? 不明 アニメーションID」となっていると思われます。〇〇_Nov_Motive.SCR.BINを 指定した魔法スキル、いわゆる初級にあたる魔法スキルですがこれはどのキャラでもモーションをとるようになっているのでまず Fire_Nov_Motive.SCR.BINとIce_Nov_Motive.SCR.BINを比較してみました。

バイナリがほとんど一緒で67~68バイト目と94~95バイト目のみが違いおそらくここで詠唱時に出る炎とか 氷とかのエフェクトを指定しているのかと思われます。次にIce_Nov_Motive.SCR.BINとIce_Middle_Motive.SCR.BINを比較してみました。

Middle_Motiveは相違箇所が多くてよく分かりませんね。今日はいじる時間がないので後日いじっていきたいと思います。

SCR.BINと並行でFire_Nov_Motive.SCR.BINを撃つときの詠唱モーションで使われるfiretail.tga2がどのファイルで参照されているか Grep検索をかけて調べました。(firetail→ 66 69 72 65 74 61 69)

0218.KFD  0218.MSH  0235.KFD  0235.MSH  0288.MSH  0289.MSH  0375.MSH で参照されています。中身を見てみると割と簡単そうな構造をしていそうですが おそらく私が求めているものではなさそうなので後回し。

ちなみに私は魔法スキルに目が行きがちですが物理スキルに着目すると割とおもしろいことになりそうです。

連突き MOTIVE_Basic_Melee_Skill.SCR.BIN Youn.scr.BIN 0 0
他キャラの連も同様でYoun.scr.BINでモーションデータを読み込むみたいです。Youn.SCR.BINをいじればランジエの クレイジーショットやイサックの乱打なども実装できますかね。

心 MOTIVE_Basic_Melee_Skill.SCR.BIN SKILL_Sim.SCR.BIN 0 0
カードスプレー MOTIVE_Basic_Melee_Skill.SCR.BIN SKILL_Card_Spray.SCR.BIN 0 0
手裏剣撃ち MOTIVE_Basic_Melee_Skill.SCR.BIN SKILL_Surigum_Launch.SCR.BIN 0 0
スタッカート1 Jo_MOTIVE_starcarrt.SCR.BIN Jo_SKILL_starcarrt.SCR.BIN 0 0

次の休みは月曜だったかな?d2aにしろSCR.BINにしろ解析する時間があまりとれなくて解析が進まなさそうです・・・orz。



もしよろしければ私のモチベーションアップの為にチャンネル登録お願いします!

2018/06/19

d2aファイルを解析中その6 本題はランチャーファイルの配布

今回は0167.d2aの最初の方をいじってみました。

000000000 - 0F -> 10 特に変化なし
000000000 - 0F -> 08 「./3DOBJECT/46592.MTD」が開けないとずっと表示され ESCし続けると「File Read Error.size not match request:1 read:0」と表示

000000000 - 0F -> 09~0A 同上
000000001 - 06 -> 06以外 エラー

1バイト目を0Bより下の値にすると起動しなくなるかと思いきや46592.MTDが開けないとか言われちゃいました。 46592.MTDは最新蔵でも存在しないので謎です・・・。また2バイト目を06以外に変更するとエラーが出ちゃいました。 最初の2バイトで他のファイルを指定しているのだろうか・・・?

ところで00000000Dは全キャラのd2aファイルを比較すると必ず01になっています。ファイル構造を理解する上で何かのヒントに なるのではないでしょうか。ちょっと短いけど今回のd2a調査はここまで。

そしてこっちが本題です。最近エミュ鯖始めたらしい日本語勉強中の海外の方からこんなコメントを頂きました。

外部フォルダ直接読み込めるTalesweaver.Datのいらないエミュ鯖がありますが必要な方はいらっしゃいませんか。

Talesweaver.Datのいらないエミュ鯖???外部フォルダを直接読み込めるというのはおそらくInphaseNXD.INIで指定する フォルダのことなんだろうと推測しましたがTalesweaver.Datのいらないエミュ鯖???
当然興味を持ったのでド直球に「欲しいです。」 とメールしたら1.4GBくらいのファイルと添付してくれました。

出回ってる404クライアントに少し改造したランチャーファイル(とHome鯖と思われるファイル)が同梱されていました。個人的に 一番興味のあったのはクライアント本体でしたが、404とファイルサイズが一緒でバージョンを4.30に変えただけのものでした。 それでもらったファイル達を皆さんに研究していただけたらと思い、メールで外人さんに「配布してもいい?」と言ったらOKくれました。 よって許可されたランチャーファイルを配布いたします。使い方は私にも変わりません(-_-;;)

ファイルはこちら

今日はここまで。許可くれたスタンレーさんありがとう!日本語頑張ってください : )



もしよろしければ私のモチベーションアップの為にチャンネル登録お願いします!

2018/06/15

息抜きに未実装キャラ達を実装し直してみる

バイナリばっかり見てると発狂しそうなので気分転換に404で未実装のキャラを作成できるようにします。まずはNewCharacterTemplate.jtalesに 未実装キャラのHPを全て1以上に設定します。(本鯖基準にしたい方はTalesWikiやd2dなんかを参考にしましょう)

次にD2D分解結合ツールで分解した0018.d2d.txtを編集します。(ExcelかOpenOffice calcにて別ファイルとして編集を推奨 テーブルになってだいぶ見やすくなります。) 左から2番目の2,-1の列の0になっている箇所を1に書き換えます。(ちなみに鯖側で制限がかかってるせいか13キャラより増やせません) 編集し終わったら0018.d2d.txtにコピーし直してD2D分解結合ツールで結合した0018.d2d.txtをDataBaseフォルダにぶちこんで蔵を起動させ・・る前にまだやることがありました。

このままだと404で未実装なキャラ達を作成することはできますがグラフィックがゼリッピになってしまうので0011.d2dも編集します。 と言っても各キャラ左から6列目の0になっている箇所を下記のように書き換えて対応するd2aファイルをDACフォルダに、対応するTEXファイルも移しておきましょう。

ランジエ・ローゼンクランツ 6025
イザーク・デュカステル 6026
アナイス・デル・カリル 6027
クロエ・ダ・フォンティナ 6024
ベンヤ 38278

現状DACファイルは20000、tex3000以上読み込めないのでベンヤやアナイスを実装する場合はd2aファイルとtexファイルの指定を変更、ファイルをリネームしましょう。

・・・中略・・・
あれ?バイナリ編集しないとイケナイ感じ?どっか書き換えなきゃいけない場所あるのかな・・・?あ!InphaseNXD.iniでDatabaseフォルダを変更してませんでした;;これで大丈夫・・・かと思いきやキャラ作成画面に未実装キャラが表示されない・・・?にっちもさっちもいかなくなったので結局蔵のバイナリいじりました。(0015F5400 - 77 ->EB と 0015F4D0 - 77 -> EB )

なんかTEXを新しいのに変えろ!とか読み込めてないファイルがあるぞ!みたいに言ってきますがそのとおりにすれば起動します。しかしキャラ作成時に鯖側の方でAssertion Faild to Xien.m:399みたいなエラーが起こって鯖が勝手に再起動しちゃいました・・・。原因は新しいverのクライアントからキャラのデータ(Xienなどの設定)をそのまま持ってくるんじゃなくてMainXienの最大数を増やさないでやりくりしなくてはなりませんでした。この問題も放っておくわけには行きませんが・・・少しだけ解析してみようかな 。

って結局バイナリ見ることになるやんか~い!



もしよろしければ私のモチベーションアップの為にチャンネル登録お願いします!

2018/06/14

d2aファイルを解析中その5

WS0010800.jpg

上図のモーションの最後の重いデータについて調査してみました。結論から言わせてもらいますと成果は何もありませんでした・・・。

00002CD0D - 01 -> FF 動作を停止しましたと出て強制終了
00002CD0D - 01 -> 05 ランタイムエラーで強制終了

おそらく1バイト目はいじってはいけないかと思われます。他にどこをいじろうか悩みながら00002CD0D~00002CFB を見ているとなんとなく2バイト区切りになってそうな・・・?

00002CD0F - 00 -> 01 動作を停止しましたと出て強制終了
00002CE05 - 11 -> FF とりあえず起動はしたものの変化が分からず
00002CE07 - 01 -> FF 動作を停止しましたと出て強制終了
00002CE0F - 14 -> 79 効果音に変化が!(LB撃ったあとのSE→金属切ったような音)

効果音のファイル数が255までなわけがないのでおそらく2バイト分はSE指定だと思われたので

00002CE0E - 00 -> 05
00002CE0F - 14 -> 19

とすれば0405.wavが鳴るはず・・・・が動作を停止しましたと出て強制終了。リトルエイディアンじゃないと仮定して下記に変更・・・SEが鳴りませんでした。

00002CE0F - 14 -> 19
00002CF00 - 00 -> 05

また上記のように値をいじくっても変化が見られずFFに変えても変化が分かりませんでした。

00002CF01 - 00 -> 01
00002CF02 - 00 -> 01
00002CF04 - 00 -> 01
00002CF05 - 00 -> 01
00002CF06 - 00 -> 01
00002CF07 - 00 -> 01
00002CF08 - 00 -> 01
00002CF09 - 00 -> 01

パッと見で変化がわからないのでこの辺をいじるのはひとまず置いて今度からは別の場所を調査します。



もしよろしければ私のモチベーションアップの為にチャンネル登録お願いします!

2018/06/14

d2aファイルを解析中その4

2chスレおよびこのブログのコメントに載せてくれた情報をまとめてみました。

d2a_motion_map.png

イメージとしては上記のような感じになると思います。それぞれ下記の画像を交えて①~④の情報もまとめて行きたいと思います。(あとは何かが分かれば下記のようなデータの塊を自動で抜き出し編集ができそうな気がするのですが・・・・)

WS0010796.jpg
※0167.d2d(ナヤトレイ)

①ある動作のモーションヘッダ
00 00 00 00 08
1バイト目:モーションの塊番号(呼び方募集中。これでもなんとなくわかりますが・・・)
 上図で言うと①の番号。
2~4バイト目:不明
5バイト目:各モーションの塊形成数(呼び方募集中。これでもなんとなくわかりますが・・・)
 上図で言うと①から次の①までの②(緑色のデータ)の数です。

②ある動作の任意の向きのモーションヘッダ
1バイト目:向き指定
その他は不明

③④モーションデータ
1~2バイト目:dtxの番号
3~4バイト目:dtx内のファイル番号
5~6バイト目:開始フレーム
7バイト目:左右反転
8バイト目:フレーム使用判定
9~11バイト目:不明(00で固定?)
12~13バイト目:モーションが行われるフレーム数
-----8バイト目が00以外の場合下記も使用-----
14バイト目:向きの指定?
左斜め後ろ:00、背面:02、右斜め後ろ:04、右:06、右斜め前:08、正面:0A、左斜め前:0C、左:0E
15~17バイト目:不明(データの区切り?)

どっか情報漏れてるかもしれませんがだいたいこんな感じでしょうか。ただモーションデータ8バイト目のフレーム使用判定ですが私が抜き出したモーションデータ(切り取り間違いがなければ)の8バイト目って全部01なんですけどこれは一体・・・?モーションの最後は13バイト目からは省略可能と思えばアレですけどそうなると8バイト目の01って意味があるのだろうか・・・?

スキル使用時の一連モーションの最後のデータが重いという記述がありましたがもしかして下記の赤枠で囲ったような箇所でですかね?

WS0010798.jpg

この記事を書き終えたらさっそく調査してみたいと思います。



もしよろしければ私のモチベーションアップの為にチャンネル登録お願いします!