
【改造依頼】不思議の幻想郷 -ロータスラビリンスR-(Steam版)
| 投稿日 |
: 2021/05/29(Sat) 12:55 |
| 投稿者 |
: ore |
| ID情報 |
: PPkU4N9Oc3UKtN9/xDffb/ |
| 参照先 |
: |
【ゲームタイトル】
不思議の幻想郷 -ロータスラビリンスR-(Steam版)
【ゲーム製作者】
AQUASTYLE
【ゲームの入手先】
https://store.steampowered.com/app/1005120/_R/?l=japanese
【希望内容】
所持金、ニトポ、力、PP、素材減らない、満腹度減らない、アイテム減らない等の機能がほしいです。よろしくおねがいします。

編集

Re: 【改造依頼】不思議の幻想郷 -ロータスラビリンスR-(Steam版) (No.1)
| 投稿日 |
: 2021/06/02(Wed) 11:37 |
| 投稿者 |
: ore |
| ID情報 |
: f0pnIDpnKDfd1G6wTzIoU/ |
| 参照先 |
: |
CheatEngineで来ましたね
https://fearlessrevolution.com/viewtopic.php?f=4&t=16274

編集

Re: 【改造依頼】不思議の幻想郷 -ロータスラビリンスR-(Steam版) (No.2)
| 投稿日 |
: 2022/05/01(Sun) 20:31 |
| 投稿者 |
: スクラップ |
| ID情報 |
: Ej4oBTY2XQwIo1dfsY16n1 |
| 参照先 |
: |
1.09に対応したCheatEngineってありますか?

編集

Re: 【改造依頼】不思議の幻想郷 -ロータスラビリンスR-(Steam版) (No.3)
| 投稿日 |
: 2022/05/07(Sat) 00:26 |
| 投稿者 |
: ぽてと |
| ID情報 |
: LRTthXVCWYoxO.yQ/mP1b0 |
| 参照先 |
: |
1.09対応のCT上げても1.10にバージョン上がって使えなくなったら、またクレクレするんでしょ?
自分で修正する方法を覚えた方がいいですよ。
最近のゲームはゲームを起動する度にアドレス変わるけど、Cheat Enginでゲームを起動し直しても使えるCTファイルでは、
アドレスが変わらないマルチレベルポインター(ポインターのポインター)を見つけてそこから相対的なアドレスを指定しています。
LotusLand7.CT(Ver1.04用)のソースをテキストエディタで開いて眺めると、以下の記述がいっぱい見つかります。
<Address>"LotusLand7.exe"-18E0+012595D0</Address>
この-18E0+012595D0って部分がVer1.04当時のマルチレベルポインター(静的なアドレス)になるので、ここをVer1.09用に直せば
使えるようになります。手順は以下のような感じ。
[マルチレベルポインタの検索手順]
1. ゲーム起動1回目。所持金のアドレスを見つける。DescriptionにMoney1と名前をつける。
2. (Money1)のポインターマップを作る(マップ1)
3. ゲームを再起動する
4. ゲーム起動2回目。所持金のアドレスを見つける。DescriptionにMoney2と名前をつける。
5. (Money2)のポインターマップを作る(マップ2)
6. マップ1とマップ2を使いポインタースキャンをする
7. ヒットした結果、今回の場合だと5,6個見つかるけど全部同じアドレス。"LotusLand7.exe"+012XXXXX
8.で、LotusLand7.CTをテキストエディタで開いて、「"LotusLand7.exe"-18E0+012595D0」を「"LotusLand7.exe"+012XXXXX」に一括置換する。
具体的なCheat Enginのマルチレベルポインタを見つけるための操作手順は「cheat engin ポインタースキャン」でググればすぐ見つかります。
ガンガレ!!

編集

Re: 【改造依頼】不思議の幻想郷 -ロータスラビリンスR-(Steam版) (No.4)
| 投稿日 |
: 2022/05/09(Mon) 01:33 |
| 投稿者 |
: 余路冷皮 |
| ID情報 |
: Weo0GSsEFKYmegXL1XiuQ/ |
| 参照先 |
: |
ぽてとさん、丁寧に手順を示していただいてありがとうございました。1.09で動作させることに成功しました。
なお、上記の方法だとお金とDPの操作は可能になりますが、
他の項目は、HPなどを基準にしてもう一度コンペアポインタースキャンを行う必要があります。
お金とDPの操作ができるようになれば手順はほぼ同じですので、うまく行かないと感じられた方は上記をお試しください。

