铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 2899|回复: 6

經驗值修改為長整數時,從1級跳到最頂級的問題(DOS 版)

[复制链接]
发表于 2011-10-19 23:57 | 显示全部楼层 |阅读模式
本帖最后由 jerry8192 于 2012-3-31 15:46 编辑

去武當派時,跟張三豐對話完後,就開始戰鬥,先不要打他,到最後,輸給張三豐,獲得 0 點經驗,哇靠!這樣也能升級,顯示人物狀態屬性,怎麼突然升到最頂級,太離譜了吧!
重定位表
經驗值:
0x1232Ch:07 10 4B 05 02 6C 01 07
0x12335h:07 10 56 05 02 6C 01 07
0x1233Eh:07 10 65 05 02 C8 01 07
0x12347h:07 10 70 05 02 C8 01 07
改成
0x1232Ch:07 10 4A 05 02 6C 01 07
0x12335h:07 10 5A 05 02 6C 01 07
0x1233Eh:07 10 68 05 02 C8 01 07
0x12347h:07 10 73 05 02 C8 01 07

  1. 0001C8A8:  0FB783 6C010700            MOVZX   EAX,WORD PTR [EBX+7016C]
复制代码
缺點的是無法改成 MOVZX   EAX,DWORD PTR [EBX+7016C],悲劇!
類似問題請到
http://topic.csdn.net/u/20091217/14/42ab05b9-465d-48f9-96b4-9b262412914c.html
如果是 80386 可以改成長整數嗎?
有符號數:-2147483648 到 2147483647
無符號數:0 到 4294967295
00034F48:  66:81BB 6C010700 E8FD      CMP WORD PTR DS:[EBX+7016C],FDE8
00034F51:  76 09                      JBE SHORT 00034F5C
00034F53:  66:C783 6C010700 E8FD      MOV WORD PTR DS:[EBX+7016C],FDE8
00034F5C:  69C7 B6000000              IMUL EAX,EDI,B6
00034F62:  66:81B8 C8010700 E8FD      CMP WORD PTR DS:[EAX+701C8],FDE8
00034F6B:  76 09                      JBE SHORT 00034F76
00034F6D:  66:C780 C8010700 E8FD      MOV WORD PTR DS:[EAX+701C8],FDE8
00034F76:  69C7 B6000000              IMUL EAX,EDI,B6
改成
00034F48:  81BB 6C010700 E8FD0000     CMP     DWORD PTR [EBX+7016C],FDE8
00034F52:  0F86 0A000000              JBE     00034F62
00034F58:  C783 6C010700 E8FD0000     MOV     DWORD PTR [EBX+7016C],FDE8
00034F62:  6BC7 B6                    IMUL    EAX,EDI,-4A
00034F65:  66:81B8 C8010700 E8FD      CMP     WORD PTR [EAX+701C8],FDE8
00034F6E:  76 09                      JBE     SHORT 00034F79
00034F70:  66:C780 C8010700 E8FD      MOV     WORD PTR [EAX+701C8],FDE8
00034F79:  6BC7 B6                    IMUL    EAX,EDI,-4A
搞了老半天還是搞不定!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-10-29 20:18 | 显示全部楼层
本帖最后由 jerry8192 于 2011-11-3 15:25 编辑

終於找到問題,就是經驗值跟生命值有夾擠現象!能不能把那個下面的左邊倒數第五行的生命值變量向左移?(也許是存檔進度有問題)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-10-20 17:52 | 显示全部楼层
本帖最后由 jerry8192 于 2011-10-22 14:31 编辑
ctermiii 发表于 2011-10-20 17:10
MOVZX   EAX,DWORD PTR [EBX+7016C]
没看懂意思,但movzx指令 不支持后边dword ptr的
直接mov eax,DWORD ...

試過了還是不行,根本無法解決問題!(注:16位兩個字節擴展成32位四個字節)
參考網址
http://www.jyebook.com/resource/data%5Cjuuo%5C00%5C00%5C2e%5Cjuuo00002ebd.pdf

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-10-20 17:10 | 显示全部楼层
MOVZX   EAX,DWORD PTR [EBX+7016C]
没看懂意思,但movzx指令 不支持后边dword ptr的
直接mov eax,DWORD PTR [EBX+7016C]
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-10-26 02:22 | 显示全部楼层
本帖最后由 weyl 于 2011-10-26 02:24 编辑

玩窗口版吧,这样会越改越乱的
数据类型改了的话可能占据别的空间,不推荐这样做。

如果嫌经验值设定范围不够,比较好的方法是增加一段代码,让升级的时候经验值重算,这样升级经验设定的空间就会大很多了。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-11-24 16:49 | 显示全部楼层
本帖最后由 jerry8192 于 2012-3-31 15:45 编辑
weyl 发表于 2011-10-26 02:22
玩窗口版吧,这样会越改越乱的
数据类型改了的话可能占据别的空间,不推荐这样做。

抱歉!我做的事情太粗心大意,過錯是一時的遺憾,所以必須把性別變量值先移到姓名第五個漢字,表示已經遮蔽掉,然後把生命變量值再移到剛剛被移走的性別變量值,所以性別變量值把有符號雙字節(-32768~32767)改成無符號單字節(0~255),那不就好!還有 0x51CB5 處,經驗 %6d(有符號四字節),把它改成 %7u(無符號四字節),最後經驗值採用32位零擴展(0~4294967295),把經驗值上限 60000 改成 42 億,而且有一處(0x1232C)已經重定位過!從 1 級開始,初始經驗為 0,打完一架後(用野球拳),獲得 3760 點經驗值,一下升到 11 級,沒問題!
從 100 級開始,經驗為 42 億,打完一架後(用野球拳),獲得 3760 點經驗值,不升級,所以經驗值不會再增加到 42 億 3760,條件轉移指令還是用無符號小於等於跳轉,所以經驗值就限制到 42 億了!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2011-10-22 09:56 | 显示全部楼层
再不行的話叫高手處理,不然就玩窗口版,其實窗口版的經驗值是可以改成長整數!
例:-2147483648 到 2147483647 或 0 到 4294967295
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-12-19 02:04

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表