秦殇吧 关注:15,579贴子:233,211

【发布+教程】秦殇随机战场优化补丁

只看楼主收藏回复



IP属地:山东1楼2022-02-22 07:44回复
    此楼为地址楼,请勿回复


    IP属地:山东2楼2022-02-22 07:44
    收起回复
      简介
      单人模式,随机战场,游戏性优化
      修改了部分随机战场的位置;修改了部分随机战场的刷怪模式。
      现在随机战场已经可以刷出全部动物/怪物,即:
      狗(lv1),虎蛟(lv2),狼(lv3),野猪(lv4),老虎(lv5),狗熊(lv6),狍鸮(lv7),朱厌(lv8),善翼(lv9)
      适用于原版 秦殇 1.30。不适用于各种改过 dll 的 MOD 版本。


      IP属地:山东3楼2022-02-22 07:47
      收起回复
        修改详情
        【随机战场位置修改】

        【随机战场刷怪模式修改】


        IP属地:山东4楼2022-02-22 07:49
        回复
          使用说明
          1、备份 秦殇根目录 下的 easyrpg116.dll。
          2、将本补丁中 easyrpg116.dll 拷贝到秦殇根目录下覆盖。
          3、再次进入游戏时补丁生效。
          注意:【随机战场位置修改】对原版存档无效,对打了补丁以后再重新开始新游戏的存档才有效。
          注意:【随机战场刷怪模式修改】对所有存档都生效。


          IP属地:山东5楼2022-02-22 07:50
          收起回复
            很棒啊


            IP属地:河北来自Android客户端6楼2022-02-22 07:51
            收起回复
              厉害了我的哥,适合steam版不?


              IP属地:陕西来自Android客户端7楼2022-02-22 08:09
              回复
                牛逼,这么多年了,还能有补丁


                IP属地:河南来自Android客户端8楼2022-02-22 08:32
                收起回复
                  然后说下教程,反汇编修改 easyrpg116.dll。本教程是面向小白的。
                  需要工具:x64dbg,CFFExplore
                  这两个工具都有中文版。我发的分享里也提供这两个工具。
                  1、修改 poq.exe 加载 dll 的顺序
                  这是至关重要的一步,不然后面的修改会变得乱七八糟。
                  用 CFFExplore 打开 poq.exe,如果是高分辨率版,就打开对应的 exe 如:poq1600.exe。
                  然后找到导入目录,用两次 Move Up 把 easyrpg116.dll 弄到最上面,保存退出。


                  IP属地:山东9楼2022-02-22 08:32
                  收起回复
                    2、用 x32dbg 打开 poq.exe
                    右键管理员权限打开工具,x64dbg\release\x32\x32dbg.exe,注意这里一定要是x32dbg.exe
                    然后打开 poq.exe,同样地高分辨率版打开对应exe,如 poq1600.exe。
                    可以看到一大堆汇编代码,在 代码区 点右键,查找引用-所有模块-字符串引用。

                    在跳转到的引用界面搜索 战场2,可以找到一堆,倒数第2个就是它的场景刷怪代码,双击跳转。

                    可以看到它的名字是废墟,并且在场景生成时会生成2块矿石,1块木材,2个NPC强盗长枪(这里被我改成了0个),NPC强盗长枪就是进入场景时与你对话的那2个家伙。


                    IP属地:山东10楼2022-02-22 08:42
                    回复
                      STEAM版可以用吗


                      IP属地:云南来自Android客户端11楼2022-02-22 09:15
                      收起回复
                        3、修改刷怪类型
                        再往下拉就找到刷怪代码了,一般每个战场都有多种刷怪模式,战场2比较特殊只有一个。可以看到这里被我改出了原版没有的动物犬。
                        介绍一下这四个区域:
                        地址区:每次读取程序都可能会变,这里的内容不能改。
                        二进制区:程序的真正内容(不光包括exe,也包括它运行需要依赖的dll),用记事本打开全是乱码的就是这些玩意,对非专业人士来说,天书,还没有标点。
                        反汇编区:x32dbg 翻译的汇编代码,我们主要改的是这个区域的内容。
                        注释区:x32dbg 生成的注释,不要试图改这个,没有任何用。

                        接下来我们试图把下面的 喽罗长枪新 也给改成 动物犬。选中 动物犬 那一行,按空格,把这条不明觉厉的玩意复制下来。

                        然后再选中下面的 喽罗长枪新,按空格,粘贴,确定。应该会看到下面这个结果。

                        这样就成功修改了刷怪类型。需要强调的是,同样是动物犬,这条不明觉厉的玩意每次打开也可能会变来变去,所以不要试图记录哪条代码对应哪个怪。
                        那如果我想要改成善翼呢?这附近没有善翼的代码啊,点上面标签里的引用,搜索字符串怪兽善翼,然后双击跳过去,空格复制,复制之后关掉小窗口,按键盘上的减号,就能跳回刚才的位置,粘贴。这样就改出了善翼。
                        善翼有好多种,无属性,金木水火土都有,这里笼统的“怪兽善翼”是随机刷其中一种。类似的设定还有“动物老虎”是随机刷小老虎,大老虎,白虎。

                        然后看上面的几个数值型参数,我来介绍一下它们都控制什么。
                        如下图所示是一个完整的刷怪函数调用。
                        push 0x63,阵营。在游戏中我们能观察到并非所有的敌人都处于同一阵营,秦兵和盗贼,动物和秦兵之间也会互相攻击,这个参数就是控制这个的。64是有血条NPC,你不打它它也不打你。63是上来就干,随机战场动物都是63。同一阵营的敌人不会互相攻击。
                        push 0xFFFFFFFF,勿动。
                        push esi,勿动。
                        push 0x67,刷怪位置,这个位置不是xy坐标,而是一个编号,真正的位置坐标是在其他地方定义的。
                        push 0x2,刷怪数量,这里要注意这个数值是16进制数值,如果超过10就要弄个进制转换器。
                        这样就能通过更改这几个参数更好地控制刷怪。比如我把push 0x2改成push 0x8,就能在这个位置刷出8条狗来。


                        IP属地:山东12楼2022-02-22 09:20
                        收起回复
                          4、保存
                          接下来就到了保存环节。
                          文件-补丁文件-补丁文件,然后会提示:
                          你的补丁程序与重定位区域重叠,加载修补的可执行文件时,可能会导致代码损坏,你要继续吗?
                          点击Yes,然后不要覆盖原文件,要保存成另外的名字,如 easyrpg1161.dll。然后自己进入文件夹去把原来的删了,换成新改的。
                          然后转到x32dbg,点击右上角的×,stop debuging。
                          打开游戏就可以测试了。
                          另外,你也可以用修改内存的方式来制作补丁,这样更方便测试,更省时间。
                          具体操作:先打开游戏,然后用x32 dbg,文件-附加,选择 poq.exe,之后的步骤一样,改完之后不用保存,立即生效,改到满意再保存。


                          IP属地:山东13楼2022-02-22 09:30
                          回复
                            恍如隔世,犹如十年前刚来贴吧的感觉,我当年也是野心勃勃,想要科普,想要把研究成果全部展示,只是后来与日俱增的生活压力和这个圈子恶劣的环境,所以我只发成品,并且删除了所有技术贴。不是我泼冷水,吃力不讨好的技术大神,已经进橘子了。


                            来自Android客户端14楼2022-02-22 10:41
                            收起回复
                              挺好,支持一个


                              IP属地:广西15楼2022-02-23 15:25
                              回复