找回密码
 点一下
查看: 5398|回复: 14

[转贴][Wc3c]The Warcraft III Ability Guide(技能指导)

  [复制链接]
发表于 2006-4-7 21:36:07 | 显示全部楼层 |阅读模式
The Warcraft III Ability Guide(技能指导)
Author: PitzerMike
URL: http://www.wc3campaigns.net/showthread.php?t=81742
译者:fangdaping、翻译中…… V0.60.0
排版:zyl910

This is an introduction to some of the hidden secrets in the Warcraft III object editor. Some of it might be common knowledge for many of you, some might be new. Anyway I didn't find most of these things out myself. This is gathered knowledge from the whole site. Everyone who posts on wc3campaigns has contributed to this collection, I've simply put it all together. Please excuse bad spelling/wording and possible errors and please tell me if there's something wrong with the description or if you have something to add to the list.
这是一个关于WAR3物品编辑器中一些小秘密的介绍。其中一些对于你来说也许已经不算什么了,另有一些可能你还不知道。不管怎么样,这些东西并不是我个人发现的,它是来自各个板块的信息集合,许多人为我们提供了这些信息,而我只是简单地把他们整理了一下,对于其中可能会出现的拼写或者语法错误还请大家能够原谅,如果你发现了错误,或者你还有什么需要补充的也请告诉我。
BTW, this tutorial is better viewed with Firefox, because IE requires a lot of horizontal scrolling ...
BTW,这些信息最好用Firefox来浏览,因为IE需要很多horizontal scrolling ...

  • ANcl (Channel): Channel was made to be used as a dummy ability that has no real effect in the game. It can be used to trigger the effects. You can specify if it can target a unit, a point, an area of effect, a unit or if it has no target at all, if it shows an icon on the command card and if it shows an aoe targeting image. The spell also has physical spell, universal spell and unique cast options. The channelling behaviour can be changed by setting the follow through time and the disable other abilities option, which will black out the whole command card during the follow through time. You can alter the caster and target art fields as well, only buffs cannot be added. Because the base order id of a channel spell can be changed you can have more than one working channel spells on a single unit. The real effect of the spell will of course have to be triggered.
    ANcl (通魔): 通魔实际上是一个“虚假”的技能,在游戏中本身并没有实际效果。但时可以用T来实现特效。你可以规定它的目标是一个单位、一个点、一个范围甚至不需要目标,可以规定它是否在控制台显示技能图标,可以规定范围性技能的目标图像(就是那个大圆圈的样子,译者按),规定它是否是物理技能、通用技能(universal spell:通用技能,选中这个的话,该技能便视为universal,能够对魔免单位使用;physical:物理技能,选中这个的话,该技能便视为物理技能,能对魔免使用,与universal不同的是不能对气化的单位使用,译者按),还可以设定施放选项(unique cast:单个施放,选中这个的话,如果在同一个队伍里有多个同种类单位拥有该技能,便只有一个施放该技能,其余的不施放;不选便全部会同时施放,译者按)。你也可以通过设置技能持续时间和"禁止其他技能"选项来改变技能的施放特性(follow through time:技能的持续时间如果设成0就视为非持续性技能;disable other abilities:选中后会在follow through time内不能动,不能终止施法,相当于pause unit,译者按)。你还可以改变施法者和施法目标的动画效果。只是有一点:不能添加任何Buff。由于通魔技能的开启命令串可以改变,所以同一个单位可以同时拥有多个通魔模板技能,而其真正的技能效果当然要用T来实现。

    JASS:
    [jass]
    function Channel_Conditions takes nothing returns boolean
      return GetSpellAbilityId() == <channel ability id>
    endfunction

    function Channel_Actions takes nothing returns nothing
    endfunction

    function Channel takes nothing returns nothing
      local trigger t = CreateTrigger()
      call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_SPELL_CAST)
      call TriggerAddCondition(t, Condition(function Channel_Conditions))
      call TriggerAddAction(t, function Channel_Actions)
    endfunction
    [/jass]
    Since the 1.18 patch channel also works well in spellbooks and in conjunction with the engineering upgrade. One possible problem is that channel spells get cancelled by stunning abilities. To avoid that replace your stunning abilities with spells based off of ANab (Acid Bomb) for example.
    1.18版本以后,通魔已经可以很好地运用于魔法书和工程升级之中。一个可能出现的问题就是晕眩技能会中断通魔技能,为了避免此类问题,你可以用一些比如“酸性炸弹”这样的技能为模板的技能来代替晕眩类技能。
  • Amrf (Raven Form): Allows to change the flying height of ground units.
    Amrf (乌鸦形态): 可以让地面单位飞起来并改变其高度。

    JASS:
    [jass]
    call UnitAddAbility(u, 'Amrf')
    call UnitRemoveAbility(u, 'Amrf')
    [/jass]
    After having added and removed the ability you can use SetUnitFlyHeight to adjust the height of the unit u, even if it's a ground unit. I couldn't get this to work with buildings though.
    在添加和移除这个技能以后你可以通过SetUnitFlyHeight这个函数来调整单位u的高度,不过这个技能对建筑无效。

  • Sca1 (Chaos): Adding a chaos ability to a unit transforms it into the unit type specified in the target unit id field of the ability. This can be used to change any aspect like the proper name or the model of a unit in the game or simply in combination with channel to implement morphing spells. Don't forget to remove the tech requirements from custom chaos abilities. One problem of Chaos is that it adds the morphed unit's current armor, damage, health and mana bonus received from items, auras and srength, agility, intelligence to the stats of the resulting unit. That means it's not a very good idea to morph heroes using chaos until Blizzard fixes those bugs. Ordinary units can't be affected by items and hero stats, so the only problem are buffs received from auras. Those buffs can easily be removed before the conversion and are automatically added again afterwards so that's not a real issue.
    Sca1 (混乱): 为一个单位添加“混乱”技能可以将该单位转换为该技能属性里预先设置另一种特殊形态,这样就可以改变单位的名称和模型,另外它也可以结合通魔来实现变形技能的效果。不要忘记取消技能的科技要求。“混乱”技能会将原单位通过装备、光环和三围加成的护甲、攻击力、生命和魔法值统统加到变换后的单位身上。这意味着如果暴雪不修正这个BUG,最好别把这技能用在英雄身上。普通单位没有装备和三围,只有光环的Buff会被保留,但这些Buff可以在转换前简单地被移除,并在转换后自动添加回来的,所以问题不大。

    JASS:
    [jass]
    call UnitRemoveAbility(u, 'BHab')
    call UnitRemoveAbility(u, 'BUau')
    call UnitRemoveAbility(u, 'BUav')
    call UnitRemoveAbility(u, 'BEah')
    call UnitRemoveAbility(u, 'BHad')
    call UnitRemoveAbility(u, 'BEar')
    call UnitRemoveAbility(u, 'BOae')
    call UnitRemoveAbility(u, 'BOac')
    call UnitRemoveAbility(u, 'Bapl')
    call UnitRemoveAbility(u, 'Bplg')
    call UnitRemoveAbility(u, 'Boar')
    call UnitRemoveAbility(u, 'Babr')
    call UnitRemoveAbility(u, 'Bakb')
    call UnitAddAbility(u, <chaos ability id>)
    [/jass]
    This script will remove all aura buffs before applying the chaos upgrade. If you have custom buffs in your map, you'll have to remove them here too.
    这段脚本可以在“混乱”作用以前移除所有的光环Buff,如果你的图中有自定义的Buff,那么也要在这段代码里将其移除。

  • Aloc (Locust): A unit that is given locust becomes unselectable, untargetable and ignores any pathing limitations. This means it can only be controlled and ordered with triggers. It won't show a life bar over its head too. Now to get rid of locust UnitRemoveAbility(u, 'Aloc') won't work therefore you'll need to chaos transform the unit into a different temporary unit type and immediately transform it back. However if the unit had been transformed with a chaos ability before then adding locust will make it unselectable but still targetable and it will also obey pathing rules. Another option to get rid of locust is the following hiding the unit, removing the ability and unhiding it again.
    Aloc (蝗虫): 添加了蝗虫技能的单位无法被选中,无法作为目标,并且不受地形限制。这就意味它着只能用T来控制,它的头上也不会显示血条,如果你想把蝗虫技能去掉,用UnitRemoveAbility(u, 'Aloc')是无效的,因此你必须先用chaos技能将单位转换为一个临时的类型然后迅速地转回来。然而,如果一个单位之前先用chaos技能进行了转换,再添加了蝗虫技能,那么它不能被选取,但是可以作为目标并且遵循地形规则。另外,用下面的方法先隐藏单位,再移除技能,然后再显示单位也能够移除蝗虫技能。

    JASS:
    [jass]
    function UnitRemoveLocust takes unit u returns nothing
        local boolean backup = not IsUnitHidden(u)
        call ShowUnit(u, false)
        call UnitRemoveAbility(u, 'Aloc')
        call ShowUnit(u, backup)
    endfunction
    [/jass]
    This solution has some side effects. The health bar above the unit as well as the player name when you move your mouse over the unit will not be shown any more. So this would also be a trick to get rid of those tooltips and health bars.
    这个方案有一些副作用:之后当你的鼠标指向该单位的时候将不再显示血条,如果你想去掉那些提示和血条的话,这倒是个好办法。

  • Amec (Mechanical Critter): Units that were summoned with this ability look and act like neutral passive units to all players except the owner who can control it like any other unit. The only exception is, when they right-click the unit their unit will attack it. Unfortunately you can't change the summoned unit type, it will always be a random critter from the current tileset, but you can easily catch the summon event and use chaos to get the unit type you want.
    Amec (机械宠物): 用这个技能召唤出来的单位在其他玩家看来无论是外观还是行为都与中立被动单位无异,只有该单位的拥有者能够正常地操作它。不过有一点要注意,如果其他玩家操作单位右键点击了这个“宠物”,他们就会攻击该“宠物”。你无法确定召唤出来的会是什么东西,它的类型是在当前的设置里随机产生的,不过你可以很轻易地捕捉到这次召唤事件,并用“混乱”技能把它转换成你想要的单位类型。

    JASS:
    [jass]
    function Transform_Conditions takes nothing returns boolean
      return GetUnitTypeId(GetSummoningUnit()) == <unit type that can cast mechanical critter>
    endfunction

    function Transform_Actions takes nothing returns nothing
      call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Orc\\FeralSpirit\\feralspiritdone.mdl", GetUnitX(GetSummonedUnit()), GetUnitY(GetSummonedUnit())))
      call UnitAddAbility(GetSummonedUnit(), <chaos ability id>)
    endfunction

    function Transform takes nothing returns nothing
      local trigger t = CreateTrigger()
      call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_SUMMON)
      call TriggerAddCondition(t, Condition(function Transform_Conditions))
      call TriggerAddAction(t, function Transform_Actions)
    endfunction
    [/jass]
  • AId1, AItg, AIlf, AImb, AIsi, Aamk (Defense, Damage, Life, Mana, Sight Range, Attribute Bonus): These item abilities can also be added as unit abilities to change defense, damage, life, mana, sight range, agility, strength and intelligence of a unit. Fortunately the effects of those abilities stack so you only need a few copies of them to get any bonus by using a bitflagging technique. Weaaddar and Blade have shown how it can be done with their BonusMod and AttributeMod systems. All of these abilities also work with negative values, so you can decrease stats with them. For sight range however, negative values only work if the unit doesn't have any ability that detects hidden units. A special bug allows you to to adjust the max mana and life of a unit without a permanent ability on that unit. Simply make a custom AIlf (Life Bonus) or AImb (Mana Bonus) ability and give it more than one level. Now set the bonus for level one to zero and the level two to the exact opposit you want to achieve. That would be -200 if you want to add 200. Now use UnitAddAbility and SetUnitAbilityLevel to add the ability at level two to your target. There's a bug in those abilities that prevents the bonus from being applied correctly. Then immediately remove the ability again using UnitRemoveAbility. This time it will try to undo the -200 bonus (which hadn't been applied due to a bug) and add 200 to the unit. That's it, you've changed the life/mana without having to keep any abilities on the unit.
    AId1, AItg, AIlf, AImb, AIsi, Aamk (护甲, 攻击力,生命、魔法值、视野范围、属性附加): 这些物品技能也可以作为单位技能来改变一个单位的护甲,攻击力,生命、魔法值,视野以及三围。幸运的是,这些技能的效果还可以叠加,所以你只需要不停地使用这一技法就可以一次次地增加这些属性。Weaaddar和Blade已经用他们的系统告诉我们如何这么做了。所有这些技能增益设置成负值同样有效,所以你也可以用它们来削减属性--不过视野范围有点例外,如果增益设为负的,那么只有在该单位不具备任何反隐形技能的时候才起作用。有一个bug可以使你调整单位的生命、魔法值而不需要为它添加永久性的技能,你只需要自定义一个AIlf(生命增益)或AImb(魔法增益)技能,然后多设几级,1级设为0,2级设你的需要的数值的相反数--如果你想增加200,那么便应设为-200,然后用UnitAddAbility和SetUnitAbilityLevel给目标单位添加该技能并把技能等级设为2,那么由于bug存在,这次增益不能正常执行,这时立刻用UnitRemoveAbility将技能移除,系统会取消-200的增益(其实因为bug的原因之前这个-200并未执行过),也就相当于给与了单位+200的增益,这就等于是说,你“什么技能也没有添加”,但是该单位的生命、魔法值却被改变了。

  • ANvc (Volcano): This is the only ability that can create destructables/doodads so this might be useful in some cases.
    ANvc (火山爆发): 这是唯一一个能创建可破坏物和地形装饰物的技能,所以在某些场合下是非常有用的。

  • Adef, Amdf (Defend, Magical Defense): These are two of the few abilities that don't stop the current order of the unit when used. They are perfect dummies because they don't have buffs or other limitations. If you don't mind the buffs you can also use 'ANms' (Mana Shield) or 'AEim' (Immolation). The mentioned abilities can easily be customized by setting their effect to zero and catching their order and unorder string. However the unorder is issued twice when these abilities are removed from a unit. Therefore you need a simple workaround to not catch these unorders.
    Adef, Amdf (防御, 魔法防御): 只有少数几个技能在使用时不会终止单位当前指令,这两个技能便包含其中。它们是很好的模版,因为它们没有Buff,也没有其他任何限制。如果你不介意有Buff的话,'ANms'(法力护盾)和'AEim'(献祭)也是不错的选择。把上述几个技能的效果都设为0,然后捕捉它们开启和关闭的命令即可。不过这些技能从一个单位身上被移除时,关闭的命令也会被执行两次,这时你必须多留一个心眼,不能将这两次也算在里面。

    JASS:
    [jass]
    function WasUnOrder takes nothing returns boolean
      return OrderId2String(GetIssuedOrderId()) == "undefend" or OrderId2String(GetIssuedOrderId()) == "magicundefend"
    endfunction

    function Defense_Condition takes nothing returns boolean
      return GetTriggerEventId() != EVENT_PLAYER_UNIT_ISSUED_ORDER or ((OrderId2String(GetIssuedOrderId()) == "defend" or OrderId2String(GetIssuedOrderId()) == "undefend") and GetUnitAbilityLevel(GetOrderedUnit(), 'Adef') > 0 and GetUnitState(GetOrderedUnit(), UNIT_STATE_LIFE) > 0)
    endfunction

    function TriggerRegisterDefenseEvent takes trigger t returns triggercondition
      call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_ISSUED_ORDER)
      return TriggerAddCondition(t, Condition(function Defense_Condition))
    endfunction

    function MagicDefense_Condition takes nothing returns boolean
      return GetTriggerEventId() != EVENT_PLAYER_UNIT_ISSUED_ORDER or ((OrderId2String(GetIssuedOrderId()) == "magicdefend" or OrderId2String(GetIssuedOrderId()) == "magicundefend") and GetUnitAbilityLevel(GetOrderedUnit(), 'Amdf') > 0 and GetUnitState(GetOrderedUnit(), UNIT_STATE_LIFE) > 0)
    endfunction

    function TriggerRegisterMagicDefenseEvent takes trigger t returns triggercondition
      call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_ISSUED_ORDER)
      return TriggerAddCondition(t, Condition(function MagicDefense_Condition))
    endfunction
    [/jass]
    These events are not compatible with other order with no target events because of the trigger condition that is used, but it's compatible with all other possible events. In case you want to distinguish the order and unorder there's a utility function WasUnOrder too. If you don't need the casting animation on your unit there's an easy way to make almost every spell not stop the current order. Therefore simply set the fields Art ? Animation Cast Point and Art ? Animation Backswing Point for the unit to 0. That way it will immediately cast spells and resume the order it had before.
    由于触发条件的限制,该事件不会和其他一些无目标的技能施放的事件发生重复,不过它有可能与其他一些事件重复。如果你想区别是开启命令还是关闭命令的话可以用上面那个WasUnOrder函数。如果你不需要施法动作的话,这里有一个更简单的方法可以让几乎所有的技能的使用都不会终止施法单位当前的指令,只需把单位的Art ? Animation Cast Point和Art ? Animation Backswing Point设为0就可以了,这样单位即会瞬间完成施法动作并继续执行原来的指令。

  • Apit, Aneu, Aall, Asid (Purchase Item, Neutral, Allied Building, Sell Items): The combination of these abilities will give you a shop that sells items only to the owner of the shop just like the arcane vault. The difference is that AddItemToStock will also work. RemoveItemFromStock only works for items added with triggers, so you'll simply have to clear the items sold and items made field of the shop and instead add the items with a trigger at map initialization. Replace the 'Asid' ability with 'Asud' if you want a shop that sells units and that works with AddUnitToStock and RemoveUnitFromStock. Remove the 'Aall' ability to make it a neutral shop. On a side note, the 'Asud' ability makes a unit visible and clickable on the map for all players, even if that player is an enemy.
    Apit, Aneu, Aall, Asid (购买物品, 选择英雄, 共享商店, 出售物品): 综合运用这几个技能可以制造一个类似于神秘藏宝室的商店,只有该商店的拥有者才能在这里购买商品, 不同之处在于:可以用AddItemToStock来为其添加物品,但是如果要从该商店里移除物品,只有用T添加的物品才能用RemoveItemFromStock来移除。因此你可以在物品编辑器里把该商店出售物品和生产物品的表单清空,在地图初始化的时候用T为商店添加物品。如果你想让商店出售单位,你可以把'Asid'技能换成'Asud'技能,相应的用AddUnitToStock和RemoveUnitFromStock莱进行增删操作。删除'Aall' 技能可将其变为中立商店。注意:这时'Asud'技能售出的单位所有玩家都能看到并可以选中--即使敌对玩家也可以。

  • Ablo (Bloodlust): Increases the size of the unit it is cast on. You would usually use an invisible dummy caster to do this. To keep the size change for an unlimited amount of time simply set the duration to 0. Reverting the size to normal can easily be done with triggers by removing the bloodlust buff from the unit. By using a custom buff with no effects, no icon and a space as the tooltip you can also pretty well get rid of the special effects and the buff icon.
    Ablo (嗜血术): 当单位被施放了该法术后体型会变大。你也许用一个看不见的辅助施法者干过这种事,如果你想让被施法的单位一直保持它的大块头,那么请把法术的持续时间设为0,想让它恢复原貌也很简单,用T将其身上嗜血术的Buff删除即可。如果你嫌嗜血术的特效和Buff图标碍眼,你也可以自己定义一个没有特效,没有图标,没有任何语言提示的Buff。

  • Apiv, Agho, Aeth (Permanent Invisibility, Ghost, Ghost Visible): These abilities make units invisible without the tradeoffs of setting them invisible with triggers. Often this is a better solution than pausing units or adding locust. Units with permanent invisibility will lose their invisibility temporarily while they are attacking. So the ability can be used to create units like spirit wolfs at level three. Units that have both Permanent Invisibility and Ghost stay hidden, even while they are attacking. The Aeye (Sentry Ward) spell adds permanent invisibility to the summoned unit automatically by the way.
    Apiv, Agho, Aeth (永久的隐形, 幽灵, 幽灵(可见的) ): 这些技能可以让单位隐身--不需要用T来设置。相比暂停单位和添加蝗虫技能来说,这些技能是更好的选择。拥有永久隐形的单位在攻击时会现行,所以这个技能可以用来制造一些类似3级幽灵狼一样的单位。如果单位同时拥有永久隐形和鬼魂两个技能,那么它是真正的“永久隐形”,即使攻击也不会现行。随便说一下,用Aeye(岗哨守卫)召唤出来的单位自动带有永久的隐形。

  • Abur, Abdt (Burrow, Burrow Detection): All units that have the burrow ability are only visible to their owner. Abilities that are supposed to detect hidden units have a flag if they can detect burrowed units, so by changing these flags you can make sure that nobody is ever going to see those units if you don't want that.
    Abur, Abdt (遁地, 侦测遁地): 所有遁地了的单位都只能被它的拥有者看见。如果对方有可侦测遁地的单位,那么它将会在地面上看到一个标记。如果你不希望这样,你可以把这个标记改掉,这样的话,即使被侦测到了,也没有人会注意。

  • Aasl (Tornado Slow Aura): This aura is perfect to add buffs to units that have no effects at all. Just set the targets allowed to self and the effect of the aura to zero. The ability doesn't have an icon. If you need more dummy buffs you can also use other auras and hide them in a disabled spellbook.
    Aasl (减速光环(龙卷风) ): 这个光环能够完美地为一个单位添加Buff但不产生特效。你只需要把作用单位设置为允许自己,然后把数值调到0即可。这个技能也没有图标。如果你需要更多的Buff,你还可以将更多的光环一起放进一本魔法书中。

  • ANpi (Permanent Immolation): Perfect to implement life and mana drain and also to attach effects to the caster and nearby units. To implement mana drain set the damage and range to zero, to implement life drain set the targets allowed to only self. By editing the buff you can change/remove the effects shown on the caster and the targets. To get rid of the icon put the ability in a disabled spellbook. If you want it to show a buff icon you can alternatively use Atdg (Tornado Damage Aura) and AHab (Brilliance Aura). Especially if you want to attach effects to a unit repetitively this ability can be useful too because you can change the interval.
    ANpi (永久的献祭): 可以完美地实现生命和法力流失,并且可以给施法者及周围单位附上特效。想实现法力流失的话可以把伤害和范围设为0,想实现生命流失的话可以把目标单位设置成只对自己有效,通过在物品编辑器里修改Buff,可以改变甚至删除施法者和周围单位身上的特效。如果不想看到技能图标,就把技能放进魔法书。如果想看到Buff图标你可以选择Atdg(龙卷风的伤害光环)或AHab(辉耀光环)中的一个。如果你想反复地为一个单位添加特效的话这个技能也是相当管用的,因为它还可以改变时间间隔。

  • ACnr (Life Regeneration Aura): Perfect to attach effects with team colour to units. Just set the amount of life regenerated to zero and targets to only self. Then add the model you want to attach to the target art field and specify the attachment point. This will attach the model to the unit that has this ability and the team colour parts of it will change according to the owner. This also works in conjunction with morph abilities. If the team colour happens to mess up in certain situations the following code should fix it.
    ACnr (生命恢复光环): 可以改变单位的team colour。只需把回复的数值设为0,目标单位设为只对自己有效,然后把你想要给目标添加的特效模型加到技能里--注意附着点,这时拥有该技能的单位就会被附着上特效,并且它的team colour会根据它的拥有者而改变。该技能和某些变形技能结合一样有效。如果在某些情况下team colour被搞得很乱,那么你也可以通过下面一段代码把它们整回来。

    JASS:
    [jass]
    call SetUnitColor(<unit>, GetPlayerColor(GetOwningPlayer(<unit>)))
    [/jass]
  • Aspi (Spiked Barricades): Simple ability to attach special effects to units without any side effects. You should always prefer this ability over Asph (Sphere) as it's much more reliable.
    Aspi (尖形路障): 可以为单位附上特殊的效果而不会产生副作用。它比Asph(球体技能)管用多了,因为它更加可靠。

  • Atwa (Tornado Wanderer): Units that have this ability can follow other units much closer than ordinary units. You'll just have to set the area of effect of the spell to a greatest possible value. A unit that has this ability will just have to be ordered to right-click another unit and it will follow the unit if it doesn't have an attack.
    Atwa (龙卷风游荡者): 拥有该技能的单位能够比普通更紧地贴住其他单位。你只需要把这个技能的作用域设得非常大,你再命令拥有该技能的单位“右键跟随”其他单位,那么它就会一直跟随着该单位直到它开始攻击。

  • AIbf (Build Tiny Farm): Allows units to build a certain building. The unit doesn't need a repair ability or whatsoever. You can also set the time it takes to build the structure on the ability.
    AIbf (建造微型农场): 允许单位建造某一种建筑--即使这个单位不会修筑技能或别的什么。你还可以在技能里设置该建筑完成所需要的时间。

  • Aher (Hero): The hero ability specifies the level up effect of heroes in its caster art field. You'll need a customized AbilityData.slk file in order to get this ability displayed in the editor. Simply set the useInEditor flag to 1 in that file.
    Aher(英雄): 在这个技能的 caster art 字段里可以设置英雄升级时的特效。你必须自定一个AbilityData.slk文件才能使这个技能在编辑器里正常显示。修改方法很简单:设置该文件里的useInEditor标志设为1。

  • Amov (Move): The move ability specifies the warp effect that units show when they walk through a warp gate.
    Amov(移动): 这个技能中可以设置 当单位穿过传送门时的效果。

  • AImo (Lure): Lure is pretty cool because it lures all neutral aggressive units within the specified range. You can also specify the time interval in which the units are lured.
    AImo(怪兽诱捕守卫): “怪兽诱捕守卫”是个酷毙了的技能,因为它可以引诱指定范围里的中立敌对单位,你还可以设置被引诱间隔时间。

  • ANeg (Engineering Upgrade): The engineering upgrade finally solves the problem of not levelable trigger added hero skills. It allows to add hero skills with triggers and to still have them in the levelup menu. Therefore the hero needs to have dummy hero skills that can then be replaced by the actual skills. The placeholder skills need to have the same amount of levels and level skip requirements that's why you will probably need one for ultimates and one for normal hero skills. I usually base my placeholder skills off of Arpb (Replenish) but the base skill really shouldn't matter. The placeholder with 3 levels and 2 levels skip can simply be given to the hero several times. Then the placeholder skills must be disabled for all players at map initialization, so they don't show up in the levelup menu at first. Then you will just need an adder ability based off of engineering upgrade for each skill that you might want to have on the hero. The upgrade will replace the skills in the order of their ability upgrade field when it's added, and replace them backwards when it's removed. So if you want to abuse the engineering upgrade but don't want the passive upgrade icon on the unit you can simply have an engineering upgrade with the abilities B, A in the upgrade field and then when you add and remove it on a unit that has A it will then have B. That's because adding it will do nothing as B is not there, but removing it will replace A with B. As soon as a hero ability has been added that way it will be learnable in the levelup menu. Note that replacing skills only works well for unlearned hero skills. Replacing learned skills or normal unit skills will not actually replace them, it will just update the fields like range, area of effect, duration, icon, targets allowed, and so on, but will not change the hardcoded part of the ability. For example changing an aura to the heal ability will only change the icon, tooltips, range and probably some other fields, but it will still be an aura. If the ability that is being replaced is disabled at the time the results become even weirder and you can never know what you will get. Also the engineering upgrade only works for heroes, adding it to normal units will crash the game for some reason.
    ANeg (工程升级): 工程升级很好地解决的用T添加的机能无法直接升级的问题。它允许用T为单位添加技能并保留技能升级选单.这样以前用假技能作升级选单的做法就落伍了。The placeholder skills等级数和跳级间隔要求必须相同that's why you will probably need one for ultimates and one for normal hero skills. I usually base my placeholder skills off of Arpb (Replenish) but the base skill really shouldn't matter. The placeholder with 3 levels and 2 levels skip can simply be given to the hero several times. Then the placeholder skills must be disabled for all players at map initialization, 所以它们起初在技能升级选单中是看不见的。Then you will just need an adder ability based off of engineering upgrade for each skill that you might want to have on the hero. 升级将会把技能替换成事先设置的升级技能when it's added, and replace them backwards when it's removed. 所以如果你想使用工程升级,又不想再单位身上看到升级图标,你可以先设置一个工程升级技能,里面设置B、A两个子技能,那么当你为一个已经有A技能的单位添加和移除该工程升级技能后,它就会拥有B技能。这是因为原先没有B技能,你添加升级也没有用。但是移除升级后B即会替代A。 一旦一个技能被添加,就可以在技能升级选单中看到它。注意:替换的技能只能是尚未学习过的英雄技能。如果替换已经学习了的技能或普通单位技能实际并没有将它们真正替换,只是改变了范围、影响区域、持续时间、图标、允许目标单位等等因素,但是并没有改变技能的核心。举例来说,把一个光环替换成一个实体技能只是改变了它的图标、技能提示范围和其他一些属性,但是它依然是一个光环技能。如果替换的技能恰好处于被禁止的状态可能就会出现无法预料后果。另外,工程升级只能用在英雄身上,如果给普通单位添加工程升级也可能导致不明原因弹出游戏。

  • Aspb (Spellbook): The spellbook is basically a container for up to 11 other abilities. It can hold active spells as well as autocast and passive spells and even hero skills. The first wonderful thing about the spellbook is that it gives you the effect of passive abilities in it even if the spellbook ability itself is disabled for the player. So it can be used to hide the icon of whichever passive ability you want and to save slots on the command card. The other wonderful thing is that you can add spells to a spellbook at runtime and remove them again. That is done by giving the unit a second spellbook with the spell that should be added and disabling this second spellbook. That way the skill will show up on the first spellbook but the second one can't be seen on the unit. To make this work both spellbook abilities must have the same base order id. For each skill you want to add at runtime you will need such an adder ability. The third cool thing is that hero abilities in spell books are levelable via the levelup menu. The problem is that they will start at level 1 and not at level 0 if they are in the spellbook from the beginning. That's easy to fix with triggers. Just normally give them to the hero first in the object editor. Then catch when level 1 is learned, remove the skill and add it to the spellbook.
    Aspb(魔法书): 魔法书是一个可以容纳多达11个技能的“大容器”。它可以收入手动技能,被动技能,自动施放的技能甚至英雄技能。它的伟大之处第一在于即使你禁止魔法书,里面的被动技能一样有效,这样你就可以隐藏任意被动技能的图标,为控制台节省格子;第二在于你可以在游戏中给魔法书里添加技能,方法是先给单位添加第二本含有需添加技能的魔法书,然后禁止这第二本魔法书,这样的话你想添加的技能就会出现在第一本魔法书里,而第二本魔法书本身是看不到的,然而要做到这些这两本魔法书的命令串必须相同,而且你每想在游戏中添加一个技能事先就的准备这么一本“第二魔法书”;它的第三个好处在于如果你给魔法书里添加了英雄技能,你还可以在升级选单中升级它们,不过如果这些英雄技能是事先添加在魔法书里的,那么它们会从1级开始而不是0级,当然你完全可以通过T来调整等级,具体做法是,事先在物品编辑器里把这些技能添加给英雄,在游戏中当第一次捕捉到该技能被学习时,把该技能从英雄身上移除然后又把它添加到“第二本魔法书”里,然后添加给英雄。

    JASS:
    [jass]
    function Learn_Actions takes nothing returns nothing
      if GetLearnedSkillLevel() == 1 and GetLearnedSkill() == <hero skill> then
        call UnitRemoveAbility(GetTriggerUnit(), GetLearnedSkill())
        call UnitAddAbility(GetLearningUnit(), <adder spellbook ability>)
        call MakeUnitAbilityPermanent(u, <adder spellbook ability>)
        call MakeUnitAbilityPermanent(u, <ability inside spellbook>)
      endif
    endfunction

    function Learn takes nothing returns nothing
      local trigger t = CreateTrigger()
      call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_HERO_SKILL)
      call TriggerAddAction(t, function Learn_Actions)
    endfunction
    [/jass]
    Of course the adder ability has to be disabled from the beginning for the owner of the unit. To prevent bugs the number of minimum skills in a spellbook should equal the maximum number of skills. Unfortunately there are also some tiny problems. Active abilities in spellbooks can't be used from triggers it seems. Also the tome of retraining will totally mess your system up if you have hero skills in the spellbook. And spells added at runtime won't turn the spellbook icon blue if there's not enough mana. But these small drawbacks usually don't matter.
    当然,那“第二本魔法书”们事先应该先禁止。另外要说明的是:为了防止BUG出现,魔法书的最小魔法数和最大魔法数应设置为相等。最后还有些小问题:魔法书中的手动技能似乎没法用T来释放,而且如果魔法书里含有英雄技能,而你又使用了再训练之书,那么你的技能树就会完全乱套,另外在游戏中添加给魔法书的技能,当法力不足以施放时,魔法书的图标不会变蓝。当然,上面这些小瑕疵并不影响大局。

  • Abun (Cargo Hold): If added to a unit it disables the unit's ability to attack other units. Even the attack icon and shortcut are removed from the command card. To enable the attack again simply remove the cargo hold ability. Together with orb abilities it should give you complete control over the attack indices of units.
    Abun (货物保持 (兽族地洞) ): 如果给单位添加了该技能,它就无法攻击别的单位--即使你把攻击图标和快捷键去掉。想让它恢复攻击能力只需把该技能去掉就是了。该技能结合球类技能可以让你随意地切换单位的攻击索引。

  • AIdf, AIll, AIsb (Black Arrow Attack Bonus, New Lightning Orb, Slowness Orb): These orb abilities all have the effect ability field, which lets you specify any unit targeted ability as effect ability. This means that the ability will automatically be cast on the target of an attack depending on a certain chance that can be specified. If the chance is set to 100 it will be cast for each attack that doesn't miss the target. If one of these abilities is added as unit ability, the effect ability will automatically appear as a passive ability on the unit's command card. Unfortunately you can't get rid of the icon. The only way to have no icon is using an invisible channel spell as effect ability, but this will only allow you to add a visual effect to the attacks but not real ability effect. The index of the enabled attack should be set to 0 if you don't want to enable ranged attacks for melee units. Due to a bug the ability won't be cast when the target was automatically acquired by the unit, even if the chance is 100 percent. Orbs are generally pretty useful to attach effects, change the missiles of units and to enable attacks. While we're at arrow abilities, 'ANia' (Incinerate Arrow) always uses the default values of 'Anic' (Incinerate), no matter how you try to change them, so it's only possible to have on ability of that type in a map.
    AIdf, AIll, AIsb (黑暗之箭, 闪电球(新), 霜冻之球): 这些球类技能都含有效果技能,换句话说,可以让你的目标单位受到指定的附加技能效果,也就是说在攻击的时候,这些效果技能会按照你设定的几率同时目标单位自动释放,如果几率设为100%,那么每攻击一次都会附加技能效果。如果把这些技能作为单位技能的话,其效果技能会以被动技能的形式显示在单位的控制台上--你还没办法把图标去掉--除非你用一个无图标的通魔性技能作为效果技能--而这个效果技能也只能有视觉上的效果而没有实际作用(通魔嘛)。如果你不想让近战单位变成远程就把攻击索引设为0,由于BUG的存在,如果单位是自动攻击的话,效果技能是无法被施放的--即使你把几率设为100%。球类技能在附着特效、改变单位射箭技巧、允许单位攻击模式等方面都非常有用。当当我们用箭矢技能时,不管你怎么改,'ANia'(Incinerate Arrow)总是会用'Anic'(Incinerate)的默认值,游戏在游戏中它就只能那样了。

  • Aroc (Barrage): Barrage allows unit to attack several targets with one attack and therefore it can be used for multishot abilities. The bonus damage field must be set to at least 1, because 0 will cause serious problems. Each target will be dealt the normal damage of the unit's attack and the amount of bonus damage specified here. The number of targets is 1 plus the maximum number of targets field of barrage. The projectile art field can have more than 1 entry and will override the default projectile of the unit. The art for each shot will be chosen at random from this list. The area of effect is the range for the additional attacks. This doesn't affect the main attack, only the extra attacks granted by barrage. Also set the maximum possible damage field to 0 if you don't want to limit the damage dealt. Unfortunately combining barrage with other attack enhancing abilities is pretty difficult. Many of them will completely eliminate the effect of barrage like all arrow abilities on autocast except AHfa (Searing Arrows) and many orb abilities. Orb abilities that do have an effect ability field only disable barrage when this effect ability comes into action. All other abilities like critical strike slow poison, freezing breath, lightning attack, liquid fire and similar spells pretty much work with barrage but will always only affect the main target and never the additional barrage targets. Basic enhancements like damage bonus, attack speed bonus and the like however will affect all targets. The AHfa (Searing Arrows) spell is very special. It's the only arrow ability that works with barrage and it even reenables barrage on autocast if it was disabled by an incompatible orb ability allowing to create an autocastable multishot ability.
    Aroc (弹幕攻击): 弹幕技能允许单位在一次攻击时同时攻击多个目标,所以它经常被用来制作多重箭。技能属性里的附加伤害必须至少设为1,因为如果设为0的话会出现很严重的问题。每个单位都会受到常规攻击伤害和设定的附加伤害,伤害的目标数等于1+技能设置里的最大目标数,在箭矢图像里可以填入不止一种效果,可以覆盖掉单位原来的射箭技巧,如果你填了多种效果,射箭的图像将会是随机的。“作用范围”就是多重箭能够其作用的距离,不过这个距离不影响单位本身的攻击距离,只影响其他箭矢,如果你不想限制每一枝箭矢单独的附加伤害,那么你可以把“最大总伤害量”设为0。不幸的是,弹幕技能很难于其他技能完美地结合,很多技能都会抑制弹幕技能--比如除了灼热之箭以外的所有自动施放的箭矢技能和大多数球类技能,球类技能只有在其效果技能起作用时才抑制弹幕技能,其它技能像致命一击,慢性毒药,霜冻喷吐,闪电风暴,liquid fire及其类似技能可以和弹幕同时作用--不过只作用在主目标上,其他目标上无效,但类似“附加伤害”,“攻击提速”之类的效果是可以附加在所有目标上的。灼热之箭非常特殊,它是唯一一个可以和弹幕同时作用的箭矢技能,甚至于它还能将已经被球类技能压制了的弹幕技能重新激活,从而做成一种可以选择自动施放的多重箭技能。

  • Apxf (Phoenix Fire): This ability gives units an additional multishot attack that is independent of its normal attack. It has its own cooldown, missile, damage and damage over time and is automatically cast on every enemy in range. The duration field of the spell determines how long units take damage over time and how long it takes to be able to reattack the same target again. For some reason it is possible to add several phoenix fire abilities to a unit via items, and all of them will work simultaneously.
    Apxf (凤凰火焰): 这个技能可以给单位添加与普通攻击无关的另一种多重攻击。它有自己的冷却时间,自己的箭矢图像,伤害及持续伤害,并且它是自动对范围内的每一个敌人施放的。通过调整持续时间可以设定一个单位受伤害的持续时间以及同一单位受到两次伤害的时间间隔。可以通过物品给一个单位添加多个凤凰火焰系技能,这些技能同时有效。

  • ANcs (Cluster Rockets): If you need an ability with multiple subsequent projectiles, especially for aoe damage spells, use cluster rockets. Simply set the number of rockets to the number of subsequent projectiles you need.
    ANcs (火箭群): 如果你想制作一个能同时发出多枚弹头的范围伤害技能时,请用火箭群,你只需要把火箭的数量设为你需要弹头的数量即可。

  • ANab, AEsh (Acid Bomb, Shadow Strike): Acid bomb is very versatile and probably the best base for a direct damage ability. It has many nice features like slowing movement and attack speed, armor reduction, instant damage, damage over time, buffs, projectile art ? yet all those effects can easily be removed if required. Also it doesn't have stun or any limitations regarding the allowed targets. Shadow strike offers similar fields except armor reduction. Additionally it displays the initial damage with a green fading text above the target. To get rid of the little dude and the sound, simply replace the default buff with a custom empty buff.
    ANab, AEsh (酸性炸弹, 暗影突袭): 酸性炸弹是用途最广同时也可能是最好的直接伤害技能的模版。它有很多项实用的功能,如削减移动和攻击速度,削减护甲,即时伤害,持续伤害,Buff,投掷图像--如果你不需要其中某些效果还可把它们去掉,并且不会对目标造成晕眩或其他限制。暗影突袭和酸性炸弹的功能差不多--除了没有降低护甲,不过它可以在目标单位的头上显示绿色的伤害数值,如果你想把那种声音和那个小恶魔的头像去掉,只需用一个空Buff取代默认的Buff即可。

  • AItg (Damage Bonus): An attack bonus of -1 is often required for invisible casters if you want to cast attack enhancing abilities on units. Just set the base damage of the caster to 0, the number of dice to 1 and the sides per dice to 0 and give the caster your custom damage bonus ability. This way the caster won't deal any damage but attack enhancing abilities will still come into effect. This comes in handy to add certain buffs or to add some unique effects like liquid fire, freezing breath, slow poison or arrow abilities. Higher negative numbers can be used to heal targets by the way.
    AItg (增加攻击力的物品): 如果你想产生攻击附加效果,那么可以选择在隐藏的施法单位身上添加一个攻击-1的能增加攻击的物品技能。把施法者的基础伤害设为0,骰子数设为1,面数设为0,并且给单位添加你自定义的能增加攻击的物品技能。这样施法者实际上不会造成任何伤害但是增加攻击的效果依然存在。你可以在这个效果技能里添加某些Buff和特效,比如liquid fire,霜冻喷吐,慢性毒药或箭矢技能。如果负值设得较高,也可以当作医疗技能来使用。

  • AOcr (Critical Strike): If you don't know the exact damage of a unit beforehand but you still want to disable all its damage, simply use critical strike with 100 percent chance to do a negative damage multiplier. Because the damage will always be 0 it will not show the damage in red numbers and you'll have your desired effect.
    AOcr (致命一击): 当你不知道单位每次可能造成的精确伤害,却想去掉这些伤害的话,可以用为概率100%,倍数为负值的致命一击,这时因为每次造成的伤害都是0,所以它不会显示在目标单位头顶,这样便达到了预期的效果。

  • AOcl, Amgl (Chain Lightning, Moon Glaive): These abilities grant multiple targets. Chain lightning is useful as a base for pure damage abilities with a lightning effect or a projectile that jumps from one target to the next. You can adjust the number of targets in the chain and the damage loss factor. The moon glaive on the other hand works completely different. The glaive ability itself does absolutely nothing and simply shows the passive icon in the command card. The bouncing attack comes from the unit field attack type which must be set to missile (bounce) and the number of targets field of the unit. The number of targets is then increased with upgrades later on.
    AOcl, Amgl (闪电链, 月刃): 这两个技能都可以伤害多个单位.闪电链式一个很好的可弹跃式的伤害技能模版,你可以自己设定最多跳跃的次数和每次伤害的衰减量,而月刃工作的机理则完全不同,月刃本身没有什么伤害--它只提供一个被动技能的图标,它的弹射伤害值与单位本身的攻击类型(必须是远程)及目标数量有关,而目标数量又与该技能的等级有关。

  • Ahrl (Ghul Harvest): Can be used to find out if a certain destructible is a tree.
    Ahrl (采集木材): 这个技能可以从可破坏物中把树挑出来。

    JASS:
    [jass]
    function IsDestructableTree takes destructable d returns boolean
      local boolean i = IsDestructableInvulnerable(d)
      local unit u = CreateUnit(Player(PLAYER_NEUTRAL_PASSIVE), <invisible caster>,GetWidgetX(d), GetWidgetY(d), 0)
      local boolean result = false
      call UnitAddAbility(u, 'Ahrl')
      if i then
        call SetDestructableInvulnerable(d, false)
      endif
      set result = IssueTargetOrder(u, "harvest", d)
      call RemoveUnit(u)
      if i then
        call SetDestructableInvulnerable(d, true)
      endif
      return result
    endfunction
    [/jass]
  • AIgu, AIgf (Glyph of Ultravision, Glyph of Fortification): Adding and removing these abilities to a unit applies the specified upgrade to all units of the owner of this unit. Glyph of ultravision will affect all units that are not heroes and not structures. Glyph of fortification will affect all structures of that player.
    AIgu, AIgf (防御浮雕, 防御浮雕?):

  • Acoa, Acoh, Adec (Couple, Decouple): Just here to remind you of the existence of this ability. It's of course useful for merge abilities or generally for any spell that involves two participants of a particular type because you can easily catch the ability being cast and intercept it.
    Acoa, Acoh, Adec (骑乘角鹰兽, 搭载弓箭手, 卸载):

  • Awrp (Waygate): The portal ability can also be added at runtime to any unit. Then the WaygateSetDestination and WaygateActivate functions can be used to set up the waygate. Pathing blockers can be used to block the waygate for flying units for example. To get rid of the warp effect you can edit the special art field of the Amov (Move) ability.
    Awrp (传送门技能):

    JASS:
    [jass]
    function SetupWaygate takes unit u, unit target returns nothing
      call UnitAddAbility(u, <waygate ability>)
      call UnitAddAbility(u, 'Aivs')
      call UnitAddAbility(u, 'Agho')
      call UnitAddAbility(u, 'Aloc')
      call SetUnitScale(u, 0.01, 0.01, 0.01)
      call WaygateSetDestinationLocBJ(u, PolarProjectionBJ(GetUnitLoc(target), 96, AngleBetweenPoints(GetUnitLoc(u), GetUnitLoc(target))))
      call WaygateActivate(u, true)
    endfunction

    function ConnectRects takes rect left, rect right returns nothing
      local unit lu = CreateUnit(Player(PLAYER_NEUTRAL_PASSIVE), 'ncop', GetRectCenterX(left), GetRectCenterY(left), 0)
      local unit ru = CreateUnit(Player(PLAYER_NEUTRAL_PASSIVE), 'ncop', GetRectCenterX(right), GetRectCenterY(right), 0)
      call SetupWaygate(lu, ru)
      call SetupWaygate(ru, lu)
    endfunction
    [/jass]
  • Unit Classifications(单位分类):
    • Ward: If a unit has ward classification its whole command card will be blacked out and also the shortcuts to its abilities will be disabled. Other than that ward doesn't have any effects. The unit however can still be issued right click orders. If don't want that you can block them with the following code.
      守卫:

      JASS:
      [jass]
      function Catch_Order_Actions takes nothing returns nothing
        if GetIssuedOrderId() == OrderId("smart") then
          call PauseUnit(GetOrderedUnit(), true)
          call IssueImmediateOrder(GetOrderedUnit(), "stop")
          call PauseUnit(GetOrderedUnit(), false)
        endif
      endfunction

      function Catch_Order takes nothing returns nothing
        local trigger t = CreateTrigger()
        call TriggerRegisterUnitEvent(t, gg_unit_hpea_0006, EVENT_UNIT_ISSUED_TARGET_ORDER)
        call TriggerRegisterUnitEvent(t, gg_unit_hpea_0006, EVENT_UNIT_ISSUED_POINT_ORDER)
        call TriggerAddAction(t, function Catch_Order_Actions)
      endfunction
      [/jass]
    • Worker: Worker classification has two basic effects. It displays idle worker icons when the unit has nothing to do and it prevents the unit from acquiring any targets. However if you add the worker classification at runtime, it will only get the second effect and won't show any idle worker icon at all. That's how you can create units that ignore enemies.
      工人:

      JASS:
      [jass]
      call UnitAddType(u, UNIT_TYPE_PEON)
      [/jass]
      If you additionally set the unit field can flee to false it won't even run away when attacked. To create a unit that ignores all enemies except when it is being attacked you can use 'Apiv' (Permanent Invisibility) with the duration set to -1 and auto acquire attack targets to false. Now the unit won't be invisible but still not auto acquire targets.
    • Suicidal/Sapper: Units that have a 'Asds' (Self Destruct) ability and are tagged suicidal will automatically self destruct on enemies with a right click. In many maps you probably don't need that feature so you can abuse this unit classification to tag certain unit types. The classification can then be checked in the allowed targets field of your abilities. This can often save a lot of trigger work.
      自杀的:
    • Targeted As: With the targeted as field of units you can get another bunch of flags that can be excluded from the targets allowed of spells provided you don't need the ground/air/hero classification that units would normally be targeted as.
      Targeted As:


  • Buffs(魔法效果):
    • Adding Buffs: As mentioned above you can easily add buffs to units with custom auras that do not show icons like Aasl (Tornado Slow Aura) ability or custom auras in hidden spellbooks. Just set the effect of the aura to 0 and set the targets to only self.
    • Hiding Buff Icons: Unfortunately getting rid of default buffs is not possible for many spells. Making the buff field of spells empty will usually only add the default buff of the spell. Also setting the icon to black and the tooltip to a space will not completely remove the buff, you still get an empty tooltip window popping up. The only way to sort of get rid of them is using a buff that doesn't stack and that is already on every unit. Then casting the spell on a unit wouldn't add any noticeable buff icon to the command card of the target because it already had that buff. Yes, it's a pretty lame trick but the only way I know.
    • User Interface: Often tooltips and buffs don't show up correctly when a spell is updated to a higher level. In that case any ability can be added and removed to update the user interface. I usually base this ability off of Adis (Dispel Magic).

      JASS:
      [jass]
      function UnitRefreshUI takes unit u returns nothing
        call UnitAddAbility(u, <refresher ability>)
        call UnitRemoveAbility(u, <refresher ability>)
      endfunction
      [/jass]


  • Functions(函数):
    • MakeUnitAbilityPermanent: This function enables you to make abilities stay on units when they use any kind of morphing spells. If you're using chaos for example you should make all abilities permanent that should stay on the unit. For spells that have sub abilities like the spellbook or the effect ability of orbs you also have to make these sub abilities permanent if you don't want to lose them.
    • IssueInstantTargetOrder: The only use of this function is to make units give items from their inventory to other units. The order in this case would be smart, the target widget is the item and the instant target widget is the target unit. The ordered unit will then move towards the target unit and hand the item over.
    • SetUnitX, SetUnitY: These functions are particularly useful for knockback abilities and similar stuff where you want to move units in a loop. They are a lot faster than SetUnitPosition because they omit most of the checks, which ensure that the target location is valid. That way you can create a much more fluid movement. The downside is that you'll have to check yourself if the target location is outside the map bounds because if that's the case the game will crash.

  • Hidden Order Ids(隐藏的命令Id):
    • 851971 (smart): This is a point or object targeted order that is like a right click.
    • 852000 (skillmenu): This is an order with no target that opens the skill menu of heroes. If it is issued for a normal unit with triggers it will black out the command card for this unit, the command card will revert to normal after reselecting the unit.
    • 851994 (buildmenu): This is an order with no target that opens up the build menu of a unit that can build structures.
    • 852002 to 852007 (moveslot): These are item targeted orders that move the target item to a certain inventory slot of the ordered hero. The id 852002 will move it to slot 1, the id 852003 will move it to slot 2 and so on.
    • 852008 to 852013 (useslot): These are orders that will make the ordered hero use the item in a certain inventory slot. If it's an order with no target or object or point targeted depends on the type of item. The id 852008 will use the item in slot 1, the id 852009 will use the item in slot 2 and so on.
    • 851976 (cancel): This is an order with no target that is like a click on a cancel button. We used to be able to catch cancel clicks with this id back then but this id doesn't seem to work any more.




