\[原妖城收集\]GMSV修改方法②
-
修改gmsv使驱魔香诱魔香可用!
gmsv载入到IDA,在函数ITEM_useInverseTohelos(诱魔香)看到如下代码:
(关键偏移0xA4667h)
.text:080EC640 push ebp
.text:080EC641 mov ebp, esp
.text:080EC643 push edi
.text:080EC644 push esi
.text:080EC645 push ebx
.text:080EC646 sub esp, 138h
.text:080EC64C mov ebx, [ebp+arg_0]
.text:080EC64F push ebx
.text:080EC650 mov edi, [ebp+arg_8]
.text:080EC653 mov [ebp+var_130], 0
.text:080EC65D call ITEM_TohelosFloorCheck
.text:080EC662 add esp, 10h
.text:080EC665 test eax, eax
.text:080EC667 jnz short loc_80EC680
.text:080EC669 sub esp, 8
.text:080EC66C push offset unk_8180700
.text:080EC671 push ebx
.text:080EC672 call SYSTEMMSG
其中call ITEM_TohelosFloorCheck
大概意思应该是调用检查当前地图是否为能使用"香"的地图的子函数,
返回值是eax,如果eax为0那么就往下执行,否则跳转到short loc_80EC680处。
这里,如果顺序往下执行,那么系统将会向玩家提示在offset unk_8180700处写明的信息,然后函数返回
说明往下执行的话应该是不能使用"香"了,那么把这里的JNZ改成JMP,(把75改成EB)
直接忽略掉地图检测的结果,就是说任何地图都能用了。
同理,在函数ITEM_useTohelos(驱魔香)做类似的改动,就可以忽略掉地图检测,即实现任意地图可用。
(关键偏移0xA433Fh)
关于道具设置(应该大多数的端里都有,19300和19301):
驱魔香的话,物品类别23,特殊类别7,子类参数1是持续时间(秒),子类参数2大概是减少的遇敌率?...
诱魔香的话,物品类别23,特殊类别8,子类参数1是持续时间(秒),子类参数2大概是增加的遇敌率?...
gmsv汉化部分:
偏移0x1381BF处:"使用了道具%s。"使用道具成功则提示,%s是对应道具名称。
偏移0x12E4CA处:"香已经用完了。"持续时间完毕则提示。
不求甚解傻瓜版:
用UE打开gmsv,ctrl+g跳转到0xA433F,将75改成EB,再ctrl+g跳转到0xA4667,将75改成EB
修改其他职业可以用暗杀技能
0x0062356 0F 84 改 90 E9
0x00849E2 74 改 EB
用UE打开 ctrl+g 输入下面的地址 例0x11b17c
点确定就到了CG修改可观战地图
0x11b17cGMSV修改战斗不掉耐久地图
0x150d20GMSV修改登陆点
0x150024图中的数据都是换了位的16进制数
7905 换成10进制是1401 法兰城的竞技场的编号
C581 换成10进制是33221 哥拉尔城的竞技场的编号
7BA8 换成10进制是43131 阿剀鲁法的竞技场编号
A1E8 换成10进制是59553 艾夏岛的竞技场编号以上就是魔力中4个战斗不掉耐久的竞技场编号了
要改的话 只能把其中一个替换掉 一般是把不常用的改掉..
比如把艾夏岛的竞技场编号改成你要改的地图编号..
要改的地图编号必须转换成16进制再换位
例:55555换成16进制是D903 [用WINDOWS自带的计算器就能换. 打开计算器点查看-科学型 输入数字 点16进制]
D903换位后是03D9 把第3第4个数字写到前面就是换位了- -又例1000编号是579 换位时需要在前面加个0
0579换位后是 7905..这样...CG修改观战和修改战斗不掉耐久基本一致
修改登陆点也和上面差不多
这里只是多了坐标
E803 法兰城
FA05 FD05 FE05 FF05 0006 0106 都是召唤之间
B081 哥拉尔
5CA8 阿剀鲁法
80E8 扎克特?海玛
CG随意观战地址任意地点观看战斗
CG内B8 7C B1 51 00搜索
B8 3C BD 92 00改
修改组队重叠方法
用IDA打开GMSV,查找到char_party(也可以查找"加入队伍中"这几个字符),确定了加入队伍的时候的两个位置的不同,一共有两个过程,一个是把那个字符串完整的显示出来,另一个是位移了10个字节后显示后边的文字,知道了原理了,现在就开始动手了,先把那个字符串"%s(还有个%D代表什么我忘记了)已经成功加入队伍中。"改为"%s已经成功加入您的队伍。"
找个空地(我写在了0x12be10了)加上字符串"加入到队伍中。",然后,根据0x12be10这个地址号算出IDA里的对应数值,然后,就是对这个位移的那个过程的调转地址进行修改了,修改为自己的新地址。(不知道的没关系,继续看吧),打开UE找到IDA计算出的过程地址,经过计算得出地址为0x2a380,这时,会看到是7D3D1708,改掉哦,我的地址算出来后是08173E10,进行翻转为103E1708,把这个103E1708换掉原来的7D3D1708.保存OK..自己举一反3吧
NPC补血相关:
GMSV内将0xF3311处的09改成你想要的数值,小于等于这个数值就是免费补血的。100级以下补血免费则改成63。
同时修改msg中"9026 \n\n未满等级10级是免费的哦 7"改成未满100级的对应提示就可以了。
原地登出
GMSV内修改
0x2d51dh.
E842EAFFFF改为9090909090
-
这个也学会了
-
非常有用,谢谢咯
-
学习下 谢谢
-
都学会了。太感谢了。
-
路过 友情顶贴 再学习下
-
很方便的修改方法,非常感谢