AmazonLink

コードサーチ中級

数値が分からないコードの検索
初級編ではゲーム画面上に値の変化が分かるものについての検索方法を説明しました。
しかし、Web上でコードを探すと様々な改造コードがあります。当サイトにももちろんあります。
ここでは、ゲーム画面上を見ていても値の変化が分からないものについての検索方法を説明します。ここからはデータタイプや検索タイプ等は書かないので、初級編を参考に自分なりに考えて設定をしてみてください。ちなみに、データサイズについては1バイトで良いと思います。ゲームによっては1バイトではないかもしれませんが。。。
○無敵
アクションゲームで無敵状態が無いゲームはほとんどないでしょう。
アイテムを取ったら無敵になるゲームもありますし、ダメージを受けたら一定時間無敵(ダメージを受けない状態)になるゲームもあります。ダメージを受けたら即ゲームオーバーのゲームだと無敵状態がないかもしれませんが。。。
そんなわけで、アクションゲームのコードを調べる場合は無敵コードもついでに調べてしまいましょう。

無敵状態は、体力や攻撃力と違ってゲーム画面上で具体的な値が見れることはほぼありません。たいていはキャラクタが光ったり、色が変わったりして無敵状態になっているか、なっていないかが分かるだけです。このような場合には比較検索を使って調べていきます。
調べる手順は簡単に説明すると以下のようになります。
 @ 通常状態で検索を開始
 A 無敵状態になったら前回と異なっている値を検索する
 B 通常状態になったら前回と異なっている値を検索する
 C 対象が絞り込めるまでAとBを繰り返す
上記の手順を根気よく繰り返していけばある程度検索対象を絞り込めるので、これだけで無敵コードを調べることができる場合もあります。
これだけでは対象が絞り込めない場合は一工夫してやる必要があります。一工夫と言っても、初級編の比較検索でやった方法ですが。。。

無敵状態で前回と異なる値を検索した後、さらに無敵状態で前回と同じ値を検索したり、同じように通常状態で前回と同じ値を検索したりすることで検索対象を絞り込むことができます。ただし、このやり方をする場合には注意すべき点があります。
体力がゲージで表されている場合には、ゲージが変わらなければ値は変わらないと判断して良いと思いますが、無敵状態の場合は値の変動が画面上に見えないので、無敵状態であれば常に同じ値であるとは言えません。
色々なゲームのコードを調べていると分かってきますが、大抵のゲームでは以下の二通りの変動の仕方をしています。
 1.無敵状態の間は常に値が同じ(下図の下段)
 2.無敵状態の間はゲームが進むに連れて値が減っていく(下図の上段)
 ※図の値は仮の値です。ゲームによって値は変わります。
1の場合には無敵状態のままで比較検索をする場合に、前回と同じ値で検索すれば問題ありません。しかし、2の場合には無敵状態の間に値が変動するので、前回と異なる値で検索しなければなりません。
自分が調べようとしているゲームがどちらのタイプか、もしくは別の変動の仕方かどうかは調べてみないと分かりません。なので、まずは1であると仮定して調べてみて、見つからないようであれば2であると判断して検索をしてみると良いと思います。
それでも見つからない場合は・・・同じ状態での比較検索はせずに、通常状態→無敵状態か無敵状態→通常状態の変化時のときのみ比較検索をして、検索対象を一つずつ探していくしかないです。
コードの検索とは結構地味な作業なのです。
○攻撃回数無制限
次もアクションゲームのコード検索です。RPG系のゲームは数値が分かりやすく簡単に調べることができるので、初級編で説明した方法で大抵のコードは検索できてしまいます。

アクションゲームではよく遠距離攻撃ができますが、遠距離攻撃は同時にできる回数が決まっています。例えば火の攻撃を出すことができるとして、その火の攻撃をしたら火が消えるまでは次の攻撃ができません。つまりこの場合、同時に1回までしか攻撃ができないことになります。改造コードによって火が消える前に攻撃ができるようになり、連続で攻撃をすることができるようになります。
ここではそのコードの検索方法を説明します。上で説明した方法とあまり変わりませんが。。。

