原帖内容
star175

2021-2-16 16:58
发布6.2版exe修正版

6.2修正版(2021-05-19发布)

修正6.2版已知的全部bug(含本帖384楼之前报告的bug以及其他渠道获得的bug),但是264楼的没改,方法在267楼,请自行修改

修正版新增内容

一、增加一个策略-撞心

用了空白策略9的位置,效果参考封神榜,只能对本方队员使用, 可让目标恢复状态并损血
Data不重发了,自行设置,策略编号是52,策略类型为39,施展对象为本方,其余项目凭个人喜好。


二、增加20个自动存档位置(201-220)


在每回合开始时自动存档,默认关闭,按a键开启,再按一下关闭,原来a键的功能改到d键

三、可以通过设置整形变量4034(我友)和4033(敌援)的值来调整相应阵营的能力(不会显示于面板),用以改变游戏的总体难度。
如 设置4034=150,则我友全能力实际调整为150%
   设置4033=80, 则敌援全能力实际调整为80%
   这两个整形变量的默认值为0,即不做任何能力调整。


四、对无限移动的bug进行修正

应该不会再出现这种现象了(还要多进行一些测试才能确定)。如果系统检测到是一个无法抵达的地点,会自动作出调整,移动到一个距离该地点比较接近的一个新的目标点。


五、整形变量格式化文本

这个有人发帖询问过,是个不错的想法,所以这次增加了这个功能,这样就可以直接用指令来显示整形变量的值了(也可用于历史情报的显示)

格式化文本为 */整形变量号

例1

要在对话时显示我军的资金数,可以用下列指令来实现
[attach]149006[/attach]
第一个77指令  金钱数是一个dword值,所以要先设置4076为dword运算
第二个77指令  金钱的内存地址是在(H4b077C) 4917116,把这个地址放到指针变量0
第三个77指令  把指针变量0的值放到整形变量0,这样一来,整形变量0的值就是金钱数了。
然后对话就可以显示整形变量0的数字了
运行效果如下
[attach]149007[/attach]
同理,你感兴趣的数据都可以这样显示出来,前提是你知道这些数据的内存地址

例2
上一例的数据不是直接放在整形变量中,所以要先知道内存,再通过指针变量来传递到整形变量,还有一些自定义的数据是直接放在整形变量中的,如 游戏里设置了好感度,或是类似瓦岗的尘屑这种特殊物品,玩家如果想查看这些数据实属不易,那么现在可以放到历史情报里以便随时查看。
这类数据由于是直接放在整形变量中,剧本指令也相对简单
假设道具数量在整形变量1,好感度在整形变量2,剧本如下:

[attach]149008[/attach]
运行效果如下

[attach]149009[/attach]
这里看到的都是实时数据,玩家可以在任何时候查看历史情报


最后 形象指定器也有更新,增加了数据搬运的功能。


--------------------------分割线--------------------------






从6.1发布至今已过去了6年,本来也没打算继续更新,然而2020年初新冠疫情爆发,响应国家号召居家抗疫,在家没事的时候玩玩游戏打发时间,不知不觉又玩起了cczmod,然后又开始改exe,所以才有了这个6.2版,嗯,废话到此为止,下面上干货!


6.2新增内容

一、新增对PNG格式图形的支持


PNG的几个特点:真彩,无损压缩,支持透明背景,其中最大特点就是支持透明背景。


    理论上讲,只要是在6.1版里可以使用真彩的图(目前应为JPG(有损压缩)格式或24位RGB图)现在都能使用PNG(无损压缩)格式,但从压缩比方面来看,PNG的优势在于对与存在大块相同像素的图比jpg拥有更高的压缩比,反之则jpg的压缩比更高。
就ccz而言,游戏中的背景类图(场景,logo,S地图,城门,单挑背景,不镂空的头像等,这类图本身并不需要透明,所以也不能体现出PNG透明的特点),因此建议还是用jpg比较好,虽然jpg是有损压缩,但肉眼基本看不出来,这个还请自行斟酌。

