曹操传吧 关注:90,612贴子:1,337,478

回复:【整理】曹操传优化补丁功能一览

取消只看楼主收藏回复

这里给大家知会一下,留意我的共享的朋友应该知道,我一直都有公开源码,今天突然发现,十天前重新创建的【Source】源码分享的链接也失效了,甚至连脚本菜单【MenuScript】里面全是纯txt的分享也能被举报?!
好吧,我是无所谓啦,反正我也不求什么名利,我所发布的所有补丁,里面都没有一个是带有个人签名信息的(如by某某某制作之类),支付宝赞助那种乞讨式信息更是不可能有。也正是由于这样,我才敢于公布源码,换做一般人,恐怕连写个修改器的源码都当传家之宝供着。
因此链接失效的话,我既不会有任何损失,也没什么动力再次发布。对于无法下载的朋友,我也感到很遗憾,要怪就怪没缘分吧。就如上次图片藏链时有说到过的,“大家随缘下载”,下载不了或是看不懂,大概说明缘分未到,也不必强求了。
谢谢查阅。


IP属地:广西380楼2015-12-08 09:30
收起回复
    前几天看到吧友们的回复真的蛮感动的。无以为报,看到大家贴战报的时候把装备一个个写出来感觉蛮累的,今天就写一个粗略的打印我军全部装备的功能,算是稍稍回报大家的厚待吧。
    打印列表的示例如下:
    [曹操 LV3] [倚天剑 LV1] [皮铠 LV1] [ --- ]
    [夏侯惇 LV3] [短枪 LV1] [皮铠 LV1] [ --- ]
    [曹仁 LV3] [短枪 LV1] [皮铠 LV1] [ --- ]
    [夏侯渊 LV3] [短弓 LV1] [皮铠 LV1] [ --- ]
    [乐进 LV3] [短剑 LV1] [皮铠 LV1] [ --- ]
    [李典 LV3] [短剑 LV1] [皮铠 LV1] [ --- ]
    [曹洪 LV3] [短剑 LV1] [皮铠 LV1] [ --- ]
    吧友们可根据自己情况选择要不要更新使用,如果觉得还是手打排版比较好,不喜欢用的话,我也不会介意,大家随意就是了,本来写这个代码也没花什么时间。
    另外还有两个小改动,是根据 @无敌神鸟人 的建议,在原有功能上做了一点改动。
    2015-12-11 v1.58
    1. 【光标信息】菜单项下面添加【显示移动坐标】功能,会在【显示地形效果】时附加坐标。
    2. 即使在【跳过动画播放】项激活的情况下也会默认自动播放一次动画。
    3. 添加【装备一览】命令,可以文本形式显示当前全部装备,快捷键Q。
    链接还是359楼那个,好了,我要去看小泪泪了。


    IP属地:广西389楼2015-12-11 20:15
    收起回复
      2026-02-20 21:43:26
      广告
      不感兴趣
      开通SVIP免广告
      @逃色恋人 在391楼提出【显示行动顺序】的建议。其实这个我原先在弄【轮流指令系统】时就有想过要显示出来,因为轮流行动的时候对敌方行动次序掌握要求更高。但是由于那轮指系统需要修改的地方太多,而且感觉要获取行动顺序似乎挺麻烦的,最后就将这个想法搁置一边了。
      今天静下心来到汇编里调试了一下,发现比想象中简单得多,原来【行动顺序】是跟hp、mp一样是战场武将的一个属性来的,每方回合开始都会更新一次。然后只要把这个数值显示出来就可以了。虽然显示的或许只是上个回合的行动顺序,但是终归是差不多的。个人感觉作为参考来说应该已经足够了,不是特别需要再实时获取一次。
      显示效果如图:

      注:因为是上个回合的值,所以有的时候第一回合个别武将行动值会未定义(=255)
      如图中左上友军骑兵显示为【--】
      当前更新v1.58测试版v2
      4. 在【状态显示】菜单下添加【显示行动顺序】项,可显示AI行动顺序。默认关闭,建议为此项自定义快捷键。
      链接还是359楼那个。


      IP属地:广西395楼2015-12-15 18:58
      收起回复
        想了想还是弄个简易查询的工具吧,用.Net做的话还是比较快的。不过缺点就是必须要安装.Net4.0才能使用此工具,我保守一点推断,大概要有半数以上的曹操传玩家电脑都没安装吧。没安装的吧友就不建议更新了,为了这小工具安装那个几十M的.Net真没必要,我另外一台XP的电脑就没安装。。。
        具体查询界面如下:

        当前更新v1.58测试版v4
        8. 【战场我军输出统计】下添加【使用外部工具查看】选项。
        9. 统计数据中保存战场是否结束的标记,只有结束的存档才能使用外部工具【ReviewHelper.exe】查询。
        注:只有使用当前版本的存档才能查询完整数据。外部工具可以单独运行,只要运行后再指定【SaveEx】目录就行了。


        IP属地:广西405楼2015-12-18 19:32
        收起回复
          今天看到 @卡_密_萨_玛 那个蛋疼的豪曹资源内置计划似乎还在进行着,想起自己当初在玩豪曹时也被边打边查看官方宝物攻略折腾过。转念一想,添加一个可显示通用攻略的功能也不错。至少以后不需要再自定义书签了。
          当前显示效果如图:

          只要把攻略文件另存为txt格式,文件名【gonglue.txt】,放游戏目录下就可以了。
          当前版本v1.59
          1. 右上角添加显示【显示当前关卡攻略】按钮,只有游戏目录下存在【gonglue.txt】文件才可使用。
          注:攻略格式为1... 2... 3...
          如果是豪曹14的话,由于官方宝物攻略格式已经是每一关开头按阿拉伯数字排序的标准了,因此不需要做任何修改就可以直接使用。
          最后再贴一个攻略格式示例,其实只要按顺序每段开头添加一个关卡序号就行了:
          ---------攻-略-格-式-示-例------------
          1第一关—颖川之战
          重点:击毙张梁!
          牢牢占据张梁身边两个位置中的一个。同时用旋风打击下方的敌兵,当友军把张梁
          2第二关—汜水关之战
          重点:保住孙坚!
          保住孙坚,战斗结束后他会赠送一把古锭刀给你。另外尽量派你的人包围华雄,不要让关羽接触他,来个“温酒斩华雄”,你的大量经验值就泡汤了。
          3第三关—虎牢关之战
          重点:击败吕布!
          本关里,你的部队第一次冲锋的距离要掌握好。若离敌人太近,吕布和他的部队就会一拥而上围攻你。
          4。。。
          5。。。
          。。。
          50。。。
          ---------攻-略-格-式-示-例------------


          IP属地:广西408楼2015-12-31 16:53
          收起回复
            谢谢上面412楼 @milkboy22 这位朋友的支持,你是第二个从头爬完整栋楼再留言的。前几天就想要回复你的谢意的,后来突然之间有不少感触,文字有点难以组织起来。在今天心情平复之后,才得以把想表达的东西写下来。
            其实,光谢我是不够的,更需要感谢的是这里的各位热心吧友不厌其烦地下载更新、帮忙测试和提供反馈与建议。
            前两个月首位从头爬完整栋楼再回复的吧友曾建议我重新整理一个功能说明,这样对于新手使用起来或许会更容易一些。我一来是懒,二来这个补丁能一直更新完善到现在,全赖热心吧友们的反馈和建议。如果又重开一帖小新人们可能就看不到这些热心吧友们的付出了,而且不少功能是根据吧友的好点子实现的,我不应该据为己有。种种这些绝不是单单在前面@一排人的名字就能表达出来的感激之情,这个帖子就是一种见证。没有大家的一起努力,大概这个补丁很早就停止更新了。
            所以,对于刚刚接触到此补丁的玩家来说,我建议抽空看看这个贴里的回复,不但有利于熟悉各个功能,同时还能了解到哪位热心吧友都做出了哪些奉献。如果实在是没时间看完或是有阅读恐惧/障碍的话,恐怕也不是十分适合使用此补丁。前面几楼也有提过,由于不熟悉,遇到问题的时候很容易就会有所猜疑,时常想当然地以为问题就是出在不熟悉的环节。结果游戏的体验也非常不好。


            IP属地:广西414楼2016-01-05 09:46
            回复
              今天发布一个v1.59的正式版,之所以拖了那么久倒也不是因为之前的测试版需要做什么测试。只是在想还有什么功能可以再加的,最后实在没什么想法了干脆就弄了小彩蛋进来吧。至于这个小彩蛋是什么,这里就不公开了,有心或有缘的玩家自然会发现的。
              2016-01-22 v1.59
              1. 右上角添加显示【显示当前关卡攻略】按钮,只有游戏目录下存在【gonglue.txt】文件才可使用。
              注:攻略格式为1... 2... 3...
              2. 添加一个小彩蛋,默认开启,在【其他功能】菜单下可选择关闭(不建议)。
              3. 在不激活【战场配置】的情况下也允许使用其他【拓展系统】,即【集气系统】、【轮流指令】等不再依赖【战场配置】,会从首回合就自动开启。
              4. 非AI控制武将不显示【仇恨值】。
              5. 使用【新音乐接口】版本的DLL可实时查询当前BGM,快捷键T。


              IP属地:广西424楼2016-01-22 11:24
              收起回复
                上面429楼 @浮游_道 建议添加吃果子重新计算功能,列出了不少希望添加该功能原因,搞得我都不好意思拒绝了。趁着年前没什么事做,今天天也没那么冷,还是再动动手吧。
                不知道以前mod里是怎么实现的,我这里使用的是最容易想到的所见即所得的算法,感兴趣的朋友不妨帮看看是否存在漏洞:
                在使用物品前先获取此时升级的话各项提升值是多少,如升级武力+4;
                在使用物品后再获取此时升级的话各项提升值是多少,如升级武力+5;
                最后对比各项值,如果不相等的话就把【差值乘以等级】加到对于能力项中,
                如吃了武力果后提档,差值=5-4=1,当前等级=10,就把1X10=10加到攻击力里,即攻击力+10 。
                有两个需要注意的地方:
                1. 上面说的是【使用物品】,也就是说并不必须是吃果,只要使用了物品,都会触发,只不过通常情况下非果类都不会有什么变化就是了。有个特例是专职类道具,使用后某项会提档的话也会触发重算。如果觉得这样不好的话可以手动临时关闭,问题应该不大。
                2. 可能跟自身就带有吃果重算功能的mod会冲突,也就是两边都会把额外数值添加上去。反正本来就有的mod别打开这一项设置就是了,我想问题应该也不大。默认就是关闭的。
                因为手头上也没什么可以吃果的mod,本来还想测下宋江传可惜只能在xp下运行,所以就只在原版验证过。感觉上其他mod应该也可以使用的吧,毕竟使用的应该是比较通用的算法。
                2016-02-05 v1.60
                1. 【其他功能】项下添加【自动重算能力】,在使用物品后会自动重新计算各项能力。
                2. 【速度控制】项下添加【关闭战场动画】,可自定义各种战场动画效果是否显示。


                IP属地:广西434楼2016-02-05 18:14
                收起回复
                  2026-02-20 21:37:26
                  广告
                  不感兴趣
                  开通SVIP免广告
                  关于【提档补偿能力】 @浮游_道 测试后在上面提到:
                  比一级吃果升级能力值多了1,估计是补偿时把原等级算进去了(1升到10应该补偿9),建议把公式改一下。
                  这个提议很好,需要足够细心才能发现这点细微差别。当然,其实我在前面算法描述的时候也已经说得很清楚了,“等级=10,就把1X10”。
                  正常情况下,确实是不可能让一个武将从0级开始加入,然后再吃果进行培养,所以这样是不合理的。可是,我不禁又想到,让全部武将从1级开始加入,正常玩这样的可能性应该也不大吧?
                  比如说原版里收张辽似乎最低也只能3级吧,倘若在10级的时候吃果提档的话,3级以前的点数,到底是应该不应该补偿呢?如果还是从1级开始算,根据上面的逻辑判断:因为不可能让张辽从1级开始加入,然后再吃果进行培养,所以这样仍是不合理的。
                  因此,最后决定还是添加一个【起始补偿等级】的参数项好了,大家可以根据自己对重新计算能力的理解,使用不同的配置。默认是从0级开始补偿,相当于完美成长。如果希望从1级开始算的话,只要把该项设为1就行了。
                  当前版本v1.60b,二楼跟帖下面有下载地址。
                  2016-02-07 v1.60b
                  1. 【自动重算能力】重命名为【提档补偿能力】,因为实际算法上只是补偿差异,并没有真正从0级重新计算。
                  2. 【提档补偿能力】下添加【起始补偿等级】项,可选择从0级还是n级开始计算。


                  IP属地:广西438楼2016-02-07 11:53
                  收起回复
                    谢谢楼上 @郭一刀V5 提供存档,我知道是什么问题了。这个跟操作系统或补丁版本都无关,可以简单的说是存档坏了,但是严格来说其实又没坏。下面说一下是什么原因,虽然我想大多数人估计会看不明白或没感兴趣看。
                    由于6.1里自带多页存档的功能,它翻页以后存档默认编号会产生改变,而不同编号的旧存档必须在指定的页数下才能正常读取。
                    通常一般人可能都遇不到这个问题,之所以会遇到是因为你游戏期间混合使用了新旧存档,且在旧存档下使用了翻页再保存新存档。再重开游戏默认旧存档页面是第一页,但是某些新存档里你存档的时候,当时可能是第二页或第三页。这样就会导致存档读取失败。
                    你不妨确认一下,所提供的那些新存档,前面四个存档都是好的,从第五个开始就不能正常读取了。我猜你应该那时候旧存档页面已经用到第二页了,所以产生了旧存档页面不一致的情况。
                    我的目录下放了一个【ReviewHelper】工具,可以用来采取临时补救措施,进行存档还原。游戏目录下打开工具,选中一个存档项,再点击【还原存档】,即可在SaveEx文件夹下生成原格式存档。最后再把该存档拷到旧游戏存档目录下在旧存档页面读取就行了。不过记得需要.Net4.0下运行该工具。
                    另外,假如你理解了我上面描述的原因的话,还有一个更为简单的方法:自己想/猜一下当时的旧存档是第几页,先把旧存档页面翻到那一页,再返回新存档进行读取。
                    比如,你所提供的第五个新存档,正常重开以后是读不出的。此时先来到旧存档界面,点击【下一页】,再点击【New Load】回到新存档界面。这样应该就能够成功读取第五个新存档了。


                    IP属地:广西441楼2016-02-09 10:24
                    收起回复
                      下午的时候看到上面445楼 @郭一刀V5 回复说“瓦岗能用,但是新存档里面存档后,什么都不显示,这个我一直困扰”。
                      我很好奇他说的能用但不显示到底是怎么一回事,于是就下载来测了下,发现其实新存档没显示就是不能用的。只是没有报错导致读档瞬间会给人造成读取成功的假象。不过还发现另一个更严重的问题,策略攻击会出错!这两个问题都是因为程序里没处理好,代码写得不够严谨。尤其是第二个问题其实蛮要命的,并不一定是这个mod,如果其他mod引擎跟它比较接近的话,也有可能产生策略攻击内存出错。
                      既然443楼答应过 @ddncc 要恢复回避集气的显示,还是顺便把这些问题处理一下发布个新版本吧。
                      当前版本v1.60c:
                      2016-02-10 v1.60c
                      1. 【显示当前集气值】下添加【显示命中/回避值】项。
                      2. 修复某些mod策略攻击会引发内存出错的问题。
                      3. 不完整的新存档不再进行写入文件操作。
                      4. 【新的存档】项下添加【旧存档扩展名】,对于存档扩展名不同的mod,需自行指定对应的存档文件类型才能使用新存档。
                      关于第四点【旧存档扩展名】,这里简单做个说明:
                      通常的mod里,旧存档默认的扩展名都是【.E5S】,这个大家应该都很熟悉。
                      但是某些mod却不是这个扩展名,使得新存档由于匹配不了从而读写会失效。比如瓦岗mod的存档扩展名是【.WAS】,之前新存档写入失败显示为空白标题。
                      现在把这个参数放出来,以后再遇到类似情况,可以尝试手动设置扩展名。
                      注:这里只是拿瓦岗mod来举例说明一下,并不是说我完全测试过该mod可以放心使用此补丁了。也没有做任何特殊修复,仅是做了非常简单的两三项测试,我依旧是不能够下定论到底能不能用。而且,这个mod是加密过的,我猜作者大概也不希望此补丁用在该mod吧。反正我对加密过的mod兴趣都不大,现在下载测试也都没有保存到硬盘上而是直接在RAMDisk上面运行,一关机就自动没了,将来大概是不会再次下载了吧。
                      最后说一句:以后请大家不用在这里问“某mod能用吗”,我是不会再作回复的了,同时删贴勿怪。如有时间还请自行测试吧。


                      IP属地:广西447楼2016-02-10 20:00
                      收起回复
                        昨天在楼上和 @卡_密_萨_玛 讨论发现无双战略版在xp上运行会出错win7反而可以的诡异问题,今天觉得不弄清楚具体原因始终不舒服。如果只是像以前那样以为完全不能用倒也不会去理会,现在这个现象实在是很少见很令人费解。然后忍不住去查看了错误报告,这才弄明白是怎么一回事。

                        如上图,报告里给出了最后运行出错的地方:41D511
                        查看那部分代码,完好无损,补丁动都没有动过这里:
                        push ebp
                        mov ebp,esp
                        sub esp,08
                        xor ecx,ecx
                        mov [ebp-04],ecx
                        jmp start.bat+1D4EB
                        inc byte ptr [ebp-04]
                        cmp byte ptr [ebp-04],0F //15
                        jnl start.bat+1D524
                        mov cl,[ebp-04]
                        call start.bat+D1110
                        mov [ebp-08],ecx
                        mov eax,[ecx]
                        mov ecx,[ebp-04]
                        add ecx,64
                        call start.bat+D1136
                        mov ecx,[ebp-08]
                        call start.bat+D10D0
                        mov eax,[ecx+1C] //Crash!!!
                        mov ecx,[ebp-04]
                        add ecx,00000083
                        call start.bat+D1136
                        jmp start.bat+1D4E8
                        mov esp,ebp
                        pop ebp
                        ret
                        从【cmp byte ptr [ebp-04],0F //15】 很容易就能联想到,这是对我军战场人物的循环操作。再结合出错时机是在进入战场瞬间,可以推断出这个应该是开局后对我军出场人物的数据进行某些初始化。
                        在【mov eax,[ecx+1C]】出错的地方设置断点,如果出场有三人,那么就会在第四次调用的时候由于引用了无效内存地址而报错。出场只有三人,按我的理解应该只循环三次在第四次就跳出循环体结束才对,这样就能避开无效内存的问题。为什么win7就不会出错或者原程序在xp下也没问题呢?这个按我的理解是侥幸,只要刚好那个指向的地址能读取就没问题,可是碰到未初始化的内存段就不行了。
                        补丁共享文件夹里添加了脚本【SpecialFix160215.txt】,是按我的理解对该程序做出的修复。由于该函数代码可修改空间实在有限,我也只能是迫不得已将【cmp byte ptr [ebp-04],0F //15】这句判断去掉,从而换取判断eax是否等于FFFF的代码(祥见下段)。如果哪位有更好的改法还请不吝赐教。
                        push ebp
                        mov ebp,esp
                        sub esp,08
                        xor ecx,ecx
                        mov [ebp-04],ecx
                        jmp start.bat+1D4EB
                        inc byte ptr [ebp-04]
                        mov cl,[ebp-04]
                        call start.bat+D1110
                        mov [ebp-08],ecx
                        mov eax,[ecx]
                        cmp ax,FFFF//Invalid Index
                        je start.bat+1D524
                        mov ecx,[ebp-04]
                        add ecx,64
                        call start.bat+D1136
                        mov ecx,[ebp-08]
                        call start.bat+D10D0
                        mov eax,[ecx+1C]
                        mov ecx,[ebp-04]
                        add ecx,00000083
                        call start.bat+D1136
                        jmp start.bat+1D4E8
                        mov esp,ebp
                        pop ebp
                        ret
                        这里说了那么多,主要是想给个例子,感兴趣的朋友以后遇到类似出错的时候可以尝试一下自己来解决。因为即使这样修改后在xp下音乐还是出不来,要正常播放音乐的话还得手动定位播放函数地址,所以要玩还是建议大家在win7+下玩。
                        最后测试时候还发现双暴率无法显示,顺便查了查,以下给出修正地址,自己在【显示双击暴击率】项那里设置一下就可以了:
                        【计算双击函数地址】004D2D3D
                        【计算暴击函数地址】004D3557


                        IP属地:广西452楼2016-02-15 11:47
                        收起回复
                          大家不用再顶这个贴子了,因为现在忙于2.0pvp版本的开发,单机版不会再做更新了,即使有什么重大bug也只会在2.0版里修复。不过,对于不熟悉的玩家,2.0版又是不建议使用的。就让这个贴子沉下来吧,现在单机方面就算有反馈我也实在是抽不出时间来跟进。谢谢!


                          IP属地:广西来自手机贴吧460楼2016-03-02 19:40
                          回复
                            (老是被敏感) 回楼上 @活着传说


                            IP属地:广西470楼2016-04-02 08:47
                            收起回复
                              2026-02-20 21:31:26
                              广告
                              不感兴趣
                              开通SVIP免广告
                              @相思如雪漫天下 回楼上关于附加脚本的快捷键


                              IP属地:广西475楼2016-04-09 09:07
                              收起回复