魔兽争霸编辑器地图编辑器怎样做技能

U9论坛欢迎您,有任何疑问均可以发帖咨询!
看一看U9会员都在讨论什么~
欢迎关注游久网电竞专区。
查看: 3986|回复: 6
节操38 绿叶0 注册时间在线时间18 小时阅读权限20精华0主题听众数经常活跃的版块weer区最后登录KPI值0
正式会员[高], 积分 1826, 距离下一级还需 174 积分
UID帖子U9币4245 魅力680 声誉5 U菜花20
元方,你怎么看?
总评分:&节操 + 1&
希望到高人指点ydwd
『通魔作坊』长衫造纸农
节操89 绿叶1 注册时间在线时间820 小时阅读权限100精华0主题听众数最后登录KPI值0
UID925229帖子U9币3528 魅力4082 声誉9 U菜花1037
全是视频,也是炫酷
节操350 绿叶1 注册时间在线时间217 小时阅读权限40精华0主题听众数最后登录KPI值0
Lv.10 热心玩家[初], 积分 4156, 距离下一级还需 1344 积分
UID帖子U9币84029 魅力1599 声誉5 U菜花305
赞同楼上的
[]: 猴年大吉, 让你心碎 终于决定露出自己的真面目以猴示人,勇气可嘉,奖励 6
不在沉默中爆发,就在沉默中灭亡。
节操1528 绿叶1 注册时间在线时间644 小时阅读权限100精华4主题听众数经常活跃的版块制作魔兽地图最后登录KPI值-20
UID帖子U9币80741 魅力6377 声誉5 U菜花506
【独立团队】霸气归来& &&&【独立团队】以义为先、以情为首、以实力证明、团结友爱、齐心打造最具特色的作者团队
团队真言: 我们重的是感情,我们要的是义气 我们以实力来证明,以团结为目标
因为缘分我们走到一起 因为兴趣我们走进WE 因为不舍我们留在WE
只要你满足以下任意一点即可加入我们
War3地图作者,擅长某项WE相关技术的WEer,如:地形、jass、技能、触发器、算法、模型等方面 具有地图策划 或 数据平衡方面能力的人员。
有特长的人员,如:制作地图攻略、地图评测、模型师、美工(photoshop、3DSMAX、AE、FLASH等)、编程开发、采访记者,游戏视频制作等等。
【独立团队】欢迎你的加入& & QQ审核群:
节操0 绿叶0 注册时间在线时间2 小时阅读权限10精华0主题听众数最后登录KPI值0
见习会员[初], 积分 270, 距离下一级还需 50 积分
UID帖子U9币33 魅力8 声誉5 U菜花0
求探讨几个技能的想法:
1.想让投掷物弹射最后弹回英雄自己身上,补充等同于所造成伤害的体力值。(这个我是没啥想法,补充体力值还可以提取数值,只是不知道直接用触发增加生命还是怎么办,而弹射回自己身上就毫无办法了)
2.想要出遁地,可自由行动的遁地并吸取所经过的路径上敌人的体力值补充生命。(这个,怎么判定所经过路径上的敌方,并不发生同一单位吸取两次?我可没打算做成站在一个单位旁边一直吸他,,,只是想对大量单位每个吸取一小点。如果每0.5秒吸取触发单位周围所有敌方,就可能出现一个单位一直被伤害)
3.全属性相互加成怎么做 (就是使用后一段时间内力敏智都变为之前三者之和,,,如果直接用触发改变,技能结束就不知道怎么改回来了,,况且技能持续时间内的升级增加属性也不知怎么办了)
顺便问,激活类的技能怎么做?
节操4 绿叶0 注册时间在线时间3 小时阅读权限10精华0主题听众数最后登录KPI值0
见习会员[初], 积分 273, 距离下一级还需 47 积分
UID帖子U9币37 魅力11 声誉5 U菜花0
下水道 有没有考虑过使用 蝗虫技能 来实现呢
节操37 绿叶0 注册时间在线时间39 小时阅读权限15精华0主题听众数最后登录KPI值0
见习会员[高], 积分 480, 距离下一级还需 70 积分
UID帖子U9币96 魅力96 声誉5 U菜花0
...........
[通魔元老]
Channel Workshop通魔作坊元老级人物
[通魔全能手]
这位通魔成员涉猎多项制图相关技术,是个多才多艺的全能手。
[创意风暴]
该会员在WE上的创意常常令人耳目一新
Powered bywar3地图编辑器怎么添加自定义技能?_魔兽争霸吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:662,286贴子:
war3地图编辑器怎么添加自定义技能?
war3地图编辑器怎么添加自定义技能?我想做一个由英雄带领一群士兵的。。想给这个英雄添加个自定义的技能
war3如果没有开放编辑器...
时间真是把杀猪刀…这2人...
速度比较慢
好的话剧,坚决不能错过,价格也很重要!
在单位编辑器找到英雄 然后在右边有英雄技能这一项
物体编辑器中有技能编辑器,点开,上面有自定义技能,选一个技能作为模版,然后制作
建议去WE吧有好多教程……
贴吧热议榜
使用签名档&&
保存至快速回贴收藏的论坛
魔兽地图编辑器新手教学 单位基础技能制作1
  其他推荐:  