前景(R,S形象,镂空头像,Meff,Mcall)这些可以用PNG格式,利用PNG支持透明背景的特点,彻底解决了粉边现象
但PNG应用R,S形象,镂空头像时,仍然是采用ccz的透明处理方法

而在PNG应用于Meff和Mcall时,可以自己选择是否采用PNG透明方式

这次更新了Meff编辑器,增加了一个勾选项“PNG透明方式”,如果把策略图替换成透明背景的PNG,再勾选此项,表示这张策略图采用PNG透明方式。

不勾   (默认)原版方式 即每一帧共用一个透明度(这样相当于抛弃了png图的半透明特性,只当作普通图来用, RS形象和镂
               空头像也是把png图当作普通图来用)
勾选    使用PNG自带的透明度,即每个像素点都有自己的透明程度,前提是图片使用了透明的PNG格。


    不过要注意的是如果勾选,需要在作图时就设置好透明度,对不善于美工的人来说也比较麻烦,如果实在搞不定,还是用不勾比较省心,所以请根据自己的能力来吧。当然,Meff和Mcall并不强制要求更换为PNG格式,如果不用PNG格式,那么将忽略是否勾选,直接采取原版方式。

Ps:这次把weather也真彩化了,Weather.e5和Meff里的几个天气图可以使用真彩图了,当然也同样兼容目前使用的索引图。

总结一下就是  1、背景图照旧
              2、R,S形象,镂空头像可以采用透明的PNG,仅仅是为了去粉边
              3、Meff,Mcall也可照旧,也可使用透明PNG
              4、对美工要求不高者,可以直接忽略PNG


二、新增7个特效

70---批亢捣虚  需要设置特效值(1-5(分别对应攻防精暴士)),强制使用被攻击方的一项能力用于计算伤害、暴率,连率,
              也可设置特效值为6,则取对方最小的一项能力用于计算(物理攻击和策略攻击均有效)              
              不论取何值,均可单向克制唯我独尊(双方都按正常情况取得能力)              


71---万夫莫敌  需要设置特效值,最终的能力加成效果为(周围八格的敌对方人数+1(自己))*特效值(影响全能力)

72---限制伤害  需要设置特效值,最终的效果是在受到物理攻击时,所遭受的伤害不会大于这个特效值(可以克制破甲攻击)
              这个效果值是越小越强,因此特意取消了这个特效的7级提升


73---转移伤害(借力打力)  需要设置特效值,转移这个比率的物理伤害给攻击范围内血量最少的敌人身上(可以造成被转移目
              标的撤退,当自身血量很低时无效)
              这里的自身血量很低时无效,低到何种程度不易把握,只知道这个数字越低越难被打死,目前是采取和特效值进

              行比较

              00040F124  |.  3B55 E8       CMP EDX,DWORD PTR SS:[EBP-18]   
              这里的ebp-18就是特效值,也可以改成一个常数(要用ob改)
              
              按照这样的设置,在血量>=100的情况下,即使每次都受到足以致死的伤害,本来可以一下打死的部队都得三下才

              能打死(在周围有敌人可以转移伤害的情况下),既不会过于bug,又能较好的体现这个效果的价值。

74---特效模仿  不需要特效值,可以模仿周围四格敌对方除特效屏蔽以外的特效(宝物,兵种,天赋)
                            可以模仿周围四格己方全部的特效(宝物,兵种,天赋)


75---特效屏蔽  不需要特效值,可以屏蔽周围四格敌对方除特效屏蔽以外的特效(宝物,兵种,天赋)

     Ps:以上2个所能模仿或屏蔽的效果是在形象指定器-兵种特效列表框里有编号的,没有的则不起作用,如辅助增加能力类、穿透,吃豆这些

5F---再次移动  行动后还可以再移动一次,只能移动,不能干别的,和冲锋攻击共用了一个效果号。

效果编号扩充到7F(不增加字节的情况下7F就是最大值了,push 7F是2字节,而push 80需要5字节),目前已经用到75

三、调整了武将情报对话框
[attach]148295[/attach]
    这一项修改最早在圣三的exe里就完成了,是多年以前的成果,感觉这样的布局较为清晰。而记录杀敌数则是新增内容。


    在以前的版本里,辅助装备也用了3字节,但是实际上辅助装备没有等级和经验的概念,辅助装备其实只要1字节就够,所以把这多余的2字节用来记录杀敌数了。


