翔鹰帝国网|帝国时代论坛|帝国时代系列|神话时代
 找回密码
 注册翔鹰会员(昵称)
搜索
查看: 3465|回复: 8

[教程] 利用1.5的功能显示任意单位图像

[复制链接]

417

主题

19

精华

8万

积分

教皇

耕战
13421
鹰币
41665
天龙币
18
回帖
6011

特级嘉禾勋章三级帝国勋章十字军勋章翔鹰建站十周年纪念章

附庸关系0
 楼主| 发表于 2019-1-5 23:51:48 | 显示全部楼层 |阅读模式
本帖最后由 我是谁004 于 2019-1-6 19:44 编辑

前言
  在我的《004时代》MOD中,有修改单位图像的触发效果,可以随意地使用图像资源。而侧重实用性的UserPatch 1.5补丁,就不具备这样的触发效果。不过我们仍然可以巧妙地运用1.5的特征,来完成类似的功能。在这里,我们介绍一种“在固定位置显示特定单位图像”效果及其实现方法。
  举个例子,战役制作者觉得铁匠铺的烟很好看,想把它运用在地图上;但是如果直接放置兵工厂建筑,又要把本体遮挡起来,比较麻烦;何况有的情况下根本无法遮挡——比如要在空地上放置烟雾。那么,这时候该怎么办呢?我们可以利用UP 1.5的某个隐藏特性,来实现这种效果。


  众所周知,1.5增加了许多科技参数,让以前不能通过科技改变的属性也可以变动了。而1.5的自定义科技触发效果,又可以在剧情中自由修改,自由设定玩家的科技树或某些单位。
  在诸多新可变属性中,有一项叫做“单位帮助”(Language File Help)。这是一个4字节属性,本意为单位的帮助说明文本ID,但游戏中该ID是通过另一个属性“训练提示”计算得出的,因此这个属性实际上是无用的。然而在UP 1.5中,该属性被赋予了新的作用:控制僧侣单位的治疗图像,和捡起圣物后转变为的单位。因为这两项属性一个位于单位指令中,是所有文明共用的,另一个是硬编码;所以,在原版中这两项属性是不能被简单修改的。因而1.5的这个特性对MOD制作者来说很有帮助,虽然该功能在文档中未被提及。单位帮助这个属性在用作对僧侣的配置时,需要设置其最高二进制位为1,低16位为治疗图像ID,中间的15位则为拾取圣物后转变的单位的ID。也就是说,此值满足
  S=231+216×Q+P=2147483648+65536×Q+P,
  其中P、Q分别为治疗图像ID和转变单位后的ID。
  这也是唯一一个UP 1.5中能够设置单位图像的属性。所以,我们可以考虑在地图上放置一个玩家1以外的僧侣,然后指派令其不断进行治疗,那么游戏中他的图像就会一直处于治疗图像的状态。这样,就模拟出了在地图上某个固定地点显示特定单位图像的效果。
  不过,在UP 1.5的自定义科技触发效果中,数值的精度是有限的。因为在计算的过程中,数据会被替换成单精度浮点数,其二进制只有24个有效数字。而如我们之前所言,该属性的最高位为1,因此有效数字有32位,按照如上的方法计算后会导致低8位被舍弃,得到的结果就不准确了。
  那么我们应该如何来避免低位被舍去呢?其实也很简单,不用上述的算式,而用S=P-65536。这样得到的结果是一个有效位数不超过16的负数,但在32位无符号运算中它等于被加上了一个4294967296,实际上就相当于前式中Q=32767的情况。
  设置了僧侣的治疗图像,还需要令其一直保持治疗状态。要产生这个效果是很容易的,只需要令僧侣附近的一个单位生命值始终保持一个很低的水平,然后指派僧侣治疗即可。如果无法遮挡,可用OLD-GOLDMINER等无形单位。于是,我们可以使用下列触发,来实现“特定位置放置铁匠铺烟雾”的效果。


  (以下X代表僧侣,A代表僧侣附近的单位,触发0效果0中的-60222=5314-65536)
  1. 触发0, 否是否
  2. 【效果0】改变目标名字1, 对象=X, 数目=1, 信息=“up-attribute 0,52,-60222,1”
  3. 【效果1】改变目标名字1, 对象=A, 数目=1, 信息=“up-attribute 0,0,30000,1”
  4. 【效果2】激活触发, 触发=触发1

  5. 触发1, 否否是
  6. 【条件0】定时器, 定时器=4
  7. 【效果0】摧毁目标, 对象=A, 数量=35000
  8. 【效果1】改变目标的生命值2, 对象=A, 数量=1
  9. 【效果2】指派目标, 对象=X, 目标=A