Well I hope this will help the site, so our knowhow won't get lost even if we lose valuable members.


[box]Test[/box]


翻译进度
~~~~~~~~
[2006-4-8] V0.60.0
列出了所有中文技能名,与中文版WE一致


[2006-4-8] V0.50.1
http://bbs.uuu9.com/viewthread.php?tid=258484
修正这几个技能的说明:
Aher (Hero)
Amov (Move)
AImo (Lure)

[ 本帖最后由 zyl910 于 2006-4-8 21:55 编辑 ]
 楼主| 发表于 2006-4-7 21:37:18 | 显示全部楼层
保留。为了以后加增加翻译或其他内容
可恶的字数限制
回复

使用道具 举报

 楼主| 发表于 2006-4-7 21:37:31 | 显示全部楼层
保留。为了以后加增加翻译或其他内容
可恶的字数限制
回复

使用道具 举报

发表于 2006-4-7 21:48:56 | 显示全部楼层
强贴留名
辛苦啦
回复

使用道具 举报

 楼主| 发表于 2006-4-7 21:50:43 | 显示全部楼层
怎么这论坛不支持“[ box ]”标记?

[box]Test[/box]

[ 本帖最后由 zyl910 于 2006-4-7 21:54 编辑 ]
回复

使用道具 举报

