三国群英2吧 关注:46,017贴子:1,016,444

回复:【原创】【教程】用Ultraedit创造自己的阵型!(针对原版1.05

只看楼主收藏回复

群2吧能叫我服气的人没几个。
掌门算一个。


IP属地:江苏77楼2010-09-03 23:09
回复
    跟盗哥打个招呼!


    IP属地:广东78楼2010-09-03 23:18
    回复
      2026-02-11 23:31:58
      广告
      不感兴趣
      开通SVIP免广告
      通过修改exe,目前可以直接用编辑器来编辑阵型,最多支持400个兵(其中后军不超过120)!
      不过好像战场没那么多地方放。
      另外,目前还有个问题没解决,就是当兵数超过200个时,一进战斗回合数自动变为0.
      猜想有2种可能:
      1. sango2是采用静态分配内存,由于内存空间不够导致兵数超过200时覆盖掉回合数的值。
      2. exe文件中有其他位置检测兵数是否超过200.
      阵型编辑器截图
      


      IP属地:广东79楼2010-09-04 23:40
      回复
        回复:79楼
        感谢朋友分享修改心得
        希望问题能有朋友顺利解决,令群二修改更多采多样


        IP属地:广东80楼2010-09-06 12:11
        回复
          看来,我和“还要注册真不爽”兄弟在做同一样事情。
          我也把成果张贴一下吧。
          不过我就不懂编程的,做出来的比较简单,
          


          IP属地:广东81楼2010-09-06 12:28
          回复
            回复:81楼
            掌门兄加油~


            IP属地:广东82楼2010-09-06 12:31
            回复
              回复:79楼
              回复:81楼


              83楼2010-09-06 12:42
              回复
                果然如我所想,是内存覆盖。
                原版战场的左右军是两个全局的变量,每个变量包含0xBC字节固有数据以及0x48*0xC8字节的士兵数据。这就决定了士兵的最大值为0xC8 = 200!
                要修改士兵上限,必须将此全局变量转移到额外的内存空间,并将程序内部对这两个全局变量的指针指向新内存。
                另外,战场99回合,是一个DWORD型的变量,初始化为0x2E68 = 99*120。
                所以战场每个回合是120Tick。而Tick值是由程序自动每次+1的。


                IP属地:广东84楼2010-09-06 14:13
                回复
                  2026-02-11 23:25:58
                  广告
                  不感兴趣
                  开通SVIP免广告
                  代码转移还真是个苦力活
                  进入战场是没问题了,不过选择阵型又出错,还不知道有多少隐藏的Bug在里面。
                  先上张战场图。
                  


                  IP属地:广东85楼2010-09-06 16:05
                  回复
                    回复:85楼
                    要是真能破200个士兵的上限的话,群2就能玩千人大战了。


                    86楼2010-09-07 09:14
                    回复
                      回复:85楼
                      看不太明白哪里出错了。。。


                      IP属地:广东87楼2010-09-07 10:31
                      回复
                        回复86:
                        千人大战是比较困难,群2的战场大小也就是71*14而已,而且还得考虑到阵型的差异,不然每个阵型放满兵都一样,也就没什么好玩的了。
                        回复87:
                        并不是图中出错。图片只是个没问题的截图。
                        出错的是在双方短兵相接时出错。估计是改动代码的时候出错。


                        IP属地:广东88楼2010-09-07 10:59
                        回复
                          感觉ls有理
                          战场大小固定的情形下(71X14),每边200个兵还是相当合理的;每个阵型放满兵都一样的话,就令人提不起劲。


                          IP属地:广东89楼2010-09-07 16:32
                          回复
                            初始版的阵型编辑器出来了!
                            成果如下图


                            IP属地:广东90楼2010-09-09 01:32
                            回复
                              2026-02-11 23:19:58
                              广告
                              不感兴趣
                              开通SVIP免广告
                              IP属地:广东91楼2010-09-09 01:33
                              回复