今回も比較検索を使って探していきます。同時に1回しか攻撃ができない場合は、攻撃ができる状態と攻撃ができない状態で比較検索をして対象を絞り込んでいきます。
同時に複数回攻撃ができる場合も同じように攻撃ができる状態とできない状態で比較検索を行います。ただし、複数回攻撃の場合は残り何回攻撃ができるかで値が変動すると考えられるので、そこを考慮して検索していきます。

対象のアドレスを見つけるのは、今までの検索方法を理解していればそれほど難しくないと思います。同じような手順で探していくことになるので。
対象のアドレスに設定する値についてですが、これは攻撃ができる状態の値を設定しておけば良いと思いますが、ゲームによって変わると思うので色々な値を試して確認しておきましょう。
攻撃回数無制限は改造コードで案外簡単にできてしまいますが、攻撃を連続で何度も行うと予期せぬ動作をするゲームもありますので、実際にコードを使うときは注意が必要です。ゲーム自体で攻撃が3回までしか許容されていないのに4回同時に攻撃をすると1回目に出した攻撃が消える、ということもありえます。最悪の場合ゲームが止まってしまうこともあるかもしれません。
ま、改造コードを使っていればゲームが止まることなんて日常茶飯事なんであまり気になりませんが。。。
○ジャンプ力アップ
またまたアクションゲームのコード検索です。アクションゲームのコード検索はRPGより難しいのです。

今回はジャンプ力をアップさせるコードです。ジャンプがあるアクションゲームは多いので色々なゲームで探したいところですが、中々見つけることができません。内部の処理が分からないと探すのが難しい上に、ゲームによって処理方法が変わってきます。
そこで、今回は一般的?なジャンプ時の処理に絞って考えてみます。

ちょっと物理的な話をします、ちょっとだけです。
ゲームでジャンプの機能を実現する場合、空中での上昇速度を計算する必要があります。例えばジャンプボタンを押したときに上昇速度は5に設定されてキャラクタが上昇していきます。上昇するにつれてこの値がどんどん減っていきます。0になったときがジャンプの最高点になり、その後値はマイナスになって下降していきます。つまり上昇速度の変化は5→0→-5となります。
このような処理だとすると、空中にいる間は常に値が変動することになりますので、空中にいる間に何度も比較検索を繰り返せばあっさり対象のアドレスを見つけることができたりします。見つからない場合は、地上にいる場合と空中にいる場合で比較検索をして地道に対象を絞っていくことになります。

アドレスを見つけることができたとして、いざコードを入力してみると、ジャンプしたら延々と上昇していき戻ってこなくなる場合があります。これは、改造コードによって上昇速度が固定されてしまい、ずっと上昇するようになることが原因と考えられます。
コードを入力するとこのような状態になった場合、これを直すのはかなり至難の業です。というかプログラムを書き換えないといけないので私のような一般人には無理です。
コードを調べていたゲームがそのような処理になっていた場合はあきらめるしかありません。が、あきらめられない方は当サイトで公開しているMECCを使ってみてください。MECCではキー入力、ボタン入力によってコードのON/OFFを切り替えられるので、ジャンプボタンを押している間だけコードを有効にしてずっと上昇させることができます。ジャンプボタンを離すとコードが無効になり、下降し始めるようになります。(MECCは意外と便利ですよ)

ここでは主に(というか全部)アクションゲームの改造コードの検索方法を説明しました。上の説明を読んでもらうと分かりますが、検索方法はどれも似たり寄ったりです。
ある状態になっている場合となっていない場合で比較検索をして絞り込む、ということを繰り返し実行していきます。また、ジャンプ力アップのコードのように、内部の処理を分かっていないと検索できない場合もありますので、コードを探す場合はそのゲームを熟知していたほうが探しやすくなりますし、面白いコードを探すこともできると思います。
更新履歴
サイトメニュー

人気ページ
商品リンク
管理人おすすめ
当サイトは管理人TATSU、副管理人MIA
によって運営されています。
☆メールによるお問い合わせはコチラ