发表于 2006-4-7 22:26:36 | 显示全部楼层
好东西
收下了
~~~~~~
回复

使用道具 举报

 楼主| 发表于 2006-4-7 22:29:37 | 显示全部楼层

Red_Wolf老大的处女贴
马上截屏
回复

使用道具 举报

发表于 2006-4-7 23:11:25 | 显示全部楼层
呃。翻译。给我翻译版本。我还没学会英国老鼠。
回复

使用道具 举报

发表于 2006-4-8 09:23:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2006-4-8 10:46:58 | 显示全部楼层
呃。英国老鼠真是个不好的东西啊。
要是所有人都说中文。那该多好啊。
回复

使用道具 举报

发表于 2006-4-8 13:49:18 | 显示全部楼层
好东西
又学到不少东西
期待继续的翻译
回复

使用道具 举报

发表于 2006-4-8 18:10:59 | 显示全部楼层
好样的~~~~~~~~~~~~~~~
回复

使用道具 举报

发表于 2006-4-8 18:34:00 | 显示全部楼层
无奈~~~~~看不懂,~~~~那么多也不敢看
回复

使用道具 举报

发表于 2006-4-8 19:47:49 | 显示全部楼层
快 快翻译......我要学习...
回复

使用道具 举报

发表于 2006-4-9 18:40:29 | 显示全部楼层
真长!!!


看见想睡觉!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 20:01 , Processed in 0.039810 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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