找回密码
 点一下
查看: 1553|回复: 7

关于用工程升级做公共CD的一些问题

[复制链接]
发表于 2009-11-7 05:50:36 | 显示全部楼层 |阅读模式
想做个仿WOW的公共CD(也就是强制给某技能添加CD时间)
于是有那么几个问题,希望解答:
1。我用英雄技能做公共CD正常,但是为什么无法用单位技能做公共CD?
2。我用英雄编辑器里的英雄技能做公共CD正常,但是为什么无法用''触发添加的英雄技能''做公共CD?
3。综合以上问题,能否用''单位技能''或''触发添加的英雄技能''做公共CD?
公共CD.w3x (18 KB, 下载次数: 29) 1.gif
发表于 2009-11-7 09:57:08 | 显示全部楼层
【用触发添加的英雄技能】——这玩意…………UnitAddAbility添加英雄技能貌似……还是相当于单位技能一样……
如果你用工程升级替换原马甲英雄技能来达到“用触发添加的英雄技能”,那么应该是没问题的。
当然,如果是要对单位技能起效果的话…………
你可以试试直接把你的图里面的召唤水元素和雷霆一击的“是一个英雄技能”设为false。
然后它就变成了单位技能,可是它还在圣骑士的英雄技能里,还可以学习……
这就是所谓的“单位技能加进英雄技能列表的方法”。
至于如果是普通的单位技能。
我改了你的图,自己看一下吧。

你所谓的对于单位技能不能生效的原因——
工程升级貌似无法替换单位技能的OrderId…………
也就是说,你对单位发布一个替换后用来给予CD的技能的Order类型,但是OrderId是原技能的OrderId的命令就可以。
(也就是我改过的图中唯一的那句Jass:
[jass]call IssueImmediateOrder( gg_unit_Hblm_0002, "waterelement" )[/jass]当然我忘了是不是这个OrderString了……copy来的。)
以下是关于一些工程升级的资料:
ANeg(工程升级):工程升级的出现终于解决了触发所添加的技能无法学习的问题。它允许我们使用触发更改技能学习界面。想要达到这一效果,英雄需要拥有能被替换掉的替身技能。这种占位技能必须和所需添加的技能拥有相同的级数,因此你一般需要准备两个,一个用来替换一般技能,另一个用来替换终极技能。我一般拿Arpb(补充生命和法力)做占位技能的模板,不过你用其它的也无所谓。将占位技能级数设为3,跳级设为2然后重复地填进英雄的英雄技能一栏。当然记得要在地图初始化时禁用它们,免得他们被玩家看到了。然后你就能用工程升级来将他们替换成想要的技能,当工程升级被添加时,其数据 - 技能升级一栏所指定的技能会被依次逐一替换,而被删除时,就会反着换回来。因此如果你不想看到工程升级的图标的话,这里有一个取巧的手段。如果你想将技能A换成B,那么就在工程升级的数据栏中反过来填B,A.这样,当你添加这个工程升级的时候会毫无效果,因为B不存在,而当你删除的时候,A技能就会被换成B,这样你就可以不添加任何永久性技能来完成这个替换了。当技能被替换成功后,他们就可在学习界学习。注意这法子只能正确替换未被学过的技能。用在学过的技能或普通技能上的话,被替换掉的只有原技能的施法距离、作用范围、持续时间、图标、允许目标等等数据,而不会真正改变改技能的核心。比方说你把光环替换为治疗技能会改变它的图标、提示等值,但它终究还是个光环。如果被替换的技能处于禁用状态,结果只会更加古怪而不可预测。另外工程升级也只对英雄有效,擅自添加给普通单位会导致游戏崩溃。如果你只想工程升级一个技能,可以将其它3个技能升级数据域改成单位永远也不会有的技能。此外工程升级在级数大于3时无法正确应用<dataA5>之类的动态提示。而且其默认buff也无法替换,不过这不是什么问题,因为它根本不显示。
东门吹牛 对 工程技能普遍性质的分析


关于工程升级的替换测试
今天特地测试了一下工程升级的所有替换效果,之前已经知道工程升级替换技能时无法做到完全替换(删除重学除外,过会说明),原始技能的命令ID、目标类型(指无目标、点目标、单位目标等)、技能类型(被动或主动)和整个技能的效果(如风暴之锤是晕眩,暗影突袭是持续伤害等)不会替换,CD、魔法消耗、目标分类(指目标是不是敌人等)可以替换。
关于其他的数据,今天基本都做了测试
除以上4项无法替换的其余都能替换,而且可以不同类型的数据替换
其中包括:施法距离、持续时间、施法动作、投射物相关(特效应该也行)、buff、图标(和其位置)、文字说明等
关于特定的数据也支持传递,如风暴之锤的DataA即其产生的伤害,暗影突袭具有多个Data,如果风暴之锤替换成暗影突袭,则有效传递其中的DataA(即持续伤害)
技能施放时间有BUG,不同等级时间设为不同,但升级也不会变
先删除技能再用工程升级替换,然后再加回等级应该可以,不同模板的技能就是通过这种办法来替换的,唯一问题就是会使技能立即冷却
就是这样…………

话说好久没这么研究了~~拉拉~~

公共CD.w3x

27 KB, 下载次数: 26

回复

使用道具 举报

发表于 2009-11-7 12:31:38 | 显示全部楼层
以上资料并非完全正确,比如其实某些技能确实可以替换其施法时间,只是大部分不可以。

有兴趣的同学可以自己去测试下。
回复

使用道具 举报

发表于 2009-11-7 12:42:18 | 显示全部楼层
查过了,貌似头目说火焰风暴是可以的。
只不过没一起引用过来而已啦~
回复

使用道具 举报

发表于 2009-11-7 12:42:19 | 显示全部楼层
看起来很复杂的样子
回复

使用道具 举报

发表于 2009-11-7 13:40:29 | 显示全部楼层
想做公共冷却全部造假最好了
回复

使用道具 举报

 楼主| 发表于 2009-11-7 22:33:58 | 显示全部楼层
十分感谢小血,总算可以用单位技能做动态CD了
另外是不是每个需要动态CD的单位都必须把动画施放点和回复点改为0
并且用call IssueImmediateOrder来发布技能命令?
动画施放点和回复点为0跟非0有什么区别。。一直没注意这个
回复

使用道具 举报

发表于 2009-11-8 11:23:56 | 显示全部楼层
这个嘛…………那是我个人习惯…………而已…………
你可以吧那个弄成默认的,应该是没有问题的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-25 23:11 , Processed in 0.367058 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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