又在此基础上增加了杀敌数能力加成。

杀敌数加成,用整形变量4046来控制,默认0 不开启  1开启

五项能力是每杀敌30个增加1%,不封顶         0043C4E3  |.  6A 1E         PUSH 1E ; 能力加成
HPmax和MPmax是每杀敌15个增加1%,不封顶     00407277  |.  6A 0F         PUSH 0F ; HPmax
                                            004072A3  |.  6A 0F         PUSH 0F ; MPMax


虽然是不封顶,但MPmax依然受到能力上限的影响,不能超过255

Ps:最终的增加量与关卡设计以及游戏篇幅有关,所以给出了代码位置,以便自行调整

移动力是杀敌达到100个增加1,只加一次

以上加成是在果体的数据上进行计算,会在面板显示,并且在同时又开启了破百加成的情况下,二者是乘法叠加


四、地形情报一览锁定第一列
多年前就有人对我说现在兵种太多了,地形情报第一列会随着水平滚动条的移动而隐藏掉,看起来不太方便啊,所以这次修改了一下,虽然是个无关紧要的内容,但是其实修改下来才发现这个的难度还真是不小。

五、增加了一个板凳升级的指令
[attach]148296[/attach]
数字信息填18,里面的文字为注释,可有可无
这个指令建议用于R剧本,在S剧本里用的话由于不会自动补血,所以用了以后,出战武将升级后都会缺血和mp。

升级会进行多次,比如现在队伍里就2个武将,一个10级,一个1级,这个时候平均等级是5级,但使用这个指令后不是把1级升到5级就完事,还会继续测试新的平均等级,最终会把1级的升到9级,这个和练武场是一样的道理,因为某个武将等级的提升会导致整个队伍平均的等级的提升。

同时调整的还有装备自动升级

以前开启装备自动升级后,战斗中不能获得装备经验,现在改回了可以获得,这样容易练的装备我方依然可以保持装备上的等级优势,不好练的又可以自动升级,总之,好处都得是玩家的。

Ps:这下人员自动升级和装备自动升级都齐全了


六、一些战场信息的显示切换

现有的是0-4键调整游戏速度

这次新增加了
    5 切换是否显示残血血条
    6 切换是否显示攻防精暴士移状态
    7 切换是否显示人物装备(同伯伯补丁)
    8 切换物理攻击预估伤害时是否显示暴率,连率,相克,被克
    9 在S中,点击部队会出现这支部队的移动范围,现在加上了每一格的移动消耗和地形状态
    a自动装备时不卸下强制不出战武将的装备
    b在武将情报的策略栏可以显示策略的习的等级
    c 对攻击方进行描边

以上都是来回切换,按一下有,再按一下没有

七、扩充策略
        现有的是曾经增加过的6个策略,这次又增加了12个策略位置,实际使用了8个,剩余4个备用
      [attach]148297[/attach]   


       纵火--在战场上出现一个火,从出现回合开始计算,维持3回合,可以用来堵路,使用时有地形限制(策略无视地形无

               效)
       修筑--在战场上出现一个鹿砦地形,从出现回合开始计算,维持3回合,用来暂时获得一定的地形优势,和正常的鹿砦

               没区别,使用时有地形限制(策略无视地形无效),要花费少量金钱

       诱敌--强制把一个敌军拉到身边,对坚守原地或处于麻痹、混乱的武将无效

       瞬移--部队原地消失,然后在指定地点出现
      
       以上都是一些足以改变战场态势的法术,是否采用请自行斟酌。


       其余的为雷系法术,雷系法术可在任何天气和地形下使用

       顺便提一下,这次发布的形象指定器已经增加了对策略的修改功能,此外直接在列表框里双击条目,会弹出对话框,可以编辑该条目的Imsg说明。



八、专属效果和套装效果
   
专属效果:  特定武将佩带特定装备会有特殊效果
套装效果:不特定武将佩带特定装备(至少2件)会有特殊效果