复制代码

  如果只需要图像暂时出现一段时间,则定时器数秒后移除僧侣A即可。对于某些不循环的图像(例如爆炸、单位的死亡图像),想要令其循环播放,则可以在触发1的效果2之前加上一个效果:
  1. 【效果2】单位停止, 对象=X
复制代码
  这样就达到了令X的治疗动画重新播放的效果。不过在这个过程中会有一瞬出现僧侣的站立图像,可以考虑将其遮盖起来,例如用两个僧侣交替进行动作。

效果
  该触发执行后的效果如下图所示。


  下面列出了几个可设置的属性值,供大家参考
  1. -63803(1733) 小火
  2. -63799(1737) 中火
  3. -63795(1741) 大火
  4. -60222(5314) 铁匠铺烟
  5. -61125(4411) 船坞的海鸟
  6. -61064(4472) 驻扎旗帜
  7. -62074(3462) 测试版骑士(站立)
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册翔鹰会员(昵称)

x
004时代:战役时代
我很乐意看到有人在MOD技术上超过我。
回复

使用道具 举报

117

主题

9

精华

9万

积分

教皇

Wolotine

耕战
17250
鹰币
546158
天龙币
0
回帖
1570

翔鹰建站十周年纪念章小评论家第十二届火箭筒杯最佳新人第十三届火箭筒杯亚军第十三届火箭筒杯亚军赌徒勋章第八届战鹰杯单人赛冠军

附庸关系11
发表于 2019-1-6 00:44:01 | 显示全部楼层
这个太厉害了,mod技术才是第一生产力啊!最近我也要开始正式学习mod了!
回复

使用道具 举报

47

主题

7

精华

1万

积分

枢机主教

耕战
2283
鹰币
8582
天龙币
0
回帖
150

创意工坊通行证

附庸关系0
发表于 2019-1-6 16:37:18 | 显示全部楼层
前些日子正在纠结怎么弄出没有帆的船,这样一来就可以实现了。

被治疗单位不用局限于OLD-GOLDMINER之类的东西(顺便wk里面这单位被换掉了),完全可以使用另一个指定了空图像的僧侣,让两者互相治疗。
回复

使用道具 举报

417

主题

19

精华

8万

积分

教皇

耕战
13421
鹰币
41665
天龙币
18
回帖
6011

特级嘉禾勋章三级帝国勋章十字军勋章翔鹰建站十周年纪念章

附庸关系0
 楼主| 发表于 2019-1-6 19:15:41 | 显示全部楼层
夜游神 发表于 2019-1-6 16:37
前些日子正在纠结怎么弄出没有帆的船,这样一来就可以实现了。

被治疗单位不用局限于OLD-GOLDMINER之类的 ...

当然可以,包括指定另一个图像为树木、岩石等普通装饰物
004时代:战役时代
我很乐意看到有人在MOD技术上超过我。
回复

使用道具 举报

183

主题

9

精华

2万

积分

教皇

耕战
3325
鹰币
15209
天龙币
0
回帖
1200

翔鹰建站十周年纪念章