編集

Re: 【改造依頼】不思議の幻想郷 -ロータスラビリンスR-(Steam版) (No.5)
| 投稿日 |
: 2022/05/17(Tue) 00:00 |
| 投稿者 |
: ふゆ |
| ID情報 |
: K0gXWLofFI1fkiAbFfalZ/ |
| 参照先 |
: |
横から失礼します。
自分も本日このゲームの改造に手を出しました。
お二人のやり取りを参考にして「お金&DP」と「HPなどのステータス」のアドレスを確定する所までは出来ました。
ただ、お金の時は
>7. ヒットした結果、今回の場合だと5,6個見つかるけど全部同じアドレス。"LotusLand7.exe"+012XXXXX
とあるように一発で確定できたのですが、現在HPでサーチした際は候補のアドレスが10個くらい出てきてしまい、総当たりに時間を要してしまいました。(見逃しもあったようで、一度やり直しました)
もしよりスムーズに絞り込む方法があるのであれば、後学のために教えていただければ幸いです。

編集

Re: 【改造依頼】不思議の幻想郷 -ロータスラビリンスR-(Steam版) (No.6)
| 投稿日 |
: 2022/05/17(Tue) 01:59 |
| 投稿者 |
: Might ◆vrXDlAZzCig |
| ID情報 |
: CL3.Hel1duVvWUktxYRJV. |
| 参照先 |
: |
基本的に数が小さい値を検索する場合はバイト列検索でやるとほとんどのケースで数件、あるいは1件に絞られます。
例えばこのゲームでは現在HP、最大HP、最大HPと同じ数、現在Tummy、最大Tummyのような感じで並んでいます。
これをレベル1の場合のバイト列にすると1E 00 00 00 1E 00 00 00 1E 00 00 00 64 64 08 08となります。(30 30 30 100 100 8 8)
3番目の数値は必ずしも特定出来る値ではありません、それではどうすれば良いのか?簡単に言えば分からないなら分からないまま検索すれば良いのです。
1E 00 00 00 1E 00 00 00 ** ** ** ** 64 64 08 08
これでも検索結果は1件のままです、** ** ** **については?? ?? ?? ??でも同様です。
他にもパラメータの近くに名前がある場合は値をString、スキャンタイプをテキストにして検索するなどのやり方があります。
例えば現在HPが多くヒットしてしまった場合でも半分を固定して変化があれば次の半分といった感じで絞ると効率が良いです。ただしフリーズする可能性もあるのでゲーム次第ではあります。

編集

Re: 【改造依頼】不思議の幻想郷 -ロータスラビリンスR-(Steam版) (No.7)
| 投稿日 |
: 2022/05/18(Wed) 21:45 |
| 投稿者 |
: ぽてと |
| ID情報 |
: LRTthXVCWYoxO.yQ/mP1b0 |
| 参照先 |
: |
偉そうなこと書いてますが、私の場合はへっぽこなので
絞れなかった場合は、pointerscan result結果を片っ端から
ダブルクリックで下のリストに移して、CTファイルとして保存。
再度ゲームを起動して、正常に数値が取得出来ている奴を採用するというアナログな方法でやっています。

編集

Re: 【改造依頼】不思議の幻想郷 -ロータスラビリンスR-(Steam版) (No.8)
| 投稿日 |
: 2022/05/19(Thu) 13:21 |
| 投稿者 |
: 余路冷皮 |
| ID情報 |
: Weo0GSsEFKYmegXL1XiuQ/ |
| 参照先 |
: |
すみません、HPでの絞り込みについての補足です。
元のCTファイルに以下の記述がありますが
<Description>"HP"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"LotusLand7.exe"-18A0+0126B690</Address>
<Offsets>
<Offset>120</Offset>
<Offset>48</Offset>
注目する部分は、<offset>の部分です
offset とは、ベースアドレスから目的のアドレスがどれだけずれているかの数値ですが、
プログラムが大幅に変わらない限りoffsetも変わりません。
ですので、コンペアポインタースキャンにて
大量に候補が出てきた場合はこのoffsetに注目して絞り込みを行いました。
具体的には、最初のoffsetが0x120ですので、offset1でソートし、該当の数値のあたりで
かつ、2番目の0x48がヒットするアドレスが1件だけでしたので、これを対応する数値として
登録し、動作確認を行いうまくいきました。
よくよく考えれば大事な点でしたが、記述漏れ申し訳ありませんでした。

編集