魔兽争霸3触发器单体技能变群体中的 触发问题

您的位置:&>>&
先介绍一下TRIGGER TRIGGER在这里的中文意思就是触发器,每个TRIGGER包括3个部分:EVENT、CONDITION、ACTION,也就是常用的ECA机制:事件、条件、动作 EVENT:事件,说明该TRIGGER在什么情况下会被触发,例如Unit - A unit Dies(单位死亡), Unit - A unit Acquires an item(单位获得道具),等等,都是触发事件 CONDITION:条件,也可以说是环境,用来判断TRIGGER在触发后是否满足一定的情况,例如 (Triggering unit) Equal to Hero(触发单位等于Hero,这里的Hero是Unit类的变量,当触发单位等于Hero时,将返回True,触发器将被触发,反之则不被触发),条件可以是复数的,用And或Or来决定条件之间的关系 ACTION:动作,就是在触发器触发后该执行的动作,例如 Unit - Move (Triggering unit) instantly to (Center of (Playable map area)) (将触发单位移动到地图中央),Unit - Add Bloodlust to (Triggering unit) (将嗜血技能添加给触发单位)等等,这个是触发器中可变性最强的地方,所有你想到的东西都将能在这里实现
以上就是最基本的TRIGGER的介绍了,聪明的朋友应该已经知道TRIGGER技能应该怎么做了吧?下面就把我制作各种TRIGGER技能的心得给大家详细介绍一番,虽然不一定是最好的最有效率的方法,但确实可以给各位初学者们指一条明路……
在正文开始之前,请各问先考虑下面这个问题: 复合技能过程的口头描述:当一个单位开始施放一个技能,并且该技能等于XX时,创建一个辅助施法单位对目标单位再施放一个技能,以此完成复合技能的全部过程
各位可以根据以上的描述,考虑一下单体技能群体化的描述
第一讲 复合技能的制作
凡事从简单的做起,其实最简单的就是复合技能了,对于即时生效的复合技能非常简单,但是对于有攻击延时的技能就有点麻烦,例如要做出被死亡缠绕击中同时减防的技能,你并不能完全精确的做到被死亡缠绕击中那一刻给目标单位加上减防技能……虽然其中可以用WAIT命令来模拟效果,但是说实在的效果并不是很好,所以这里暂时只针对即时生效的复合技能,做个介绍
技能:电能激发效果:激发目标单位身上附带的电能,加快其行动速度,身上的电能会对接近他的单位造成伤害 解释:其实这个技能就是嗜血+闪电盾的效果啦,所以很简单,先要做一个用于施放的技能,如果你用嗜血,那么闪电盾就作为辅助技能;同样如果你用了闪电盾,那么嗜血就是辅助技能了;本例中以闪电盾作为施放技能 准备工作:把闪电盾技能做成英雄技能,去掉科技要求;做一个3级的嗜血技能,同样去掉科技要求(这点很重要,如果到时候放不出来可别怪我没提醒你),最好可以把COOLDOWN和MANA COST改到0,方便施放嘛;新建一个单位(我起名辅助施法,这个随便你的),把做好的嗜血术加给他,记得调整该单位的MANA让他可以够放这个技能,以及其他需要修改的地方,具体可以看我的演示内容
触发器内容
这里开始详细介绍一下&
EVENT:一个单位施放的技能开始生效
CONDITION:施放的技能是“电能激发”
(Ability being cast) 这个函数是在EVENT - CAST ABILITY一类里用于响应施放的技能的,返回值就是当前被施放的技能类型
1.&&在目标单位的位置为触发单位的玩家创建一个辅助施法的单位,面向默认角度
2.&&将最后创建的单位(即辅助施法单位)的嗜血技能等级设置为 触发单位施放技能的等级
3.&&为最后创建的单位创建1秒的生命时间钟
4.&&隐藏最后创建的单位
5.&&命令最后创建的单位对目标单位施放嗜血技能
看懂了吧?这些中文解释各位读者还满意吧?下面详细介绍一下其中用到的函数……
(Triggering unit) 响应UNIT类的事件,返回值为触发该触发器的单位,本例中就是施放技能的单位
(Target unit of ability being cast)响应技能施放事件,返回值为施放技能的目标单位(用于目标为单位的技能,如果技能是对点施放的,则用Target point of ability being cast来取得技能的目标点)
(Last created unit)返回值为最后创建的那个单位,一般都跟在CREATE UNIT的语句后使用
(Owner of (Triggering unit))这是2个函数的嵌套,不要以为很麻烦,能理解了就很容易,(Owner of unit)是外层那个函数,返回值是unit所属的玩家,那么各位应该知道(Owner of (Triggering unit))是什么意思了吧?没错,触发单位的所属玩家
(Position of (Target unit of ability being cast))同上,(Position of unit)返回值是unit的位置,(Position of (Target unit of ability being cast))则表示目标单位的位置
(Level of (Ability being cast) for (Triggering unit))什么意思呢?触发单位的施放技能等级
以上那些函数啊,能够熟练使用就好啦
对ACTION的一些解释:
设置辅助施法单位的技能等级,理所当然吧?除非你每级的效果都一样,可以省略这步
创建生命时间钟,为了1秒钟后让该单位自动销毁,释放内存,否则地图上单位会越来越……
隐藏单位,做什么都要做得像一点,总不能让人看见所谓的复合技能是旁边那丫帮你的吧?
OK,以上就完成了最简单的复合技能的制作,有了这一招,同学们已经可以做很多很多东西了吧?不过要记住,好好把施放技能和辅助效果技能联系起来,比如持续时间一般都应该是相同的等等……不要给玩家看出破绽就行啦……
下节课,群体技能第二讲 群体技能
一样,暂时介绍即时生效的群体技能
技能:经典中的经典:群体睡眠效果:范围内的敌人有一定几率会进入睡眠状态,成功的几率会随等级提升 解释:最最基本的单体技能群体化的演示,还记得我让大家考虑的描述吗?呵呵其实就是,选取范围内的所有敌人,并对每一个敌人创建一个辅助施法单位,对其使用睡眠 准备工作:首先一样,需要一个用于施放的技能,现在的Channel(通魔)技能已经可以做到有范围的施放技能的模式了,但唯一的缺点在于电脑不知道如何使用……所以,如果大家觉得方便的话,就拿Silence(沉默术)来做施放技能吧,只要把技能的效果改成无效、持续时间改到0,并把作用对象改成AIR+WARD(一般不会有那么变态的单位存在的呵呵,所以沉默的效果不会影响到其他的单位,因为我们只要用到他施放技能的那个圈圈就行了);同时制作一个Sleep技能,添加给辅助释放单位;具体设置可以参照演示里的内容
触发器内容
看上去和上一次讲的差不多哦,所以这里我只解释新的东西
重点在ACTION里的第一句,也就是Pick up unit
这里整句的意思(句子太长请看演示):选取所有在以施放技能的目标点为中心,100+100*技能等级为半径内,所有活着、并且是触发单位的敌对玩家的单位
以上就把规定范围内(200,300,400)的敌人挑出来了
接着是IF语句,用来判断条件:在1-100取一个随机数,是否小于等于20+20*技能等级(40,60,80)
后面的都一样了,不懂的请看上一课
接着解释一下新用到的函数
首先是在Pick un unit命令里,用的是Unit In Range Matching Condition的函数,这条函数表示的是在范围内满足条件的单位,接着选取中心点(Target point of ability being cast技能目标点)以及范围(100+100*技能等级)然后就点开Condition选择选取的条件
因为要选取的单位是活的并且要是敌人的,所以需要用到And关系来将2条判断联系起来
(Unit is alive)用判断Unit是否存活用的
(Unit belongs to an enemy of Player)是用来判断Unit是否是Player玩家的敌对单位
注意一点,在Match Condition语句里,所有表示在比较的单位,全部用Matching Unit这个函数来表示,Match Unit唯一用在这里也只能用在这里,具体可以看演示,需要自己理解,说不清楚
然后是在IF语句里的Random Number函数,该函数会返回在上下限之间随机的一个数,通过和固定数比较可以实现一定几率触发的效果
其他的命令和上一次的都一样就不多做解释了
大家可以看懂吧?看不懂?看不懂就去做,不做怎么可能懂
演示,是给你看效果的
教程,是对演示的详细介绍
当然对TRIGGER熟悉之后,光看演示就已经可以学到很多自己想不到的东西了
这次就说到这里
第三讲 制作全新的技能(一)的确的确,总是搞复合啊、群体啊也是非常有限制的,但是只要各位能够很清楚的了解各个ACTION的作用的话,是完全可以做出全新的技能的,例如非常经典的时间静止就是利用PAUSE UNIT命令来实现的,当然本教程并不是给你们解释各种命令什么用的,而是给你们介绍如何利用TRIGGER来做一些自己的原创技能 技能:附魔武器-冰效果:使目标的攻击附带冰冻属性并增加一定伤害,持续45秒解释:大家都知道那个FROST ORB的效果,没错!这个技能其实就是把FROST ORB的效果直接添加到单位身上,用的是UNIT-ADD ABILITY来实现这个效果,很简单吧?想必我不说下去大家都知道该怎么做了……不过我认为呢,可能重点更在于那个持续45秒吧,因为有很多人不知道用什么好办法来解决这个WAIT的问题……下面开始具体的制作准备工作:首先要做一个施放技能,因为这次的效果是完全用TRIGGER产生的,也就是说施放技能是没有任何效果的,只是用来触发的,所以,这里推荐一个技能:CHANNEL(通魔),CHANNEL可以做出各种施放条件的技能,以单位、点、范围、立即生效为目标的等等都可以很方便的做出来,唯一的缺点就是,电脑的AI并不会自动的使用它(这个真是大麻烦啊~得自己写TRIGGER让电脑用哎)。当然你也可以找一些无效果的技能(例如INNER FIRE效果改0啊等等)作为施放技能,不过本例中就用CHANNEL来做啦,别忘了做一个3级的FROST ORB的技能哦
插入内容:CHANNEL技能中一些重要的东西ART DURATION:技能动作的时间,就是指在你的单位开始做施放技能的动作后多少时间,才开始这个技能的效果BASE ORDER ID:基本命令ID,这个ID随便选啦,如果用了不同的ID,就可以把多个CHANNEL技能放在一个单位身上了,在用ORDER命令施放技能时用到的也是这个IDDISABLE OTHER ABILITIES:取消其他技能,就是说使用该技能时你的单位就不能移动和使用其他技能一直到该技能效果结束后才能移动
OPTION:&&&& VISIBLE:可见的,不打勾就看不到这个技能了&&&&&&&&&&&&&&&&&&&& TARGETING IMAGE:目标图象,就是施放范围技能时那个大圈圈&&&&&&&&&&&&&&&&&&&& PHYSICAL SPELL:物理技能,可以对魔免的用,就像蜘蛛的网那样&&&&&&&&&&&&&&&&&&&& 其他几个根本用不到嘛……就不说了TARGET TYPE:施放类型:&&&& INSTANT:立即,像山丘的震地那样&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& UNIT TARGET:单位目标,像山丘的锤子那样&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& POINT TARGET:点目标,像大法的暴风雪那样&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& UNIT OR POINT TARGET:单位或点目标,牛头人的震荡波那样基本上要做各种施放方式的技能改改以上几个就够了,自己多用用就知道了插入完毕
触发器内容
怎么样,有了前2次的讲解,函数已经没什么大问题了吧?
现在先给大家介绍一下新出现的命令ACTION第3和最后一句就是ADD ABILITY和REMOVE ABILITY命令了,作用非常简单,从指定单位身上添加和移除技能,没啥好说的
CONDITION里第2句,是一个判断语句,用来判断目标单位身上的“附魔武器-冰”的效果是否存在,当该技能等级为0时,即没有这个技能
整个TRIGGER的意思就是,当使用“附魔武器-冰”技能时,如果目标单位身上没有被用过该技能,则技能生效,并在15秒后,移除效果(这个WAIT的时间大家自己改吧)
最后是ACTION里的第一句,用来解决WAIT问题的关键:局部变量
局部变量的定义我不多做解释,懂得编程的人肯定知道,不懂就去网上找找介绍什么的,反正用局部变量真的是很方便啊~每次调用这个TRIGGER时,都会帮你开辟一个局部变量的空间,所以完全不需要担心会产生冲突。写局部变量需要用到CUSTOM SCRIPT,对局部变量进行声明的格式如下:
local (变量类型) (变量名)
由于JASS是严格区分大小写的,所以一定记得要用小写的local,变量类型在本例中是unit类型的,变量名则是udg_target_unit
其实各位在TRIGGER EDITOR里定义的全局变量,会被系统自动在最前面加上“udg_”,而这里对局部变量的声明,又正好重复了已经创建的全局变量target_unit的名字,这是问题的关键,在函数内部定义的局部变量将代替同名的全局变量产生效果!所以说,在全局变量里定义的target_unit变量,其实只是为了可以在TRIGGER里直接调用局部变量而不用把整个TRIGGER都写成SCRIPT形式而用。
第一句声明了局部变量的类型和名称,所以之后TRIGGER中所有的target_unit都将成为局部变量
第二句将施放技能的目标单位赋值给局部变量target_unit
第三句将附魔武器-冰的效果添加给target_unit(也就是施放技能的目标单位)
第四句设置效果技能等级
第五句等待延时
第六句第三句将附魔武器-冰的效果从target_unit身上移除
可能同志们会问为什么不能在WAIT后直接调用(Target unit of ability being cast)这个函数呢?因为在等待后这些函数取到的单位可能产生偏差,并不指向原来的单位,从而造成错误
解释,到此为止。
关于这个技能有几个问题存在,首先,效果不能被驱散,其次,不能重复作用在同一人身上,当然以上2个缺点可以通过一定方法解决,不过要考虑到的因素实在太多了~也就不在这里详细介绍,说到底,这个教程只是给大家指点一下制作技能的大致方法,关于技能的严密性,不同情况不同的对策,就要靠各位自己考虑啦!
我知道这一讲比较抽象,尤其是对首次接触到什么全局变量局部变量的人而言,不过这也没办法,局部变量可以解决太多原本非常复杂的问题,不管你有没有看懂这次说的内容,你只要掌握了声明局部变量和直接在TRIGGER中调用的方法,你已经成功了~具体情况可以打开我的演示仔细的研究一番,呵呵,下课吧~
下节课,制作全新的技能(二)
作者:[GA]Scomb
作者:[地精研究院]scomb 完全原创!如需转载,请写名作者与出处!谢谢合作!
注意:此文章仅适用于1.17 WE!
本地图地址:
RPG地图攻略
RPG地图视频
防守类RPG地图攻略
防守类RPG地图视频
对抗类RPG地图攻略
对抗类RPG地图视频
其他RPG地图攻略
热门地图周排行
最新推荐地图
地图下载总排行视频: 魔兽争霸3纯T技能演示——单体技能群体化(flygx)
分享给好友
魔兽争霸3纯T技能演示——单体技能群体化(flygx)
下载至电脑
用或微信扫一扫,在手机上继续观看
分享给站外好友
把视频贴到Blog或BBS
flash地址:
<input type="text" class="form_input form_input_s" id="link3" value=''>
<input id="link4" type="text" class="form_input form_input_s" value=''>
单体技能群体化:纯T模拟,无jass,供新手学习
万万表情系列(VIP会员专享)
节目制作经营许可证京字670号
京公网安备号
药品服务许可证(京)-经营-魔兽争霸触发器添加技能的问题_百度知道
魔兽争霸触发器添加技能的问题
我想做个技能,每升一级技能的模型就会改变的,比如暴风之锤,有3级,1级蓝色锤子,2级红色,3级黑色。我已经建好了这3个独立的技能,1个普通的供英雄升级。我的触发器是事件-任意单位 学习技能条件-学习技能 等于 风暴之锤(普通)动做-为 触发单位 添加 风暴之锤(蓝)
-删除 触发单位 的 风暴之锤(普通)………后面的我就不会编了。但我发现虽然英雄有了蓝锤,而且普通锤也被删了,可是英雄学习技能栏(红十字)里的普通锤跟没点一样,而且之后有技能点去点也没效果,就算点几十技能点去点都没用,技能点也没了。如果不写动作-删除普通锤的话,红十字里的普通锤会变,也会添加蓝锤,但技能栏里还会有个普通锤。求大虾教教我,并且帮我完成一下3色锤的触发器,谢谢
提问者采纳
其实,换个思路,同样可以做出来。你可以自定义3个马甲,分别给他们不同颜色的锤子技能。马甲用小精灵来作,调整为没有模型,生命回复速度为负数。事件:任意单位使用技能条件:技能等于风暴之锤动作:if 触发单位的风暴之锤的等级为1then 创造1个普通锤子马甲-对最后创建的单位发布风暴之锤命令对技能释放目标else if 触发单位的风暴之锤的等级为2
then 创造1个蓝锤子马甲-对最后创建的单位发布风暴之锤命令对技能释放目标
else if 触发单位的风暴之锤的等级为3......如此,就可以做出效果。也可以用变量记录一下。细节:1.马甲的施法前摇要调整为0。2.如果你的图里有类似阻挡一次施法的物品或技能,锤子技能伤害最好用在英雄技能上(即马甲技能无伤害,仅仅提供模型,否则该物品或技能将无法阻挡马甲的锤子。3.第2条细节其实没试过。。你可以测试一下。。(没电脑用悲催阿)4....自己想去。。郁闷,没有用电脑,这打字排版好累!(其实很好奇你怎么改的锤子的颜色?导入新模型?)
其他类似问题
为您推荐:
触发器的相关知识
其他1条回答
我也想知道!(打酱油的)
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁魔兽争霸求大神帮我。WE技能触发!我制作一个群体技能,心灵之火,单击主动释放有效果,自动释放没有效果_百度知道
魔兽争霸求大神帮我。WE技能触发!我制作一个群体技能,心灵之火,单击主动释放有效果,自动释放没有效果
...................那你就模拟一个呗.....先找一个单位目标的技能或通魔,再改成你的心灵之火,接着触发:事件:发动技能XXXXX(不想打了)条件:施放技能等于心灵之火动作:创建马甲(也是省略了的)
设置生命周期2秒
隐藏最后创建的单位
发布人族—心灵之火(排泄还没打,自己搞吧...不搞也无所谓..反正影响不大)
其他类似问题
为您推荐:
心灵之火的相关知识
其他2条回答
能看看你的技能吗?可能是物篇问题,也可能是触发问题
mmamwmmsjshh
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁魔兽争霸技能问题_百度知道
魔兽争霸技能问题
怎么把掠夺者的诱捕变成群体诱捕啊,发来的要是掠夺者(Spoliator)这样的因为我的编辑器有的字是英文有的是中文。。。
触发编辑器我一窍不通,把这个介绍详细点还加50分
提问者采纳
☆☆☆请问怎样把单体技能改为全体?★★★★
原理 单体改群体流程
单位施放技能---在触发单位位置创建几个辅助单位--命令辅助单位对敌人施放技能(与英雄相同的)
也即一个单体改群体 要用到两个技能
一个是英雄的 一个是辅助单位的
事件:任意单位-发动技能效果
条件:技能==XXXX(比如诱捕)
动作:单位组 选取 技能施放目标 256 范围内 的 所有单位 满足 选取的单位 的所有者 不是 触发单位的所有者的盟友
|_单位创建 1 个 辅助单位 在 触发单位的 位置 并面向 默认的角度
//单位-创建 单位 在点
|_隐藏最后创建的单位
//把辅助单位 隐藏起来 即所谓的障眼法 //单位-隐藏 。。
|_设置最后创建的单位的 生命周期为 2 秒
//让辅助单位施放技能后
消失 不然 嘿嘿 保准你卡死 原因自己想想 单位-设置生命 周期
|-单位-对 最后创建的单位 发布 兽族-诱捕 对 选取单位
//施放技能 都是用 单位-发布命令 对 。。。(目标 点 无目标
由 技能决定 如诱捕就要用 单位-发布命令 对 目标)
提问者评价
没有合适答案就给你吧还不谢谢我
其他类似问题
为您推荐:
您可能关注的推广
魔兽争霸的相关知识
其他2条回答
你把编辑器换成老狼的UI就变成全是中文的了
物体编辑器&兽组&单位&诱捕&状太(s)-影响区域以诱捕单位为原点影响区域内所有单位都会被诱捕
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 魔兽争霸阴影世纪触发 的文章

 

随机推荐