类似的设置目前在剧本也比较常见,不过剧本里的效果往往是exe里没有的,而exe里已有的效果就可以用这个来设置
设置专属效果的指令写法
[attach]148298[/attach]
数字信息必须填10
第一行 0 表示设置专属效果
第二行 共5个数字,中间用半角逗号分隔
其余为注释,可有可无

指令执行后的效果
[attach]148299[/attach]

设置套装效果的指令写法
[attach]148300[/attach]
数字信息必须填10
第一行 1 表示设置套装效果
第二行 共6个数字,中间用半角逗号分隔

其中第二行的01,57,255表示武器、护具、辅助的编号,要按顺序来写,本例的辅助写了255,表示忽略辅助,只要满足武器和护具的要求即可获得套装的效果
其余为注释,可有可无

指令执行后的效果
[attach]148301[/attach]     
每个特效可以同时设置为2个专属和2个套装
特效号用形象指定器打开exe,点开兵种特效可以看到全部的特效号

九、对一些剧本指令的修改
   
    1、4d 武将状态变更 的修改

    在原版里,当这个指令作用于一个范围时,受到影响的部队是依次显示策略动画,现在改为同时显示,这样速度可以大大加快用整形变量4043来控制,  默认0 同时显示策略动画,1 同原版

    2、3c 武将加入测试 的修改

    这个指令的作用就是测试一个武将是否已经加入队伍,目前这种功能一般都是用变量来解决,也就使得这条指令基本无人使用,浪费一条测试指令可惜了,所以这次把它改造成了 武将行为测试
   
    这个指令除开第一个人物下拉列表外,还有两个下拉列表,根据不同的选择,总共能产生6种组合
    对于玩家来说战场上有8个指令按钮,除掉交换和取消,正好也是6个(而AI还要去掉道具和待命,只有4种)
   
   具体排列如下
      加入状态       关系
          1            1          测试使用攻击
          1            2          测试使用策略
          2            1          测试使用道具
          2            2          测试使用待命(必须点了待命按钮才能触发,直接结束回合不会触发)
          3            1          测试使用必杀
          3            2          测试使用围攻


[attach]148302[/attach]
    如图所示,后两个下拉列表都是选择了第一项,表示要测试物理攻击,此时指定的人物(也可以选择我军友军敌军)只要进行一次物理攻击就可以触发相应剧情。
    为了实现这个功能,调换了2个按钮的id号,相应的也调整CmdIcon.dll的图片顺序,新的CmdIcon.dll放在本次配套文件里,覆盖原来的即可。


    3、3e 加入装备设定 的修改
   
    这个修改在6.1就已经有了,但发布时忘记说了

    这条指令在使用卸去装备的时候,装备是直接消失掉,现在改为对于一个属于我方阵营的人物,如果把武器的等级设为1(对三种装备都有效),卸掉的装备会进入仓库
     [attach]148303[/attach]
   如图所示,此时,武器的等级选择了lv1,执行后的结果是把三件装备全部放入仓库。
   针对52兵种改变 指令会导致装备丢失的情况,可以利用这个方法和52指令配合使用,避免装备丢失
      
    52指令在这种情况下装备会丢失:如果武将当前装备了新的兵种不能装备的武器或护具(辅助不受影响),那么改变后武器或护具会自动换成合适新的兵种使用的店货(相当于给的补偿),原武器护具消失。
   
  [attach]148310[/attach]      
    如图所示,如果直接执行52指令,我方队员刘备的初始兵种是群雄,现在要变为道士,那么身上的武器或护具会变成适合道士使用的店货。

    所以可以先执行一个3e指令卸掉装备(注意这里的3e指令,武器选择了lv1,装备会进入仓库),然后再改变兵种,此时由于武器和护具为空,也不会自动配上店货。
   
      Ps:使用52兵种改变 指令较多的封神,对于杨戬战前变化是采用离队再入队的方法来处理装备问题,如果用现在的方法可以少写2个3b指令,运行结果是一样的


   4、修正使用群伤策略不能触发5e指令的bug
   
   5、6b指令用于R


    目前在R中使用策略动画的情况也比较常见,但通常都是把策略图放到R形象里,实际上6b是可以直接在R里使用,只是坐标没转换,所以仅仅是修正了一下坐标而已。