附庸关系3
发表于 2019-1-7 14:19:31 | 显示全部楼层
别看原理这么多,其实实际操作很简单,并不麻烦
索引:
Userpatch 实用技术贴索引←点击进入
决定版精品贴大索引←点击进入

战役:
《 兔与豹》——柔弱奴隶公主  猛兽口中求生←点击进入
《敛由国的统一》←点击进入

殊途战役制作群 QQ: 616317226
翔鹰帝国Ⅱ:决定版交流群 QQ: 112822759
回复

使用道具 举报

23

主题

1

精华

2万

积分

征服者

耕战
3880
鹰币
3530
天龙币
75
回帖
1132

翔鹰建站十周年纪念章二级翔鹰勋章第八届火箭筒杯最佳战役第八届火箭筒杯最佳新人

附庸关系0
发表于 2019-1-27 13:19:59 | 显示全部楼层
教材建议先展示效果,再讲做法,最后说原理哈。
这个方法是不是可以把僧侣的治疗动画替代成其它图像的意思?

                 【2021】天堂之路DE版                                   【2016】霭之坡的窈蔚之森
个人网盘
回复

使用道具 举报

183

主题

9

精华

2万

积分

教皇

耕战
3325
鹰币
15209
天龙币
0
回帖
1200

翔鹰建站十周年纪念章

附庸关系3
发表于 2019-11-12 00:19:10 | 显示全部楼层
特地整理了一下一些实用的图像编号,可以利用僧侣治疗图像做到很多事情了——

比如用系统移动箭头图像(ID:2961)或者集结点旗(ID:2962)来做教程模式的步骤提示。

还有更多有趣的用法,值得发掘!



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册翔鹰会员(昵称)

x
索引:
Userpatch 实用技术贴索引←点击进入
决定版精品贴大索引←点击进入

战役:
《 兔与豹》——柔弱奴隶公主  猛兽口中求生←点击进入
《敛由国的统一》←点击进入

殊途战役制作群 QQ: 616317226
翔鹰帝国Ⅱ:决定版交流群 QQ: 112822759
回复

使用道具 举报

183

主题

9

精华

2万

积分

教皇

耕战
3325
鹰币
15209
天龙币
0
回帖
1200

翔鹰建站十周年纪念章

附庸关系3
发表于 2019-11-12 00:23:57 | 显示全部楼层
顺带一提,我想问问4哥,这些个治疗中的僧侣能否被选中?以及有没有治疗音效?

用负ID僧侣可以解决选中问题吗
索引:
Userpatch 实用技术贴索引←点击进入
决定版精品贴大索引←点击进入

战役:
《 兔与豹》——柔弱奴隶公主  猛兽口中求生←点击进入
《敛由国的统一》←点击进入

殊途战役制作群 QQ: 616317226
翔鹰帝国Ⅱ:决定版交流群 QQ: 112822759
回复

使用道具 举报

417

主题

19

精华

8万

积分

教皇

耕战
13421
鹰币
41665
天龙币
18
回帖
6011

特级嘉禾勋章三级帝国勋章十字军勋章翔鹰建站十周年纪念章

附庸关系0
 楼主| 发表于 2019-11-12 18:24:38 | 显示全部楼层
newtonerdai 发表于 2019-11-12 00:23
顺带一提,我想问问4哥,这些个治疗中的僧侣能否被选中?以及有没有治疗音效?

用负ID僧侣可以解决选中问 ...

那还是僧侣,自然可以被选中。至于声音,您可以思考一下治疗的风铃声是由什么决定的
004时代:战役时代
我很乐意看到有人在MOD技术上超过我。
回复

使用道具 举报

本版积分规则

排行榜|小黑屋|翔鹰帝国

GMT+8, 2024-4-25 10:26 , Processed in 0.137476 second(s), 106 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

Copyright © 2001-2023, Hawkaoe.net All Rights Reserved

快速回复 返回顶部 返回列表