FC2ブログ
2017/09/20

エミュ鯖で新規MAP実装について考えてみる 。その2

どうも。前回に引き続きtwmの解析をしたいと思います。前回338バイト毎に0D 00 0D 00があるとお話をしましたがこの338バイトについてちょっと思うところがあったので色々計算してみたらある事実がわかりました。

338を2で割って見て下さい。169・・・・?あ!13の自乗だ!なぜ2で割ったかといいますと2バイト毎に通行フラグ(02が通行不可 00が通行可)あるでしょ?てことは区切りの00を排除するとry

まあ・・・・この記事書いてる間にスレでだいたいの流れが書かれたのでこの考察自体あまり有用ではないと思われますが。起爆剤投与という点では有用だったようなので良かったです。

ただスレに書かれていた方法だとミニマップがないMAPの追加が出来無さそうな感じなのでやはりバイナリとにらめっこしなければならないようです。あとブロック毎の通行フラグは1ドット単位とのことですが13*13が1ブロックだとしたら0,0の次のブロックは13,0からなんでしょうかね?ちょっと計算したいと思います。歩行が出来るのは56,66からなので1個目のブロックの始点が0,0、2個目のブロックの始点が13,0、3個目のブロックの始点が26,0・・・としてさらに最初の方の4バイトの42 00 00 00(10進数で66)がx方向にブロック66個分と考えると858,0が66ブロック目になるのかな?んで次の67ブロック目の始点が0,13とy方向に13増えて・・・みたいな感じでフラグをいじるところまで妄想できました。

これらを踏まえて旗取り待機室のフラグをいじっていきたいと思います。まず通行可能なフラグが立ってる56,64周辺のブロックが何個目のブロックかを考えます。64を13で割ると約4.92、つまりy方向に5ブロックいかない4ブロック分と考えます。(0,64が264個目のブロック?)そこからさらに56を約4.3、x方向に4ブロック進んだところだから通行可能なフラグが立ってる最初のブロックは268個目・・・かな?そんで268個目がバイナリのどの辺りかと言いますとおそらく(338+4)*268で91656バイト目周辺?(計算に自信なし)

あれ?ちょっと待ってよ・・・0337.twmのサイズが8865バイトしかないぞ!?というわけで上記の考察は無しの方向で・・・。



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

コメント

非公開コメント

Re: No title

Wikiを作ったのは確かに私ですね。(ほぼ丸投げな状態ですが)
情報共有するのは構いませんが、最近本鯖プレイしてるのであまり時間がとれないと思います。それでもよろしければ送ってもいいですよ!送る際には何か分かるようにコメント付けて送って下さい。(久々にSkypeログインしたら外人さんらしき人からコンタクトがあったので)

No title

ブログは凄く参考にしていましたよ!情報を載せている方が殆どいませんからね…
まだやっている人がどれだけいるのか気になる所です。壁にすぐぶつかるので追いつければ良いけど←
ちなみにスレでは02が169(13*13)あったと言ったんですが、全て見ると170超えてる所もあり謎はまだありそうです。
そこさえ解決出来れば殆ど作業なのでツールも可能だと思います。
またd2m側を編集する事で、旗取りの通れない箇所修正や隠し通路なんかも実装出来るかもですね!

ところで、赤い影さんはtwエミュ鯖情報共有WIKIの作った方ですよね?
今回の事で正直協力して開発しないと全く進まないという事が分かりました…
良かったらスカイプなどで情報を共有出来ればと思うのですが、宜しいでしょうか?
もし大丈夫でしたら、WIKIにあるスカイプIDに送りたいと思います。

Re: No title

見て下さる方が1人でもいると記事を書いた甲斐があります!最近始めた人にとっては「構築が進んでる!スゲー!」ってなりますよね。ただ進んでる人たちのほとんどが亀更新、もしくは何らかしらの理由で止めたor休止してる状態だと思うのですぐ追いついちゃいますよ(笑)

さてスレを見てみましたが通行フラグがユーザー側とMOB側で分けられてるのには驚きました・・・。もしかしてMAP追加するだけなら簡単に出来るのでは?MOBの通行フラグに関してはちょっとd2m見てないのでなんとも言えませんがバイナリに同じ箇所があるとのことなので変換ツール的なものを作れると良さそう。

No title

起爆剤有難うございました!
実は何度かブログにある構築を参考にしていたんですが、やはり周りは構築が進んでいる様ですね…。
さて解釈が間違っていたら申し訳ないですし、無しの方向でって事なのでアレかもしれませんが…
56,66はスタート地点ではなく、もっと左側の何も無い所から始まっています。
これがどこから始まっているのかが分からなかったので、ミニマップで上下左右-32が云々という話だったのですが
今回の方法はミニマップでの作成方法自体無意味になりました。自分の苦労は一体…
一応簡単な画像で申し訳ないですが、こんな感じになっていますよ。
ttps://imgur.com/a/hkhYS
青い部分がマップで通れる部分、黒い部分全てが壁の向こう側です。
66はミニマップ上でのドットで、ここは分からないですが1ドットは座標じゃないかもしれません。13*13も同じく。
13*13(0D 00 0D 00)が5個(66÷5)と余った部分の6番目に1*13(01 00 0D 00)となり、縦も同様な感じになりますよ。