三国群英传7修改吧 关注:172贴子:349

最近成果和计划

取消只看楼主收藏回复

嘛,最近几天花了不少时间,果然有了新发现,从某些方面看掌握规律之后修改乱码比修改可读代码还要方便的多么


来自Android客户端1楼2014-05-14 10:33回复
    嗯,首先一切研究起点是得知script实际代码区的存在,以及对应的武将技实际效果指针,只要替换指针就能达到和替换可读代码相同的效果。然后是实际效果区有关于技能等级的参数,特别的伏兵的等级参数是召唤小兵数量,召唤类武将技的等级参数是召唤物的编号(比如冻血刀)。接着是指针后面奇怪的02字符,只要改成03就可以自动连发下一个实际效果,由此完成武将技连锁的修改,而改成04或者05会导致释放该技能强退


    来自Android客户端2楼2014-05-14 10:40
    回复
      然后是关于军师技的研究,如果像武将技制作成暗器那样把武将技制成军师技会怎样?最后发现使用该军师技,则战场中释放军师技的时点会自动释放一次武将技,而大多数script有记录的军师技都是开局自动触发一次,也就是说能做出开局释放星辰封印这样的bug物来。除此之外还有些时点特殊的军师技,比如自身伤亡过半发动的援军,敌军撤退发动的伏兵,每次杀死敌军都有几率触发的借尸还魂


      来自Android客户端3楼2014-05-14 10:48
      回复
        同一时间借由游戏界面的某些文字说明需要在sango7.bin猜测该文件应该控制非战时的某些效果,或者也可能仅仅是文字?总之bin和sg7.exe以及run.exe可以说是最难啃的文件了,从头到尾都是乱码,也没有任何指针可以用来定位


        来自Android客户端4楼2014-05-14 10:52
        回复
          在说回实际效果上,script这个文件控制所有战场上效果和触发事件的显示,如果是这样的话除了武将技军师技和暗器外还漏了一些东西吧,比如式神招来...查ini发现这类特性也有类似暗器的神秘参数903,904...去script搜查果断搜到竟然把他们归类为军师技,真不知道作者怎么想的。好吧然后改成武将技的确会在开战时触发,但是持续时间非常短,大多数技能根本来不及产生效果,而且时点在武将喊话之前,很容易造成卡掉喊话对话框时点,然后两边都无法移动和下达命令只好强退


          来自Android客户端5楼2014-05-14 11:00
          回复
            从另一方面分析,根据script表格查到的实际效果区精确度并不高,目标位置的附近竟然出现了40个以上的重复代码,这要是武将技弄个40连环估计得逆天。而且ini里面的召唤类特性也不过才30多个,怎么对应的也是个问题。好在根据冻血刀代码区会有冻血刀编号被记录这点判断,童子的编号说不定也记录在script里,只不过到底是兵种编号还是特殊编号不好确定,于是干脆全部替换,把童子特殊编号替换成式神姬特殊编号,发现果然游戏中所有的童子召唤特性都叫来了式神姬,说明关联特殊编号。据此在实际效果区附近搜索总算确定了式神招来的效果代码,这货竟然占了三个,一个负责召唤童子一个召唤姬一个召唤狼。。从中取出狼的实际代码改成召唤圣兽(这技能瞬发的不存在伤害出不来的问题),顺利生效而且发现比可读代码那改稳定的多,由于童子召唤和姬召唤的存在把圣兽的时点卡到对话之后,解决了喊话对话框出不来的问题,每局自动召唤童子,姬和圣兽助阵


            来自Android客户端6楼2014-05-14 11:12
            回复
              把genskillstart034改成035,然后用copyscript恢复034代码,这样就存在2个尸魂特性了,把ini里的尸灵改成035,然后改成武将技,可以正常触发,不过034和035都改成武将技后发现035虽然有画面显示但是根本没伤害,纯属花瓶,不知改成伏兵这种不给伤害的技能是否可行


              来自Android客户端8楼2014-05-14 11:20
              回复
                好吧,接下来是突发奇想的关于城池的研究,用新建空白txt改名排除法,发现如果城池位置记录在map文件夹,那么只有可能跟sango7.mpc这个文件有关,随便试了一下第一行的指针,竟然以外的找到了城池的实际位置记录代码,里面每个城池只有四个有效参数,分别是城池显示图片,关联sfobj里面的编号,决定城池外貌同时也决定了城池类型。xy坐标,以及城池编号。里面的记录代码多达475条,而实际上大部分城池编号都是0,试着随便改了个104号城池,果然大地图成功出现了新城池。虽然只有475条代码,不过我估计超过这个数要自己添加也是很容易的,因为代码区后面没有其他指针,只要按照格式自己加好,然后改一下前面的一两个指针指向,几乎没有工作量。不过也发现一些很奇怪的事,有的城池坐标竟然记录为0,0。大地图上x坐标明明上万,手动修改发现能改变他的位置,改成正确的坐标他会保存位置不变,只有改成0他没有出现在0,0处,难道还有其他地方记录着初始的默认坐标?没必要啊。还有1到10号城池竟然都有两条位置记录,各不相同,只有其中一条位置正确,难以理解


                来自Android客户端9楼2014-05-14 11:33
                回复
                  关于修改,在补充几点吧,自从copyscript方法出现后,添加武将技,军师技,必杀技都可以常态化了,尤其利用连锁武将技配合copyscript,添加上百的专属武将技轻而易举,配合其他游戏模型改图片添加几十个必杀也不是很难。把武将技改成士兵特攻其实也不错,士兵普攻有5%记录会给武将一记五雷轰顶是不是很爽


                  来自Android客户端11楼2014-05-14 12:04
                  回复
                    见本吧的目的是为了方便mod制作者和喜欢修改胜于玩游戏的朋友交流技术与思想的,计划两个月内补完至今为止所有修改教程,教程将分为ini基础部分,obd及模型处理进阶部分,以及script等几个乱码文件的高层修改部分,制作速度看心情吧,而且梦之黎明2制作准备中,时间可能会不够的,嘛,先就说这些吧


                    来自Android客户端12楼2014-05-14 12:16
                    回复
                      2014.5.14,通过分析城池位置记录方式发现一个惊人的事实,利用该事实成功找到必杀群龙蔽天实际伤害代码地址,成功修改群龙的显示效果,但试图加强群龙攻击范围不成功,不论改大或改小相关数值都造成群龙范围缩小。


                      来自Android客户端13楼2014-05-15 15:28
                      回复
                        2014.5.14,确认首次攻破获得物品编号信息不在script.so及sango7.gic,对sango7.bin用途总结,倾向于认为该文件控制界面及文字的正常显示(连接wnd obd与exe),而不控制非战时各种效果,将首次攻破信息搜索目标暂定exe与sango7.mpc


                        来自Android客户端14楼2014-05-15 15:33
                        回复
                          2014.5.15试图将圣兽武将的天生特攻转移给其他编号武将,失败,调查特性显示他们所具备特效代码为特殊兵种神兽的攻击特效,只有该编号的npc武将可以使用,但该特性关联的武将编号信息不在script中。


                          来自Android客户端15楼2014-05-16 13:02
                          回复
                            2014.5.15测试将圣兽特攻变为武器特效,但修改可读代码意外的失败了,成功寻找到麒麟附带黄龙天翔的效果代码,但将此复制到49号武器特效效果代码处,依旧无效,实际效果代码地址错误?


                            来自Android客户端16楼2014-05-16 13:06
                            回复
                              2014.5.15初步测试自设武将可选兵种的代码记录位置,使用修改器的2^n定位及融入消耗点数的2^n*3^m定位,在sango7.exe,sango7.bin进行测试均失败,线索中断


                              来自Android客户端17楼2014-05-16 13:09
                              回复