\[原妖城收集\]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修改可观战地图
    0x11b17c

    GMSV修改战斗不掉耐久地图
    0x150d20

    GMSV修改登陆点
    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

    专注剧情与图档研究的潜力种子继续努力着...

    0


  • 这个也学会了



  • 非常有用,谢谢咯



  • 学习下 谢谢



  • 都学会了。太感谢了。



  • 路过 友情顶贴 再学习下



  • 很方便的修改方法,非常感谢


登录后回复