近期游戏热闻魔兽争霸地图编辑器教学——属性伤害闪电链
作者:imba久期|
小编:邪恶叔|
查看: 6264
直接上视频了的说 →_→
上一篇:下一篇:
傲剑狂刀8.88正式版
地图名字:诛神之怒1.6正式版
地图类型:剧情/防守
地图名字: 英雄有敌2.6拯救国王
地图类型: 防守
01-1901-1901-1901-1901-1901-1901-1901-1901-1901-19查看: 20848|回复: 4
自定义技能制作教程
第一章 基础篇
盖高楼要先打好地基,下边先来了解一下基础的东西(估计大部分人都已经了解了,原谅我再废话一遍吧,以后的章节是要用到这些东西的哦。)
一. 原有技能的组成部分
要想自己做技能,首先要知道原有技能是由那些部分组成的,而我们做自定义技能,一般也是在某个或某些部分上做改动,或者模拟它们。
一般来说,一个技能需要注意到一下几个方面:
1.施放方式。
2.目标选取方式。
3.目标位置关系。
3.施放技能时的特效。
4.技能的实际作用。
二.技能分类:
按施放方式不同,分为主动技能(如医疗波)、自动技能(如灼热之箭)和被动技能(如闪避)。
& && &&&在做自定义技能时,选择的引导技能(或者叫做马甲技能、傀儡技能等)需要跟自己想要制作的技能在施放方式上相同。如果你想做一个被动技能,而使用主动技能做引导,是很怪异的。而使用被动技能来制做主动技能更是不可能实现的。
按目标选取方式不同,分为单位目标技能(如妖术)、无目标技能(如战争践踏)、地点目标技能(如暴风雪)。
& && &&&某些技能可以同时属于单位目标技能和地点目标技能,例如腐臭蜂群。
按目标位置关系不同,分为单体技能、线形技能(如震荡波)、面形技能(如暴风雪、战争践踏)、链形技能(如闪电链)。
& && &&&需要说明的是,修改线形技能的起始宽度和终止宽度可以做成扇形或者锥形技能。自定义技能可以参照这几种方式设计。不过,选择的引导技能和想要制作的技能在目标位置关系上不必相同。比如群体风暴锤属于面形技能,但通常使用风暴锤做引导技能,风暴锤就是单体技能。
按技能作用有益还是有害分为正面技能和负面技能。
& && &&&如果你想让电脑自己会使用你的自定义技能,那么选择引导技能的时候就要考虑这个了。
按技能作用的状态是否持续分为即时技能和状态技能。
按技能作用是否需要持续引导分为瞬发技能和持续技能。
需要注意的是,即时技能不等于瞬发技能,状态技能也不等于持续技能。举例说明一下:暗夜的恢复不需要持续引导,所以是一个瞬发技能,同时它造成目标在一段时间内生命持续恢复,所以又属于状态技能。暴风雪每砸一下,伤害立即完成,他属于即时技能,但需要持续引导,所以是持续技能。三.原有技能的常见项目及意义声音 音效:技能音效。
音效(循环):持续技能的循环音效。
名字:编辑器里的名字,在游戏中不可见。
名字 - 编辑器后缀:仅在编辑器中显示,一般用于区分同名技能。
提示工具 - 学习:学习技能时的提示文本。 通常用于显示技能的名字、下一等级和学习快捷键。
提示工具 - 学习 - 扩展:通常用于现实技能的详细描述。
提示工具 - 普通:正常状态时的技能提示文本。
提示工具 - 普通 - 扩展:参照学习-扩展。
提示工具 - 关闭:激活技能的提示文本。
提示工具 - 关闭 - 扩展:关闭或取消激活技能的提示文本。
命令串 - 使用/打开:用于发布相应技能动作的命令串。
命令串 - 关闭:同上
命令串 - 激活:同上
命令串 - 取消激活:同上
热键 - 学习:学习技能的热键。
热键 - 普通:使用技能的热键。
热键 - 关闭:关闭技能的热键。
图标 - 学习:学习技能的图标。
图标 - 普通:使用技能的图标。
图标 - 关闭:关闭技能的图标。
按钮位置:技能按钮在右方功能区的位置。功能区为3行4列的方格,第一列的X坐标为0,第4列X坐标为3。行的Y坐标也是从0开始的。如果多个技能拥有相同的按钮位置,则排列顺序常变的不可预料,所以应该尽量安排好按钮位置。
效果 - 投射物图像:技能投射物效果。只对有射弹轨迹的技能有效(如风暴之锤、灼热之箭)。
效果 - 射弹速度:技能投射物飞行速度。
效果 - 射弹弧度:射弹弧度 = 技能投射物飞行最大高度/平面位移。
效果 - 射弹自导允许:技能投射物可以自动跟踪目标单位。
效果 - 闪电效果:只对链形技能有效。设置单位之间的连接效果。
效果 - 区域:地面区域的效果影响。只有闪烁和传送类技能该项有效。
效果 - 施法动作:施法者在施法过程中所做的动作的动画名。
效果 - 施法者:对施法者附加的特效模型名。
效果 - 施法者 - 附加数量:对施法者附加的效果数量。 0表示使用效果默认值。
效果 - 施法者附加点:对施法者的效果附加点位置。
效果 - 目标点:对目标点的效果附加。 只有以点为目标施放技能才有效。
效果 - 目标:对目标单位的效果附加。 只有以单位为目标施放技能才有效。
效果 - 目标 - 附加数量:对目标单位附加的效果数量。 0表示使用效果默认值。
效果 - 目标附加点:对目标单位的效果附加点位置。
效果 - 特殊:技能指定作特殊用途的效果。 不是每个技能都有效,而且对各技能的用途都不一样。
效果 - 特殊附加点:特殊效果的效果附加点位置。
real 后肢(四足生物)
weapon 武器
left right
修饰手脚等附加点,添加在前面和后面都可以
overhead 头顶
chest 胸部
origin 脚底
turret 炮塔头部
mount 坐骑头部
eattree 吃树时树的附加点所在位置
rally 聚集点(设置聚集点在该单位身上时的聚集点附加位置)
sprite 只有血法和建筑物有该附加点
first second third fourth fifth sixth 修饰sprite的后缀
种族:技能所在种族分类。
英雄技能:是否作为英雄技能。
物品技能:是否作为物品技能。
等级:技能的总等级数量。
学习等级:技能初始学习需要的英雄等级。 等级高于或等于6级的技能才能对魔免单位施放。
跳级要求:学习技能所需等级间隔。 0表示取默认值(平衡常数中设置,默认为2)
魔法偷取优先权:一般来说是作为对战AI中判断使用。
魔法效果:对目标单位附加的魔法效果。
区域持续效果:对目标区域的持续性效果。 只有对区域持续效果的技能才有效。 如暴风雪、地震。
目标允许:可以对其施放的对象类型。以下面的分类:同行之间为Or关系,异行之间为And关系,该行不选则取默认值。
例:只选择无敌则表示目标允许无敌的存活的别人的单位(空中地面建筑)。此时原默认值-可攻击将不再起作用,单位只能对无敌的单位施法,而其它未被改动的行则采用默认值。
就是不允许对任何目标产生作用。如果是无目标或点目标技能,技能可释放,有特效被创建,但是无实际效果。如果是单位目标,则技能无法施放。
2.残骸 物品 地形 树木 墙 桥 装饰物 空中 地面 建筑 守卫 (默认空中 地面 建筑)
这组包含了所有可以被攻击的类型,是目标允许的基本组。
经过测试发现,原来是守卫的去除单位类别中的“守卫”项目也被作为守卫,而普通单位添加“守卫”类别,只是隐藏了功能按钮,作为目标的时候仍然没有改变。不知道这个是由什么决定的。
存活 死亡 (默认存活)
这个好像没什么可解释的。
无敌 可攻击 (默认可攻击)
一般来讲,伤害技能即便选择了无敌,也不能真正造成伤害。这组最主要的作用是限制某些状态或者治疗技能能不能对无敌单位使用。
友军 敌人 中立(默认全选)
“中立”指的是中立无敌意,中立敌对属于敌人。所有敌对单位都是“敌人”,包括中立敌对的。除了上边提到的,就是“友军”了。
联盟 玩家单位 (默认全选)
这个是友军的一个子类,和放技能的单位属于同一玩家的是“玩家单位”,除外“玩家单位”,其他友军单位就是“联盟”。
“自己”指的是放技能的单位,除了这个单位,别的都是“别人”。这个多少有些奇怪:如果前边两类什么也不指定,那么这个是默认是全选的,但是如果前边指定了项目,这个默认就是 “别人”
以上这三条原来被分为同一类,但是感觉很混乱,我使用通魔测试后,做了下修改。当然,有可能使用不同技能测试结果不同,那么欢迎指正。
英雄 非英雄 (默认全选)
古树 非古树 (默认全选)
自爆工兵 非自爆工兵 (默认全选)
机械 有机 (默认全选)
需要注意的是,目标允许不但与此项设置有关,也与技能本身的隐藏限制也有关,比如回城只能对城镇大厅施放,死亡缠绕不可能治疗非不死单位,等等。同样目标类型不但与单位的作为目标类型有关,还与目标分类有关。
魔法施放时间:魔法施放前导时间,但常被用来作为其他数据使用。 如暴风雪中作为波次间隔时间使用。
魔法施放时间间隔:即技能冷却时间
持续时间 - 普通:魔法效果对普通单位的持续时间。 也常被用来作其他用途。
持续时间 - 英雄:魔法效果对英雄单位的持续时间。 也常被用来作其他用途。
魔法消耗:就是魔法消耗呗
施法距离:最大的施法距离
影响区域:一般作为范围性技能的影响范围大小,对于线形技能指起点宽度。
检查等价所属:检查等价从属关系。如A从属于B,那么该项为True时A可以代替B,而B不能代替A;为False则两者可以相互替代。
需求:使用技能所需的科技项目,可添加多个。
需求值:所需科技项目的等级(科技)或数量(单位),可添加多个,与科技树需求依次对应。
以上这些是大部分技能共有的项目,是作为技能设计者必须掌握的。除此之外,还有一些个别技能特有的设置,后边的实战篇会有一定解释。
第二章 设计篇
个人认为,设计技能是自定义技能制作中最难的一关了。一个技能的好坏,最关键的也是要看设计的怎么样。如果想提高自己的设计能力,可以从下边着几点着手:
1.对众多游戏的技能有所了解,以便参照;
2.同时要对魔兽里边原有的模型尽可能多的熟悉,这样,设计的特效才可能会漂亮;这需要长时间的接触,不断研究别人的技能才能做到,没有捷径可寻。
3.对触发器能熟练应用,至少常用的语句要了然与胸。对于这一点,我会在后边的实战篇中逐步介绍。
第三章 制作篇
设计好了技能,就需要把他制作出来,下边我们就大致说一下具体步骤。
一.选取引导技能
一般来说,我们需要制作的技能大部分都是可见的,那么,就需要为它选择一个引导技能,用于显示文字描述,提供合适的施放方式和目标选取方式。如果没有引导技能,那么制作的技能只能是不可见的被动技能。
正如前边所说,引导技能在施放方式上必须与需要制作的技能相同,同时,也必须在目标选取方式上相同,否则将变的怪异或者难以实现。另外,选取引导技能时还要兼顾技能的实际作用,尽量选择实际作用与期望的作用相近的技能来引导:正面的自定义技能,最好采用正面引导技能来做,否则电脑不会自动施放,负面技能也一样;最好不用状态技能来制作即时技能,也不用即时技能来制作状态技能,否则,电脑可能会用起来没完;瞬发技能可以引导持续技能,比如用震荡波引导,辅助单位释放火焰雨,那么主角放了法术就可以移动了,火焰雨不会被打断。
二.制作特效
这一点应该是制作过程中最困难的了,不过只要前边设计的到位,完成起来也会比较顺利。
特效制作可以直接使用原有的模型效果,也可以使用多个相同或不同模型来拼凑。一般来说,前者需要作者对模型更加了解,而后者则需要一定的算法基础,尤其是拼凑动态特效的时候,几乎不可避免的使用触发器。
先说一下无T的特效制作。暴风雪、火焰雨是制作区域特效的好帮手,更换模型,就能很简单的制作漂亮的区域特效。女巫的减速则常用来制作目标身上的标记特效和提供BUFF。
对于有T的特效制作,一般是采取创建特效、闪电效果、漂浮文字或者特效单位的方式来实现。创建特效使用比较方便,但是需要事后删除,否则会堆积在地图中(即便出现一下就不见了),使游戏运行越来越慢(即内存泄露),而且,特效只能创建在地面上或单位身上,不能自由设置高度。创建特效单位是实现把需要的模型赋予某个辅助单位,在需要的时候创建他,一般只需要加一个生命时钟就可以方便的解决泄露问题,而且可以方便的设置高度,旋转角度等,还可以指定播放哪个动画。创建闪电效果比创建特效略微复杂一点,而且使用原版的WE也不可以设置高度,不过WOW8提供的加强UI解决了这个问题。创建漂浮文字可以让你的技能显起来更酷。以上提到的这些方法会在后边的实战篇详细讲解。
在实际应用中,需要根据所需的效果来选择使用哪种方法,比如需要绑定一个特效到单位身上,一般就采用创建特效的方法,而需要对特效进行复杂设置时,最好使用创建特效单位。创建闪电效果和漂浮文字意图很明显,就不赘述了。
顺便说明一下,有时候特效不能直接在技能修改,或者需要修改魔法效果,那么就要到魔法效果页面去找咯。
三.产生实际效果
制作技能通常不只是为了好看,产生实际效果才是我们的最终目的。那么要怎样做呢?这就要看是哪种效果了。
如果是生命伤害类的,可以使用引导技能直接造成,也可以使用伤害目标/范围语句进行T伤害,甚至可以使用某个单位攻击目标造成伤害。另外也可以直接设置单位生命值,但是这样不会触发单位受到伤害事件,如果单位死亡,也不算你杀的。因此除非特殊设计,否则尽量不用这个方法,使用这个方法的时候,也尽量保证不造成目标死亡。
如果是魔法伤害类的,一般需要使用引导技能或辅助技能造成(比如法力燃烧),或者直接设置目标单位的魔法值。
如果是状态类,一般需要使用能提供类似状态的技能改,如果需要的状态只是某个技能中的一部分,那么保留需要的部分,把别的效果改没了,或者该成持续时间很段,效果很弱;如果需要的状态一个技能满足不了,可以使用多个技能拼凑。如果没有类似的技能可改,那只有尝试使用T效果了,一般需要用减速提供一个假的特效和BUFF,然后用T实现实际效果。
说了这么多,基本上把自定义技能的制作思路说了一遍。但是如果到这里结束的话,我估计脑袋要被大家的板砖拍裂了。为了让大家更好的理解上边的话,也为了让大家不太枯燥,下边我们就进入实战篇边演练,边学习吧。
第六章 进阶知识
经过前边几章的讲解和演练,相信各位已经对自定义技能有了初步的了解了,同时也能做出一些简单的自定义技能来了。但是,这些对于一个想在自定义技能,尤其是T技能上有进一步发展的人来说,还是远远不够的。下边我们就一起来聊聊进阶知识。
一、常用技能的基本介绍及变用方法:
下边这个是我转载的,不是很完善,有时间再修改一下,不过有一定基础的人看这些应该也是受益匪浅的。如果你想做一个自定义技能高手,这些东西是必须了解的。虽然有些东西你也可以用别的方法模拟,但是要费事的多,所以,好好看一下吧。
ANcl(通魔):这个技能本身就是为了作为假技能而存在的,在游戏中没有任何实际效果,却可以引发技能事件和发布命令事件。你可将其设定为自己想要的目标选择形式,比如无目标,点目标等。此外另有还拥有物理技能、终极技能和单独施法三个选项。还能通过设置引导时间和禁止其他技能这两项来改变整个引导行为。你也可以改变施法者和目标身上的特效图像。另外,你还可以更改该技能的基础命令ID,这样就可以使该技能的多个的副本在同一个单位身上互不干扰地运作。但遗憾的是无法添加buff,也不能提供投射物图像和闪电效果,而且通魔技能电脑单位都不会主动使用,必需要用T来控制电脑玩家的单位使用。当然,法术的实际效果都得靠你的触发来实现。
下边是核心数据和详细解释
_cf9ce32b328Q5QoOhDrXwS.gif (4.92 KB, 下载次数: 231)
12:28 上传
使其他动作无效:选中后会在引导施法期间不能动,不能自行中断施法,控制栏按钮也会暂时消失,相当于暂停单位。当然被敌人打晕或打死还是会中断施法的。
动作持续时间:在持续引导技能时,显示特殊效果的重复创建时间间隔,如果为无目标,指施法者身上的特效,否则指目标单位身上或目标点特效。
基础命令ID:指施法时发布的命令,多个技能副本时,分别更改为列表中的其他命令可以使同一个单位拥有两个以上副本而不冲突。这是其它既能做不到的。但是按住Shift自己随意书写的则不行。
施法持续时间:技能的持续引导时间,如果设成0就视为非持续性技能
目标类型:四种施放技能的目标类型:分别是无目标:如咆哮;单位目标:如死亡缠绕;点目标:如沉默;单位或点目标:如腐臭蜂群。
选项:见下边的解释
2.gif (7.08 KB, 下载次数: 230)
12:29 上传
图标可见:该技能学习后是否可见(不选就是没图标技能了)
目标选取图像:这个就是范围性技能(比如暴风雪)在选取目标区域时的那个大圆圈
物理魔法:选中这个的话,该技能便视为物理技能,能对魔免单位使用,但不能对气化的单位使用
通用魔法:选中这个的话,该技能便视为通用技能,能够对魔免单位和气化单位使用
单个施放:选中这个的话,如果在同一个队伍里有多个同种类单位拥有该技能,便只有一个施放该技能,其余的不施放(就像熊德的恢复);不选便全部会同时施放。
Amrf(乌鸦形态):只要正在拥有或曾经拥有过这个技能,你就可以通过触发器改变地面单位的飞行高度。但对建筑无效(实际上,在目标判定中,建筑不被认为是地面单位,详细解释参见1楼的 目标允许 的解释。)
Aloc(蝗虫):拥有蝗虫技能的单位无法被选择、无法成为目标并忽略一切地形限制。这意味着你只能通过触发来控制它。它的头顶也不会显示生命条。就目前版本,靠 单位-删除技能 语句是无法正确消除蝗虫效果的。一种消除蝗虫技能的方案是先隐藏单位再删除技能,然后再重新显示单位,不过这并不完美,存在的问题是你无法点选单位,而只能框选。
Amec(机械小动物):通过这个技能召唤的单位,在非控制者(包括非共享控制的盟友)看来就像是中立友善的单位。唯一的区别是,当敌人右键点击该单位时发布的是攻击命令。你无法更改此技能召唤的单位类型,因为它只会在当前地形的小动物中随机选择,不过你可以响应召唤事件,然后给它来个变身。当然你也可以更改单位的所属种族,然后将其加入当前地形的小动物列表,效果一样。使用这个技能,可以做出伪装技能,比如红警中的间谍。
AId1, AItg, AIlf, AImb, AIsi, Aamk, AIsr, AIdd, AIas, AIms, Arel, AIrm, AIcs(护甲加成,攻击加成,生命加成,法力加成,视野加成,属性加成,符文护腕,物品防御,攻速加成,速度加成,生命恢复,法力恢复,物品暴击):这些技能可以改变单位的护甲、攻击、生命、法力、视野、敏捷、力量、智力、魔抗、反伤、免伤、攻速、移速、回血、回魔、暴击和闪避的加成数值。幸运的是这些技能的效果都能叠加,因此可以只靠有限几个技能副本来组合出任意加成值,最简单的做法就像人民币的币值那样。所有的技能都能在负值下奏效,不过视野加成这技能有点例外,如果单位身上拥有能侦测隐形的技能,它就无法减小视野。'AIdd’和'Aegr'(艾露恩的赐福)这两个技能拥有相同的数据域:魔法抵抗、伤害削减、和反弹,可它们的攻击速度因子和移动速度因子两项没有实际效果。一个特殊的bug允许你不添加任何永久技能就能改变一个单位的生命和法力上限。方法很简单:做一个自定义的AIlf(生命加成)或AImb(法力加成)技能,然后将其级数设为1级以上,1级的加成值为0,而2级的加成值设为你目的值的负数。比方说你想加200就设为-200。现在,用UnitAddAbility()添加该技能,再用SetUnitAbilityLevel()将其等级设为2。这些技能存在bug,因此你会发现没有实际加成。然后你立刻用UnitRemoveAbility()删除这个技能。这次war3会试图一并取消这-200的加成(虽然因为bug的存在,这个值之前并没有加上),结果是,单位凭空增加了200的生命/法力上限。至此,你已成功地不添加任何永久技能就改变了单位的生命/法力值。
ANvc(火山):该技能是唯一可以创建可破坏物/装饰物的技能,也许会有点用途吧。
Absk, Adef, Amdf, ANms, AEim, AHds(狂暴,防御,魔法防御,法力盾,献祭,圣盾术):这些技能使用时不会打断施法者的当前命令。后五个可以切换打开和关闭状态(前提是在游戏常数中开启此功能).将它们的效果值设为0,并捕捉开启和关闭命令就可以简单地自定义他们。当然如果你不希望显示buff,那么捕捉到命令后记得用UnitRemoveAbility()删除之。不过,这些技能在被删除时会发布两次关闭命令,因此记得加上简单的规避措施来避免捕捉到这些事件。第一个技能'Absk'不用考虑这些情况,因为它本身就不存在关闭状态。如果你不在意施法动画的话,有一个简单的法子可以使几乎所有技能都不打断当前命令——将施法单位的图像 – 动画施放点和图像 – 动画回复点都设为0,这样单位就会立即施法,然后继续执行之前的命令。
Arpl, Arpm, Arpb, Afzy, Apsh, Amel, Arai, AUcb (补充生命,补充法力,补充生命和法力,狂热,相位变换,尸控术,腐尸甲虫):这些技能都能自动施放,而且左键点击就能使用,无需指定目标。可以用于制作左键和右键点击效果不同的按钮。用技能施放命令可以捕捉左键点击,用开启和关闭自动施放命令可以捕捉右键点击。当然最好在自定义界面中去掉那个自动施法的金色边框。前三个技能的效果能简单地移除,将持续时间设为0.01也能将'Afzy'无效化。然而你无法实际消除'Apsh'的相位变换效果。后3个技能需要附近有尸体才能点击。你可以将绞肉车的创建和运载尸体技能放到一本隐藏的魔法书里添加给单位,这样就可以提供所需的尸体了。
Apit, Aneu, Aall, Asid(购买物品,选择英雄,盟友商店,出售物品):有机地组合这些技能能让你的商店像奥法宝库一样只对自己人出售物品。区别是AddItemToStock()函数依然会奏效。而RemoveItemFromStock()只对被AddItemToStock()添加的物品有效,因此你得在对象编辑器中清空你商店的制造物品和出售物品两栏,然后在地图初始化时用AddItemToStock()来实现添加物品。添加和删除所售单位的做法亦类似,把'Asid' 换成 'Asud'即可。删除'Aall'的话,商店就向所有玩家公开营业。顺便,'Asud'技能会让所有玩家(包括敌方)都看得到这个商店。有'Aneu'或'Aall'技能的单位可用于共享技能和物品,即使敌人也可以使用该单位的所有技能和物品(可以在该技能的允许目标中更改)。
Ablo(嗜血术):增大目标单位的体型。一般来说你可以用一个隐藏单位来施放这个技能。将该技能持续时间设为0会时体形变更效果永久化。用触发删除嗜血buff就可以恢复体形。
Apiv, Agho, Aeth(永久隐身,鬼魂,可见的鬼魂):这些技能会令单位隐身,拥有永久隐身的单位会在攻击和施法时暂时失去隐身效果。因此这个技能可被用来制作先知的三级幽魂狼之类的单位。而拥有鬼魂技能的单位在攻击和施法时仍能保持隐身,拥有2个永久隐形的话也有相同效果(原文有误)。另外,Aeye(侦查结界)技能会自动给召唤出来的单位带上永久隐形。小彬注:幽灵(可见的)这个技能不能使单位隐形,作者可能没有详细测试。
Abur, Abdt (潜地,潜地侦测):潜地的单位和隐身差不多,潜地侦测这个技能有个数据域理论上能区分地侦测隐身单位和潜地单位,但实际上没有区别,看来暴雪并没有真正区分过潜地和隐形的隐身效果差别。
Aasl(龙卷风减速光环):该光环是用来添加无实际效果的buff的绝好技能。只要把允许目标设为自身,然后将数据效果设为0.此技能还不显示技能图标。最妙的是,当单位身上拥有一个以上这种技能时,它们的buff图标会叠加。鉴于'Aasl'本质上是个负面光环,因此其buff的提示是红色的,不过你可以在它名字上加颜色代码来改变这一点。比方说|cffff0000我是个坏蛋红色Buff|r 或是 |cff00ff00我是绿色的好人Buff|r.如果你觉得这技能不合意,也可以用其它光环,将它们放进被禁用的魔法书里就能隐藏图标。
ANpi(永久献祭):关于这个技能,作者说了许多,大意是可以把它加到目标单位身上来做个持续耗费对方魔法和生命的debuff技能。不过作者没有考虑到伤害源的问题,因此整段pass.当然,实际上只有持续耗费生命的效果需要考虑伤害源问题。小彬注:实际上有时候需要消耗单位的生命值也可以添加疾病云雾。当然,这也不能返回正确的伤害源,一般用于设计不需要返回伤害源的技能。
ACnr(生命恢复光环):一个可令附加特效随单位一起改换玩家颜色的不错技能。将生命恢复量设0允许目标设为自身。然后然后将你想添加的效果模型放到图像 - 目标一栏。这样被附加的特效模型会自动带上所属单位的玩家颜色。在有变身技能的情况下也能正常使用。制作坐骑系统的好东西。假如出现突发情况导致颜色还是出错,可以使用设置单位颜色为单位所有者颜色的方法来修正。
Aspi(尖刺路障):一个可以给单位附加特效又没什么副作用的技能。比Asph(球体)来得可靠多了。
Atwa(龙卷风游荡者):有这个技能的单位能比一般单位更加贴身地跟随目标。你得将该技能的影响范围设到最大。这样,如果此单位没有攻击能力,就可以用右键指令命令它近距离跟随目标了。
AIbf(建造微型农场):允许单位建造建筑,建造者甚至可以没有修理技能(或者其他什么乱七八糟的技能)。你也可以在这个技能中设置建造所耗的时间。
Aher(英雄):这个技能的图像 – 施法者一栏指定了所有英雄升级时候的特效。当然该技能默认是看不到的,你需要改动AbilityData.slk来显示它(像DDWE这种扩展编辑器里就默认有了),做法是将文件中该技能的useInEditor标记为1.
Amov(移动):移动技能指定了所有单位进入传送门时显示的特效。当然它本身也是单位能移动的必要条件,如果删除这个技能单位就无法移动。这个很奇怪地没提到。
AImo(怪兽诱捕):这技能很有意思,会引诱指定范围内的野怪。你也可以设置它的引诱间隔。
ANeg(工程升级):工程升级的出现终于解决了触发所添加的技能无法学习的问题。它允许我们使用触发更改技能学习界面。想要达到这一效果,英雄需要拥有能被替换掉的替身技能。这种占位技能必须和所需添加的技能拥有相同的级数,因此你一般需要准备两个,一个用来替换一般技能,另一个用来替换终极技能。我一般拿Arpb(补充生命和法力)做占位技能的模板,不过你用其它的也无所谓。将占位技能级数设为3,跳级设为2然后重复地填进英雄的英雄技能一栏。当然记得要在地图初始化时禁用它们,免得他们被玩家看到了。然后你就能用工程升级来将他们替换成想要的技能,当工程升级被添加时,其数据 - 技能升级一栏所指定的技能会被依次逐一替换,而被删除时,就会反着换回来。因此如果你不想看到工程升级的图标的话,这里有一个取巧的手段。如果你想将技能A换成B,那么就在工程升级的数据栏中反过来填B,A.这样,当你添加这个工程升级的时候会毫无效果,因为B不存在,而当你删除的时候,A技能就会被换成B,这样你就可以不添加任何永久性技能来完成这个替换了。当技能被替换成功后,他们就可在学习界学习。注意这法子只能正确替换未被学过的技能。用在学过的技能或普通技能上的话,被替换掉的只有原技能的施法距离、作用范围、持续时间、图标、允许目标等等数据,而不会真正改变改技能的核心。比方说你把光环替换为治疗技能会改变它的图标、提示等值,但它终究还是个光环。如果被替换的技能处于禁用状态,结果只会更加古怪而不可预测。另外工程升级也只对英雄有效,擅自添加给普通单位会导致游戏崩溃。如果你只想工程升级一个技能,可以将其它3个技能升级数据域改成单位永远也不会有的技能。此外工程升级在级数大于3时无法正确应用&dataA5&之类的动态提示。而且其默认buff也无法替换,不过这不是什么问题,因为它根本不显示。
Aspb(魔法书):魔法书基本上就是一个容器,可以装下11种其它技能。它可以装主动技能、自动施放技能、被动技能以至英雄技能。第一点好处是即使它被禁用,其中的被动技能也能正常生效。因此它可以用来隐藏任何被动技能,帮你节省按钮栏位。另一好处是你可以在运行时添加和删除魔法书中的技能。方法是把想添加的技能放进另一本魔法书内添加给单位,然后将第二本魔法书禁用。只要两本魔法书的命令ID相同,后一本魔法书中的技能就会显示到前一本里。给每一个技能准备一本魔法书就能实现动态添加了。该技能还有一个优点是,里面的技能可以通过英雄的学习界面来升级。唯一的缺点是它们一开始就是1级而非0级。不过你可以在英雄学会第1级以后再添加魔法书给他。
当然,用于添加技能的魔法书必须一开始就对玩家禁用。另外要将魔法书的最少技能数和最大技能数设为一样来避免bug。不过这里还是存在一些小问题。你似乎无法用触发来使用书中的主动技能。而且在运行时被添加的技能不够法力施放也不会使整本书图标变蓝。不过这都是些小瑕疵,没什么大不了的。
Abun(运送货物(兽人地洞)):这个技能添加给单位后会令其失去攻击能力,连攻击图标和快捷键都会消失。然后删除这个技能又会恢复其攻击能力。和宝珠类技能一起使用的话就能彻底地开关单位的可用攻击方式了。
AIdf, AIll, AIsb(黑箭物品,新闪电宝珠,减速宝珠):这些技能都带有数据 - 影响技能数据栏。可指定任何一个单位目标技能作为影响技能。单位的每次攻击都有可能在目标身上施加该影响技能,其几率可自行指定。如果将几率设为100%,那么每次攻击都会生效,而且攻击不会miss.不过这类技能一旦添加给单位,其对应的影响技能的图标会出现在单位的控制栏,而且像被动技能一样处于无法点击状态。可惜的是似乎没有什么好方法去除这个图标。你也可以放个无图标的引导技能来做影响技能,可这样就没有实际的效果了。如果你不想启用近战单位的对空能力,就把数据 – 允许攻击索引一项设为0.目前有一个bug,单位自动攻击时不会给目标施加影响技能,即使几率是100%,你可以通过触发器来解决此问题。宝珠类技能还可以用于附加特效、变更单位投射图像和启用攻击方式。至于说箭矢类技能,不管你怎么改,'ANia'(焚化箭矢)永远使用'ANic'(焚化)的默认值,因此一张地图上一般只能拥有一个这种技能了。
Aroc(弹幕):弹幕允许单位同时攻击多个目标,因此可以用作多重射击技能。每个目标都会受到单位的基础攻击伤害及该技能中设定的附加伤害。实际攻击的目标数为数据 - 最大目标数加1.投射图像数据域中填写的模型可以多于一种,这样就会覆盖单位自身的投射图像,而每次攻击时都会在此列表中随即选择一种投射图像。影响范围一项能改变附加攻击的范围,不过不会影响到主箭矢,只会影响到附加的箭矢。如果你不想限制伤害量,将数据 - 最大总伤害设为0即可。可惜的是,弹幕无法和其他攻击附加效果正确叠加。大部分此类技能都会将弹幕效果无效化,比如所有的自动施放箭矢,只有AHfa(灼热之箭)和一些宝珠技能是例外。宝珠类技能只有在其影响技能发动的时候才会令弹幕无效化。其他所有技能,像暴击、减速毒药、冰冻气息、闪电攻击、火油等等能和弹幕叠加,不过通常只对主箭矢的目标生效。而像攻击加成、攻速加成之类基础附魔效果却能对所有目标生效。AHfa(灼热之箭)尤其特别。它是唯一能和弹幕叠加的箭矢类技能,而且当它开启自动攻击时甚至会令一个不兼容的宝珠技能无效化,而重新激活弹幕效果,你可以用这特性来制作能开关的多重箭。小彬注:和我上边的演示一样,本来以为是首创的,原来早有人这么做了....
Apxf(凤凰之火):这个技能也可以给单位多重射击能力,不过伤害不基于单位的攻击力。它由自己的冷却时间、投射图像、伤害和持续伤害,而且会对范围内的敌人自动施放。其持续时间数据域决定了它持续伤害的持续时间和攻击同一个目标的间隔。如果有需要,你可以用物品来添加多个相同的凤凰之火技能,它们能同时生效。
ANcs(集束导弹):如果你想制作一个重复投掷箭矢的技能,尤其是AOE技能,可以用集束导弹,只要设好每波的导弹数和波数就好。
ANab, AEsh(强酸炸弹,暗影突袭):强酸炸弹极为通用,而且可能是最好的直接伤害技能模板。它拥有许多不错的特性,可以降低移动速度]攻击速度和护甲、还有直接伤害效果、持续伤害效果、buff、投射图像——而且如果有必要,所有这些效果都能简单地被移除。而且它不会给目标单位附加昏迷之类的麻烦效果。暗影突袭的数据域和强酸炸弹差不多,不过少了护甲削减一项,此外它的每次伤害会以飘字形式显示在目标的头顶。用一个空buff可以去除这个花哨效果。
AItg(攻击加成):一般来说你会需要将这技能的攻击加成设为-1然后添加给隐藏单位来无伤害地施放其攻击附加效果。方法是将施法者基本攻击力设为0,攻击色子数设1,色子面数设0,然后将你的自定义攻击加成技能添加给隐藏施法者。这样施法者不会造成任何伤害,但攻击附加技能依然会生效。这法子可以用于添加火油、冰冻气息、减速毒药之类技能的buff。不过,负值的攻击力也是无法治疗目标的。
AOcr(暴击):你可以设置目标允许为没有,就可以做一个简单的空壳被动技能了,用于展示纯T或J技能的说明文字,还可以用它的等级作为设置技能效果的参数。
AOcl, Amgl(闪电链,月刃):闪电链是个不错的带闪电效果的纯伤害技能模板,也可以用作导弹弹跳的技能。你可以调整闪电链的目标数量和伤害削减因子。至于月刃的作用方式则完全不同。月刃技能实际上除了提供一个被动图标外毫无效果。实际的弹射加成来自于科技。小彬注:实际上,月刃技能要求单位本身是弹射箭矢。
Ahrl(食尸鬼伐木):可以用于判断某个可破坏物是否是树。
AIgu, AIgf(夜视雕文,强固雕文):使用这两种技能书可以将指定升级应用于英雄所在玩家
Acoa, Acoh, Adec(骑乘角鹰,分离):写在这里纯粹为了提醒您这个技能的存在。自然它可以用于融合2个单位,也可以单纯地作为某个需要一对不同类型的单位合力使用的技能的模板,只要捕捉技能施放事件然后打断之即可。不过,应用于英雄的话会出现问题,因为原有单位被杀死,而不是删除,然后又创建新单位,结果导致英雄图标显示很怪异。
Awarp(传送门):传送门技能也可以在运行时被添加给单位。然后你就可以用WaygateSetDestination()函数和WaygateActivate()函数来设置传送属性。你也可以用路径阻断器来阻止比方说飞行单位使用传送门。想要更改传送特效你要改的是Amov(移动)技能。
守卫:一旦一个单位拥有守卫这一分类,它控制栏的按钮包括快捷键会全部消失。除此以外没有任何效果,你仍可以通过触发来操纵它。此单位依然能响应右键点击指令
工人:工人分类有2个基本效果。拥有这个分类的单位在空闲时,你的屏幕左下会显示空闲工人的图标,而且该单位不会自动攻击。然而如果你在运行时添加工人分类,那就只会有第二种效果而不会显示空闲工人图标。如果你想创造一个无视敌人存在的单位,这会是个好法子。
如果你还将单位的状态 - 可以逃跑一栏设为假,它被攻击的时候也不会逃跑。至于说想要创建一个平时无视敌人,但会在被攻击时反击的单位,你可以用'Apiv'(永久隐身)技能,将其持续时间设为-1,自动攻击目标设为假。这样该单位不再隐身,却也不会自动攻击目标。
自杀/工兵: 拥有'Asds'(自毁)技能的单位自动被标记上自杀分类,在右键点击敌人的时候会自动扑上去自毁。基本上很少看到有这样的地图,因此你可以用这个分类来区分单位,通常会省下很多触发工作。
视为目标:在战斗 - 视为目标数据域你可以看到另一批分类标记,利用这些标记可以为你的法术更详尽地区分目标,而不是简单地只认空中地面建筑英雄这几个大类。小彬注:关于目标允许和作为目标的问题是很复杂的,在1楼我引用了别人的一些解释,可以先看看。
添加buff:如前所述,你可以用Aasl(龙卷风减速光环)或是隐藏在魔法书里的光环来简单地给单位添加buff却不显示技能图标。只要将光环的数据效果设0,允许目标设为自己。
隐藏buff图标:很可惜,许多技能的默认buff无法被去除。即使你将技能的buff数据域设空,它多半也会给你加上该技能的默认buff.将buff图标涂黑,提示信息设空也无法真正去掉这个buff,鼠标移上去的时候还是会出现一个空的提示框。唯一差不多可行的方案是事先在单位身上放一个不可叠加的buff,然后将你的法术buff设成跟它一样,这样你施放这个技能以后,控制栏就不会再显示新的buff(因为已经有这个buff了)。没错,我知道这法子真的很土,但目前我也就只会这一手。
可堆叠的buff:像'Bpsd'(毒药(堆叠)) 之类的buff,在某些情况下无法被添加。就这个buff而言就是目标之前没中过毒的前提下无法添加。这法子可以用于在某些前提下才能加的buff,当然并不是对所有技能都适用。
用户界面:在一个技能升级以后,其buff的提示信息有时并不会即时更新。此时你可以添加并删除任意技能来刷新界面。我通常用Adis(驱散魔法)技能做
二、变成习惯
好了,了解了这些技能的基本应用,那么下边再说一下编程习惯,也许有人会说这都是细枝末节的问题,但是如果不注意,恐怕很难跻身高手行列。(一).变量类型和变量命名
WE中用到了很多类型的变量,当然有许多变量类型本质上是一样的,但是既然触发器里它们看起来不一样,那么我们就要尽量在命名上把他们区分开。按照大部分编程语言的惯例,使用3个字母的英文缩写来做变量名前缀,以便区分。另外该变量代表什么,就用拼音或者英文来命名它,而不要胡乱打几个字母。比如,布尔型的通用前缀为bln,假如有一个布尔型变量用于纪录单位是否存活就可以这样命名:blnCunhuo或者blnLive;又如一个纪录英雄的单位类型变量可以命名为 untYingxiong或者untHero等等。这样做是为了方便日后自己修订地图,也方便别人看懂自己的代码。如果命名没有规则,很可能时间长了自己都不知道该变量代表什么了。
下边是变量类型的中英文对照和建议前缀表,当然某些变量还没有约定俗成的所写前缀,是我根据英文音节自编的,如果你有更合理的缩写方法,请指出来。
英文名称中文名称建议前缀boolean布尔型(用于真/假判断)blndestructable可破坏物desdialog对话框dlgbutton按钮btntexttag漂浮文字taginteger整数intitem物品itmleaderboard排行榜ldrplayer玩家plrforce玩家组frclocation位置(点)locreal实数relrect地区receffect特效effstring字符串strterraindeformation地形trdtimer计时器tmrtimerdialog计时器窗口tdgunit单位untgroup单位组grpplayerscore玩家积分scr(二).触发器的整合
有不少人在刚接触WE的时候基本去注意触发器的整合,想到几个动作,就去新建一个触发器。甚至光初始化就有好几个,为阅读增加难度不用说,还因为执行顺序不可预料而增加了出现BUG的机会,想去修正有很难找出毛病所在。为了让自己的触发器变的有条理,就需要把多个触发整合到一个上边,这样做还有一个好处就是,可能有几个不同作用的触发器组他们有一个或几个触发器事件相同,那么使用条件判断依次去执行各动作,不但条理清楚,而且为维护提供了方便。当然,如果触发器本身条件判断过于复杂,那么还是让他们分着吧,弄到一起反到容易出错误。
通常我们要遵循以下原则,除非特殊需要,否则事件相同的触发器尽量整合到一个触发器中,通常不在条件中写东西(除非所有触发有共同的条件),然后再动作里使用if-then语句来做分支。比如,每张地图只做一个地图初始化的触发器;可能有多个自定义技能需要用到单位发动技能效果这个事件,那么就用这个事件做一个触发器,条件留空,在动作里写:
如果使用的技能是aa,那么
& & 如果使用的技能是bb,那么
& && &&&....
& && & ....
把后边的小分块依次写进前边的分块里(前边的否则套嵌后边的分块),根据条件判断,选择执行其中某一个分块,结构简单明了。当然了,这样写有时候感觉比较凌乱,如果你想把共同完成一个功能的触发器写在一个类别里,那么可以把这些小块拆解到各个触发器,但是这些触发器不写事件,然后在共同的事件里调用他们。
可能有多个自定义技能需要用到循环逝去时间这个事件,那么动作可以这样写:
如果符合条件aa,那么
& & ......
& & ......
如果符合条件bb,那么
& & ......
& & ......
并列写很多小分块(前边的否则不套嵌后边的分块),根绝条件一次执行一个或者多个分块。
当然有时做多个触发是不可避免的,尤其是循环逝去时间这类事件,因为可能要顺序执行多个小分块,那么就不允许前边的分块使用等待时间、跳过剩余动作这样的语句,遇到必须要写的,就要另立触发了。
上边只是两个例子,还有很多情况与上边提到的类似,那么就参考这些自己掌握了。
(三).尽量排除内存泄漏
什么是内存泄漏呢?简单来说,我们在WE中要用到很多数据,这些数据有时候不用变量纪录,或者使用变量纪录了没有清除,那么这些数据就可能堆积在内存中,内存中的有效空间越来越少,游戏就越来越卡,甚至跳出来。对于单个技能的示例来说,内存泄漏显的微不足道。但是我们做技能最终目的还是应用的成图中,大量技能反复使用,内存泄露就成了大问题,所以应当养成排漏的习惯。
要想知道怎么排漏,就先明白那些数据需要清理。一般来说,基本的数据类型不用特别清理,包括实数,整数和布尔型。他们并不会实际创建一个物件,只要变量过期(指局部变量),内存会自动释放,所以也就谈不上清理的问题。字符串在魔兽中属于“物件”但是他们只能写入,无法更改或删除,这样我们也就不必理会了,况且字符串导致的泄露也是微乎其微的。单位类型和物品类型的本质是整数,上边已经解释,整数没必要清理。除此之外,其他数据类型大都是代码、句柄或由他们衍生而来,使用这些数据会在内存中创建物件,在用过之后应当删除,对于局部变量记录的来讲,还应当设置变量为null,因为我们主要说T技能,使用的是全局变量,只要删除物件就可以了。我们尤其需要注意清理一下几个变量类型:
1.点 点这个东西真是让人又爱又恨,写技能几乎离不开它,可是造成内存泄漏的罪魁祸首也非他莫属。我们还看教程最开始做的群体风暴之锤:
5.gif (18.55 KB, 下载次数: 239)
12:30 上传
来看红框里的句子,每使用一次群体风暴之锤,他就创建了两个点-技能目标的位置,我们没有处理它,那么就导致内存泄漏了。怎么办?使用变量记录这个位置,用完之后清除它
6.gif (8.09 KB, 下载次数: 214)
12:31 上传
这样,我们就解决这个点的问题了。2.单位组 单位组是内存第二杀手,我们再看上边绿色框框里的语句,它定义了一个单位组,但是没有清除它。我们可以在使用完后使用这个语句清除它
7.gif (8.1 KB, 下载次数: 218)
12:32 上传
3.单位 几乎所有入了门的人都知道,创建辅助单位要加上上边黑框框里的那句话,就是变成定时的单位,单位死亡以后,过一段时间就自动被清除了,但是对于英雄,死亡后会被保留,我们必须使用 删除单位 这个语句来删除。4.特效 包括闪电特效和特殊效果,创建了就需要用变量来记录,用过之后要删除,需要说明的是,删除特效与删除单位不同,是会播放死亡动画的。好了,我们来为这个群体风暴之锤做一个排漏吧:
9.gif (19.17 KB, 下载次数: 218)
12:33 上传
漂浮文字:漂浮文字一般只要设置消逝时间就能自动清除,如果消逝时间不固定,那么通常需要变量记录,不用了再删除。当然这么做更大程度上是为了美观和不出bug,因为漂浮文字最多允许存在99个所以对游戏速度的影响并不大。除了这些之外,天气效果、地面纹理等等数据也应当删除,但是考虑到他们应用极少,就不把他们列到内存杀手的级别了。上边简单介绍了一下内存泄漏的排除方法,当然这只是最重要,也是最常见的部分。实际上使用触发器在很多时候是不能实现完美排漏的,我们所做的,只是尽最大的努力少遗留一些问题。在后边我们还会继续通过实例来顺便练习排漏,这里就不多做介绍了。现在留给大家一个问题,前边那个模拟星际蜘蛛地刺基本没有做排漏工作,那么就尝试一下刚刚介绍的方法吧。
我们都知道,自定义技能除了实际效果要新颖、没有严重BUG之外,最重要的就是特效要漂亮了。当然,这里所说的漂亮不仅限于华丽,还包括素雅,灵动,简约等等。实际上,在成图中,太华丽的技能反而不多,因为在照顾视觉感受的同时,更应该考虑到运行速度、触发器冲突等问题。
在前边已经提到过,特效可以用原模型的固有效果,也可以使用多个模型一点、线、面的方式拼凑出新效果。使用原模型的固有效果创造优秀的特效需要很扎实的基本功,多看,多学,多做,尽可多能的掌握原有的模型,包括直接使用时的效果,经过缩小、放大、旋转之后的效果,静止时是什么样子,缓慢移动是什么样子,快速移动又是什么样子。没有长期的浸淫是很难做到这一点的。
使用多个模型拼凑特效,相比较而言需要基本功少一点,但是需要一定的数学和编程基础,总的来将也不简单。在这一章了我们简单介绍一下使用固有模型效果的基本方法,着重讲解一下拼凑特效。
光环的分类:
系统对光环效果类是以WE中魔法效果项来划分的
比如将2个专注光环,其中一个魔法效果改掉,那么2个光环都将会起作用,而当一个光环数据项数为2的光环(如邪恶)与另一个不同的光环魔法效果改为一样,当2者碰头时。那么就会听见“Bang”的一声,就跳到桌面了。
这里讨论的是同时出现%数和确切数值同类光环时的情况:众所周知的同类光环作用,取大优先,对于负数也提醒一下:-1是大于-2的,而当上述两者光环同时作用时将有什么效果?
两个魔法效果相同的光环同时作用时:
A、 当后作用者光环参数小于前者(这里%光环参数以100%=1来计算),此时为正常情况,取大优先,所以数值不会有变化,并只取前者效果。
B、 当后作用者光环参数大于前者,此时按取大优先的原则,将会取后者值,但是会仍旧保持前者的光环效果并且按%计算“这一项将不会发生变化。即原先是%光环,现在仍按%来计算,但数值将会取后者
举例说明:(以专注光环为例)
A:+300防御光环&&B:-100%防御光环&&C:-9999防御。一单位先受到A光环作用,后受到B光环作用,结果是只取A(300&-1),效果防御+300。
另一单位先受到B光环作用,后受到A光环作用,结果将是防御增加300倍(英雄则以基础计算,即敏捷=0时的防御)。
一单位先受到B光环作用,后受到C光环作用,结果是只取B,防御减少100%,
另一单位先受到C光环作用,后受到B光环作用,结果将是防御减少1。
⑷关于镜像的详细解析
下面是几乎所有可能会和镜像扯上关系的技能:
镜像和其他技能的关系:(以下面采用的是默认平衡参数)
分身驱散所有魔法效果,包括各种有时限的变身效果
魔法书中的技能原本对镜像有效的话也可以作用到镜像上
倍击 回避对镜像有效(倍击包括醉拳以及重击的倍率加成部分)
慢性毒药/浸毒武器能显示效果,但无效, (题外:对于毒只要是不同单位,或同单位用不同的毒技能效果都可以叠加)
液体炸弹 燃烧之油 碎片攻击 高射炮火显示效果,但无效,(碎片攻击仅对溅射攻击单位起作用,高射炮火对普通、立即攻击有效)
霜冻攻击 显示效果,但无效
球类效果(包括用球类做的攻击触发类技能)无效
重击 冰封显示效果,但无效,且当镜像所造成的假效果在的时候,会使真身的效果无效化,重击的倍率加成对分身有效,但数值加成那一段无效;冰封对箭矢攻击单位的倍加效果有效。
魔法反馈有效
夜视能力 反隐有效
尖刺外壳 荆棘光环等的反弹无效
尖刺外壳 硬化皮肤的伤害减少无效
凤凰火焰有效
永久献祭 疾病云雾显示效果,但无效
荒芜之地蔓延/驱散有效,而且每分身一次会创造/驱散一次荒芜之地
创建尸体(每隔一段时间变出一具尸体)有效
地精工厂(自动出兵)有效
龙卷风的破坏光环(去血)有效
龙卷旋风(把人刮上天)有效
游荡者 龙卷风漫步者(都是不按Hold会瞎跑)有效
弹幕攻击(多重箭)有效 穿刺剑刃(直线)有效 月刃(弹射)无效 分裂 范围粉碎显示效果,但无效
粉碎(地精变身后的粉碎有效)
抗性皮肤有效
无敌有效(不是喝药水的无敌,是那种永久无敌)
隐形有效,包括影遁技能,另:当拥有两个永久隐形技能时使用魔法以及攻击时都处于隐形状态,只有分身后片刻是非隐形的,而拥用幽灵技能则时刻处于隐形状态。
虚无状态有效
物品上所带物品栏技能对英雄无效(镜像使用自身的物品栏,物品则取真身表层物品,即你能看到的物品栏里的物品)
艾鲁尼之优雅 防御(步兵) 魔法防御(破法者)有效,包括倍乘效果 减少物理 魔法伤害 远程反弹 速度改变等所有效果
狂战士无效
魔免有效 魔法护盾(XX秒阻挡魔法)和魔法伤害减少无效
更换攻击模式有效,如飞行机器炸弹(人类飞行器)
以下是与平衡参数有关的数据:
耐久光环、毒、霜冻、嗜血术、减速等技能改变攻击移动速度总是有效
速度之靴改变移动速度总是有效
增加属性总是有效,且属性附带的加攻加防加回复速度攻击速度都有效
加生命魔法上限总是有效
给予光环支持: 本体拥有的光环,镜像也能给予周围单位该光环的效果影响
攻击防御加成: 判定 所有增加攻击防御的技能 魔法 光环是否有效,不包括属性的加成
攻击速度加成: 设置其它加速技能(如加速手套、邪恶狂暴)是否有效
移动速度加成: 设置其它加速技能(如邪恶光环)是否有效
生命魔法恢复: 能否对镜像使用加血技能 治疗守卫 邪恶光环 生命指环等恢复技能,以及镜像是否能吸血.(唯独力量属性自然回血除外) 魔法恢复与生命恢复类似。
自动施法目标: 如霜冻护甲 心灵之火等自动释放技能是否对镜像自动释放。
镜像默认的平衡参数:
镜像能给予光环支持:& && && && && && && && && & 否
镜像能得到攻击力加成:& && && && && && && && &&&是
镜像能得到防御加成:& && && && && && && && && & 是
镜像能得到攻击速度加成:& && && && && && && && &是
镜像能得到移动速度加成:& && && && && && && && &是
镜像能恢复生命:& &        & && &&& & & 是
镜像能恢复魔法:& && && && && && && && && && &&&是
自动施法目标包含镜像:& && && && && && && && &&&否
关于镜像技能参数:(不列出通用技能参数)
技能延迟& && && && &分身时那段无敌的时间
镜像数量& && && && &创造出镜像的个数
所受伤害& && && && &镜像受到的%伤害
施加伤害& && && && &镜像造成的%伤害
持续时间& && && && &镜像的持续时间
施法距离& && && && &分身后本体和镜像离中心点的距离
⑸重击倍击粉碎燃灰等详解、与各种技能的冲突问题
这个是老狼的
在进入正题之前,我们先来看一下下面的问题:
无投射物攻击单位:即攻击时不出现投射物,(攻击方式为普通 立即),包括近战和个别攻击方式为立即的远程单位(如火枪手)
有投射物攻击单位:即攻击时带有投射物,除了上面所说的,其他都属于这类。
为了方便,在下文出现无投射物攻击单位将简称为无投射单位;有投射物攻击单位简称为投射单位
首先是致命一击的解析
致命一击属于物理伤害,所以考虑防御,飘浮的红字部分表示没有计算防御之前的攻击输出,但在多个倍击作用时,红字部分的表述是不正确的。
致命一击技能中有一个必中选项,勾上时,当致命一击被触发,此次攻击将无视回避(同样也无视诅咒技能)
致命一击的计算是以显示的攻击(即白字+绿字部分)为基础的,如燃灰等附加伤害不计入其内
当多个倍击共存时的几率计算
当一个单位同时发动多个倍击时,后获得的技能有效,但作为特例,1倍和0倍的倍击是不会计算在内的
1倍和0倍倍击都没有对攻击加成,它们之间的区别是1倍倍击有红字显示,0倍则没有
举例说明多个倍击共存时的几率计算:
某单位自身拥有20%5倍倍击,先后装备10%10倍倍击、50%2倍倍击装备,则其倍击发动几率如下
2倍倍击几率=50%
10倍倍击几率=10%*(1-50%)=5% (即不发动2倍倍击时的5倍倍击几率)
5倍倍击几率=20%*(1-50%-5%)=9%
合理的排放应该是先取得低倍击装备,后取高倍击
如此可以得到的倍击几率为
10倍倍击几率=10%
2倍倍击几率=50%*(1-10%)=45%
5倍倍击几率=20%*(1-10%-45%)=9%
其攻击加成为10%*(10-1)+45%*(2-1)+9%*(5-1)-1=71%
而实际上50%的2倍倍击极大的影响了本身5倍倍击的发挥,当不装备2倍倍击时,
其攻击加成为10%*(10-1)+18%*(5-1)-1=62%
可见,在这里2倍倍击的加成效果是极差的,所以有时候像这种高暴率低倍击的负面影响是不能忽视的,甚至在某些情况下增加一个这样的技能反而会使战斗力下降。
另外当多个倍击同时发动时,只要其中任何一个倍击带有必中效果,则该次攻击即无视回避
该技能其实分为两部分来考虑,
1是倍击部分,相当于致命一击,在对战中这部分是为0的,要讨论的话可以直接作为致命一击来研究
2是固定的伤害加成,该部分是比较特殊的,下面讨论的也是这部分的伤害
重击的固定伤害加成部分,对于无投射单位来说,该部分属于魔法伤害,所以不计防御,对英雄护甲造成70%伤害,对魔免不造成伤害,但能击晕,而且多个重击技能同时作用时伤害能叠加。例如5个100%2000伤害的重击就相当于100%1W伤害的重击,晕眩时间取其中时间最长者
对于投射单位来说,该部分属于物理伤害,要考虑防御力,对魔免造成伤害但不能击晕,多个重击技能同时作用时与致命一击一样取后获得的重击效果。
同时,当晕眩中再次受到晕眩时,比较当前晕眩剩余时间与新晕眩作用时间,取其中时间长者
重击与倍击的叠加关系:
无投射单位重击与倍击可叠加
投射单位重击与倍击同时发动时,若先获得倍击技能后获得重击,2者效果都发动
若先获得重击后获得倍击,则只发动倍击技能
粉碎:(地精修补匠变身后的粉碎技能,对战中效果是100%对建筑造成2倍伤害)
这个技能比较类似于致命一击,但不会有飘浮的红字,可以对单位/英雄/建筑分别选择不同的倍击倍率
关于多个粉碎技能叠加的伤害计算是很恐怖的,他的伤害是相乘来计算的,例如3个5倍粉碎同时作用时,其伤害为5*5*5=125倍!
同时他还能在致命一击的基础上再相乘,如在上例中再加一个10倍致命一击的话,它的伤害将是1250倍!
粉碎不能对重击的固定伤害部分加成
0倍粉碎无伤害输出,0倍伤害+致命一击仍然无伤害输出(乘0了),但不影响重击的固定的伤害加成
燃灰的攻击方式为:第1次附加X点物理攻击,第2次为2X,第3次为3X。。。。。。受攻击者死亡将产生范围爆炸,属于魔法伤害
然会有一点不大为人所知的特性,燃灰效果是高级覆盖低级,低级延续高级,以下为例
A为50伤害燃灰 B为100伤害燃灰
A攻击3次,B攻击1次,其附加伤害为 50 - 100 - 150 - 400
B攻击3次,A攻击1次,其附加伤害为 100 - 200 - 300 - 400
燃灰存在时粉碎将无效。
燃灰与重击以及倍击之间的关系有点复杂
投射单位燃灰与重击以及倍击不能共存,只取后获得技能的效果,
无投射单位单位后获得燃灰技能则重击与倍击无效
无投射单位单位先获得燃灰则与重击以及倍击效果共存,燃灰附加伤害不计入倍击范围
上述技能与其他常见技能的冲突问题
灼热之箭 毁灭之球类
倍击:与之冲突,后获得的技能有效
重击:与之共存
粉碎:粉碎无效
燃灰:若是燃灰后获得,则只取燃灰;若燃灰先获得则2者有效
黑暗之箭、冰冻之箭类(无投射单位有Bug,只要学习了技能关闭着也会有技能效果,如黑暗之箭出骷髅,但攻击附加只有打开时才会有)
倍击:后获得者有效
重击:投射单位后获得者有效;无投射单位2者共存
粉碎:将无效
燃灰:投射单位后获得者有效,无投射单位若是燃灰后获得,则只取燃灰;若燃灰先获得则2者有效
燃烧之油 冰封等(冰封对箭矢攻击单位的特殊效果:当冰封产生效果会附带相当于自己攻击力的物理伤害加成,当有多个冰封技能时附加效果相加计算,即X个冰封技能附加X倍攻击)
倍击:仅倍击有效
重击:仅重击有效
粉碎:冰封等有效,粉碎仅在其之后获得才有效,且能对箭矢攻击单位冰分加成部分进行效果倍乘。例2个冰封+2个3倍粉碎,攻击加成为(1+2)*3*3=27倍
燃灰:仅燃灰有效
霜冻攻击等
倍击:仅倍击有效
重击:仅重击有效
粉碎:2者共存
燃灰:仅燃灰有效
倍击:无投射单位2者共存,投射单位球类无效
重击:无投射单位2者共存,投射单位球类无效
粉碎:粉碎无效
燃灰:仅燃灰有效
倍击:无投射单位2者共存,投射单位毒素无效
重击:无投射单位2者共存,投射单位毒素无效
粉碎:2者共存
燃灰:仅燃灰有效
倍击: 无投射单位有效,投射单位仅倍击有效
重击: 无投射单位有效,投射单位仅重击有效
粉碎: 2者共存
燃灰: 仅燃灰有效
死亡面具类吸血
倍击: 有效
重击: 投射单位加成部分能吸血 无投射单位加成部分不能
粉碎: 粉碎无效化
燃灰: 吸血无效化
吸血药水/光环吸血
倍击: 有效
重击: 投射单位加成部分能吸血 无投射单位加成部分不能
粉碎: 有效
燃灰: 有效
弹幕攻击(多重箭),月刃(弹射攻击)
倍击: 多重无效
重击: 多重无效
粉碎: 2者共存
燃灰: 多重无效
范围性粉碎(对战中牛头的技能)
倍击: 共存
重击: 共存
粉碎: 共存
燃灰: 共存
倍击: 作用于分裂
重击: 互不干涉
粉碎: 作用于分裂
燃灰: 先学习燃灰则2者都有效,后学习燃灰则仅燃灰有效
关于反弹:
多个荆棘光环间取最大值,尖刺反弹直接叠加,光环与尖刺直接叠加,反弹无视防御,属于魔法伤害
倍击 重击 燃灰加成不会受到反弹,粉碎加成会受到反弹
物理伤害的计算顺序:
1.尖刺反弹类的%减少伤害
2.硬化皮肤类的xx减少伤害
3.防御 艾鲁尼之优雅 狂战士等改变伤害%比的技能以及护甲值的计算
第四章 实战篇(一)
这一章将介绍几个简单的无T技能,从简单的开始学起吧。
技能名称:千里冰封
期望效果:对目标区域施放一个技能,在该区域制造若干个寒气团,并爆裂开,对附近的单位造成伤害。
期望技能分类:主动,点目标,范围伤害,负面技能,即时技能,瞬发技能。
以上这几点,除了瞬发与暴风雪不符合,别的都与暴风雪一样,而暴风雪经过修改,可以近似为瞬发技能。所以,我们用暴风雪来做引导技能。
在做修改以前,我们先看一下暴风雪的几项关键数据
& & 数据-每波伤害& && && && && && &&&顾名思义,就是每下一次雪,对目标区域内的每个单位造成多大伤害
& & 数据-每波最大伤害& && && && & 当每波伤害*受伤害的目标数量大于每波最大伤害时,则每个目标受到伤害等于每波最大伤害/受伤害的目标数量
& & 数据-每秒伤害& && && && && && &&&没发现什么作用
& & 数据-波次数量& && && && && && &&&决定下多少波雪
& & 数据-碎片数量& && && && && && &&&只决定创建特效的数量,与伤害无关
我们不用任何触发器,对暴风雪进行如下修改:
技能部分:
_cf9ce32b328Q5QoOhDrXwS.gif (4.25 KB, 下载次数: 262)
12:21 上传
把波数改成1,模拟成瞬发技能。改多碎片数量,可以铺满目标区域,不会显得单薄。在名字面前加1,在添加技能的时候,它会跑到技能列表的最前边,方便查找。适当修改影响区域以达到需要的效果。设置英雄技能项目为FALS,则该技能作为单位技能出现。
区域效果部分
状态 - 区域持续效果 项目不可以直接修改模型,我们需要找到魔法效果页面里的人族 -& 区域效果 -& 暴风雪(效果)项目,然后做如下修改。
2.gif (1.54 KB, 下载次数: 208)
12:22 上传
修改特效模型为霜冻呼吸的投射物
把这个技能赋予一个有足够魔法的单位试验一下效果。在测试以前记得删除默认的地图初始化的触发器,否则会出问题哦。
4.gif (35.48 KB, 下载次数: 239)
12:23 上传
好了,通过这个简单的例子,我们了解了暴风雪几项关键数据的意义,知道了如何修改暴风雪的区域特效模型。另外,提到了如何把需要的技能提到技能列表的前边,怎样把英雄技能变成单位技能。
1.怎样把单位技能变成英雄技能?
2.我们只修改了区域特效,但是目标身上的BUFF并没有改变。研究一下,怎样改变BUFF图标和说明文字呢?
2.看一下火焰雨的项目,怎样把火焰雨的特效改成地狱火掉下来的效果呢?
第五章 实战篇(二)
本章开始剖析几个简单的T技能,了解T技能常用的触发器语句。这里暂时不接触内存泄露问题的处理,后边的章节会有详细讲解。
进入实例分析之前,先介绍几个测试相关的触发器语句:
1.某玩家按下LEFT键
用于调试技能,可以在后边的动作里设置相关变量,创建单位,添加技能等等。按下上、下、左、右可以设置不同的动作,避免反复启动程序,缩短测试时间。另外,还可以做游戏中某些功能的快捷键,比如加点、切换背包等等。
2.某玩家跳过电影
用法同上。
1.可见度-禁用战争迷雾/禁用黑色阴影
战争迷雾和黑色阴影在实际游戏中很重要,但是测试地图的话通常希望整张地图都是可见的,那么禁用他们就可以了。一般使用地图初始化作为事件。
2.游戏-对玩家组显示文本消息
有时候难免出现触发器实际效果和预期不同,但是对于一大串语句,找到问题所在不是件很简单的事。我们可以在里边加入这条语句,用于显示变量的改变情况,或者显示一个字符串常量来了解与该语句所在位置是否被执行过,执行过几次,等等。
技能名称:群体风暴之锤
单体变群体是最基本的T技能之一。其实绝大部分单体变群体原理是一样的,这里我们以风暴之锤为例子进行一下讲解。
几乎所有单体变群体都是以原单体技能来引导的,这里我们当然就使用风暴之锤了。关于技能本身的数据修改就不多说了,下边看一下触发器部分
_cf9ce32b328Q5QoOhDrXwS.gif (17.25 KB, 下载次数: 247)
12:25 上传
我们以单位发动技能效果为事件。关于技能施放的事件有很多,我们先详细了解一下。
1.单位准备施放技能:当你完成施放技能的操作时,该事件发生,这时候技能还没施放出去。如果目标在射程外,技能施放者会自动试图接近目标并施放技能。如果此时单位被击晕或接受到别的命令,将不再施放技能。
2.单位开始施放技能:此时技能仍然没有被施放出去,单位开始站立原地,并播放施法动画。如果技能有前导时间,效果更明显。如果此时单位被击晕或接受到别的命令,将不再施放技能。
3.单位发动技能效果:技能真正被施放出来,技能特效被创建(如果有特效的话),CD时间被占用,魔法被消耗,但实际效果尚未产生,如果此时目标无敌,实际效果一般不会实现(允许对无敌目标施放的技能除外,如医疗)。
4.单位停止施放技能:不论是自然结束还是被打断持续引导(被打断前导后,技能不会被施放出来,当然也不会有停止施放的说法),都会触发本事件。
5.单位释放技能结束:指自然施放结束。
很多人喜欢用单位开始施放技能做事件,其实这是错误的。因为只要在施放技能后马上按S键,群体效果会产生,但是引导技能却没有被施放,这样CD时间就没有意义了。
条件里的第一项是检查施放的技能ID,如果去掉,所有的技能都会执行后边的语句。第二项是检查技能释放者,如果去掉,辅助单位释放技能也会触发动作,造成无限循环,或到目标全部死亡而停止,这显然不是我们要的效果。
下边说动作。首先需要设置一下目标,因为有多个目标,所以我们用一个单位组来纪录它们。然后选取单位组内的每个单位做同样的动作。但是有一个例外,就是最初的技能施放目标,如果也对它做动作,那么它会受两次攻击,所以要加如一个条件判断来剔除它。对于其他的选取单位,首先要创建一个辅助单位,然后隐藏创建的单位,因为如果看到它就漏陷了。接着设置生命周期,否则该单位会一直存在在地图中,使游戏越来越卡。接着为它添加技能,其实如果是单位技能我们可以直接在单位编辑器中添加,英雄技能则只能在触发器中添加,但是为了统一,建议全部T添加。最后一步命令辅助单位向选取单位施放技能。
如果只做完上边这些,你会发现没有产生效果。这是因为辅助单位没有足够的魔法来施放技能,我们需要对它进行如下修改
2.gif (780 Bytes, 下载次数: 220)
12:26 上传
注意最大值和初始值都需要设置,很多新手容易忘记设置初始值,发现不行也不知道哪里错了。
测试一下看看
4.gif (57.47 KB, 下载次数: 234)
12:26 上传

我要回帖

更多关于 魔兽争霸地图编辑器吧 的文章

 

随机推荐