签到天数: 2558 天 [LV.Master]伴坛终老
|
本帖最后由 zsyf 于 2013-1-27 18:03 编辑
# H# `8 j" \2 R; a/ y& T1 y" y' A+ D e
首先对疾风之狼大大的发表的MAME Debug教程表示感谢。之前一直在学习早期的一些MAME Debug相关教程,奈何想要研究的游戏却在MAME0.146版时才支持。因此早期的一些教程都用不上,导致研究一度中断很长时间。直到这篇教程的出现,又重新让我燃起了希望。而且,在仔细看过这篇教程并且经过一番实践后,由于E文水平太差,发现在真正HACK游戏时捉襟见肘。对于想把MAME Debug水平学习到可与CheatEngine相比的人来说,这篇教程似乎有些不够了。
9 m. Y2 H( S# P. E3 d' O, ?" p+ T2 O7 k8 t# x
因此“厚颜”相求,如果可以的话,希望能看到更加全面的新版MAME Debug教程(例如可有类似CE的脚本引擎、中文版的汇编指令查询资料等)。如果能像银河漫步大大那样出个《[MAME Debug教学实例应用]由浅入深学习游戏HACK修改》系列教程那就更是感激不尽了。1 R4 O7 J8 Q$ W' k2 G4 w7 ^
4 b( T/ c6 m, A4 k/ X4 l: _ l
PS:由于曾在银河大的《由浅入深》系列视频教程中获益匪浅,在此一并感谢。
6 u6 C! n" r! u. \' I9 D: P
' m1 Q; q4 h% R8 d以下为本人在实践修改麻将游戏——龙虎争霸2中遇到的一些问题,如果管理员大大暂时无暇出教程的话,希望能在这方面得到一点帮助。
" k @, |8 C. {3 I8 R$ J. R7 `9 |9 S7 s5 ~; W" r$ l
对龙虎争霸2的研究起源于52miji论坛上一位网友的求助(地址:http://bbs.52miji.com/thread-65349-1-1.html
% ^/ M* ~. U: k6 [' t3 l" J),由于本人年少混迹于街机厅时,曾被该游戏“忽悠”掉不少零花钱。在得知MAME0.146支持该游戏的模拟后,便第一时间加入了对此游戏的修改研究。时至今日,虽然有了一些成果,但其中未解决的疑问也不少。本来想学52mij论坛的这位网友将自己的心得发布出来,以便能有更厉害的高手能加入进来接力研究时,管理员大大的教程出现了。因此,心得便暂缓发布,得将剩余问题全部解决后再一并发布出来。& p; V/ A! L9 Y* o, y# N& ~. {
; l7 x7 S! T4 i5 e
52miji的网友所未能解决的问题有三:
' c, d! v5 Q) L* a9 b: N. q& S, x6 {, i+ b& ^; O% ?3 z
1、电脑做弊地址,找到就可以解除电脑作弊;' l8 Q4 e; n( }, s/ `, _2 K
2、比倍作弊地址,找到就可以每次都是:发*5;
% M; f3 \' n6 Y7 l, l3 ?9 q. u3、搓牌作弊地址,找到就可以每次搓牌。
+ i' w% E2 J; M4 E6 M& J, {0 E7 l! l D3 O. V( \2 K4 O! s
对于第1项,我是这么理解的,由于可以自由修改已方的14张牌达到想胡什么就胡什么的目的,因此是否解除电脑作弊就不是那么重要了。当然如果有高手能破解此项将是件功德无量的事。
Y9 n; _( ~$ S4 i' q+ w. |/ ?; w* p4 M8 F; |5 I& C
接下来先说第3项——关于搓牌。首先同上,既然可以修改想摸的牌,那么搓不搓牌意义也不大。其次本人研究出来的搓牌方法与正常的搓牌有些许不同,没有过程只有结果,类似于PC上用CE直接调用线程或CALL,而且图像显示还有点不正常。因此,期待哪位大大能研究出正常的无限搓牌方法。
, }! `1 A% Z; R( d$ H$ p
+ a" C O; y& D' L7 J& }最后再来说说第2项——关于比倍。其实真正没有解决且急需解决的便是此项。请看图示,哪怕将比倍的牌修改成自己想要的牌了,但程序仍然判定为负。对于比倍,以前还作过许多研究,但都失败了。只所以在开篇说新版MAME Debug教程带来了希望呢。以本人愚见以及修改PC游戏相关的经验,此段程序应该在某个地方控制着结果的对比,大于就怎么跳,小于怎么跳等等。如果能在比倍分数上在断点,然后分析比倍成功和失败调用过程,应该不难找出突破点。奈何之前所有的研究成果都是基于CE的,而CE对MAME汇编指令无能为力,且本人对MAME Debug知之甚少,因此这个问题便一直搁置之今。直到这篇教程的出现。
0 n# t+ R1 k# |0 ?3 L
9 f0 | t$ l8 w& e. k2 K3 t) v& s9 j; k所以到最后,真正希望大大们帮忙解决的问题便是如何实现比倍不输。期待高手们的加入与解答。
/ v9 G+ D' J% o8 S- i n% S C; S; w* B( V" c& k+ U/ v
附上MAME0.146及龙虎争霸2 ROM的压缩包下载(解压即可游戏,请运行lhzb2a):
" ]. v7 v2 s) @* a+ l4 q& U. k6 ~9 _& y& b& R+ m& U# J6 x7 ^
http://pan.baidu.com/share/link?shareid=227284&uk=2083477867
5 z I6 k# P0 } P) k1 V2 M8 z3 L+ `) ^8 _7 v7 y4 M, g
龙虎争霸2标题:/ E/ y! m( J+ W# c0 k4 s
" }- |1 p& K% N
m( p+ [ y7 @) @9 }/ A& a1 M6 P# c' @) U2 o
! u0 u) q) L" s+ J8 s
龙虎争霸2演示:% t4 D0 }4 r9 |( E5 v1 @( E
C8 {: N! T N* X; }- J
7 i( R1 F8 Z5 Y0 E7 O# G2 c
" \% Q. [, S* i& P- u( \& o; Q1 {自行找到关于比倍的断点:
0 L- ^) J4 k( L ^6 Z6 E
4 Z& T' [' g8 D
$ V$ C8 t& E* s& a/ f/ }: \: V" K! w3 u$ g3 N3 L
如果能有像这样的专用指令查询程序就好了:
3 G' n: ?1 e0 X! g8 p( ?$ \. [5 t% @* |3 L0 B7 c" l; C/ |

% f) D! y2 M* F. H
8 w. N- _) ^) p' l; e: |# Y1 `修改牌面比倍依然无效:
# s8 H! E7 |5 `+ A6 G* j9 W4 E1 p) ~- Q: O5 h2 L% k1 u. y: {

+ z1 I1 @! U! g( f) ~) c b1 D
( x8 ~8 l: ?- J* p: M" W |
|