十、特效自动使用 吃豆不消耗
    顾名思义,不解释

    用整形变量4035来控制,  默认0 同原版  1 不消耗

十一、修正指针变量遗留bug

    6.0版有个指针变量存档化,但后来发现bug,这次修正了这个bug

    一般游戏中的一些固定设置,如果想要改变这些设置,可以用指针变量进行修改,但目前可以改却不能保存,下次重开游戏,即使是读档,修改过的数据也会恢复成原值。

这次修正后把指针变量缩减到304个
0-199(200个)用法照旧,不进行特殊记录。
200-303(104个)则进行存档化,特殊需要时使用


举个例子  我方武将加入时的初始功勋的原值是25 (H19),这个数据可以在全局设置里改,但如果现在想在游戏过程里修改,还要求能一直存档就可以用200以后的指针变量来实现了

首先要知道这个数据的地址,是在40C388,如果现在想改为初始50(H32)
就是把 0040C387   6A 19         PUSH 19                       ; |初始功勋
改为   0040C387   6A 32         PUSH 32                       ;  初始功勋

     写法如下
      [attach]148304[/attach]
      第一个77指令是设置为byte运算,因为这里只要改一个字节
      第二个77指令把4244360(H40C388)这个地址放入指针变量200
      第三个77把修改H40C388的值改为50(H32)
      
      可以看到在写法上与以前版本是一样的,现在只是专门对200-303的指针变量做了特殊处理而已。
执行这三条指令后,40C388的值会一值保持H32,这个时候进行存档并关闭游戏,然后重开游戏再读取这个存档,数据也仍然是H32;如果读取一个没有执行这三条指令的存档或则重新开始游戏,这个值则会变回原始值,这就实现了指针变量存档化。


当然,如果在以后游戏过程中,又想恢复初始值25(H19),也专门为此写了一个指令
[attach]148305[/attach]
数字信息必须填19,
消息第一行是想要清除指针变量编号
第二行是注释,可有可无
执行这个指令后,即可恢复原始的数据。


十二、对单挑中的s形象进行了柔化处理,降低了马赛克现象

十三、文件夹化
    以前的版本已经把地图,剧本,音效、存档都归类放入文件夹了,这次把大部分的E5文件也归入文件夹,文件夹名就叫E5,
[attach]148306[/attach]

    上图的E5文件还是和exe放在一起(这些文件由于涉及到各种修改工具,还是要和exe放一起,font.e5用途不明),其余的E5文件放入文件夹,另外那个记录通关和宝物的Svcmn.e5s改名为SV.E5S,放到sv文件夹里去了


十四、解决了Mp3serv.dat的限制

    以前版本的一个限制,如果修改了游戏的标题后必须同时修改Mp3serv.dat的a1c0(已解压)或5b9a(未解压)处的文字,二者要一模一样,否则游戏没有音乐,这次把这个限制去掉了,以后只要改游戏标题即可,不用再修改Mp3serv.dat了(改了反而没音乐)。
      修改好的Mp3serv.dat(已解压)放在本次的配套文件里,替换掉原来的即可。


大概就是这些了,无关紧要的小修改就不提了,请自行体验。


    最后感慨一下,这次发布时特意回顾了一下历代的旧发布贴,从2007首发到现在2021年,总共过去了14年,我现在已是一个中年大叔,这真的可以说是一个记录了我青春的游戏。

    看看论坛现在冷清至此,好多人都离开了,曾经快乐交流的气氛怕是再也回不来了。当然,值得欣慰的是瓦岗还在更新,新一代的mod作者正在成长,愿ccz继续为我们带来快乐!也祝愿论坛能够更好!








[ 本帖最后由 star175 于 2021-5-19 12:41 编辑 ]

用户名时间功绩理由
godtype 2021-2-16 23:34 +216 N年来除了封号就没进行过其他正常论坛操作了,正好有理由来一发!




当前时区 GMT+8, 现在时间是 2024-12-12 06:10
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.014418 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP