|
很多同学大概会有点疑惑,一般来说我们可以设定单位已经使用掉某个Link的次数。但是物品这东西,单位身上可以有多个同类型物品。我们只想修改其中一个的时候怎么办呢?而且如果物品的Charge Link位置为“技能”。我们甚至都找不到可以调整这个Link的使用次数的函数。
其实太简单了。SC2里有一点违背直觉的地方。
当Link的位置为Ability的时候,物品的Charge Link其实并不在持有者身上,而是在物品自己身上。
直接修改物品的charge link即可。而且用的函数是修改单位的Charge Link
当然,由于设置已使用次数的函数很难用(因为它修改的是"已使用次数",也就是初始使用次数和剩余使用次数的差,而且它还无法直接设置,只能在现有的“已使用次数”上加上和减去,所以操作起来很繁琐)。所以这里就给个设置物品使用次数的通用函数。
[trigger]
Item Set Charge
Options: Action
Return Type: (None)
Parameters
Item = No Unit <Unit>
Charge = 0.0 <Real>
Grammar Text: Item Set Charge(Item, Charge)
Hint Text: (None)
Custom Script Code
Local Variables
ItemType = (Value of Units (String((Unit type of Item))) "Item" for player Any Player) <String>
ChargLink = "" <String>
ChargeStart = 0.0 <Real>
NewRemain = (Real((Entered chat string))) <Real>
NewUsed = 0.0 <Real>
Actions
General - If (Conditions) then do (Actions) else do (Actions)
If
(Catalog Items entry ItemType is valid) == true
Then
Variable - Set ChargLink = (Value of Items ItemType "EffectCost.Charge.Link" for player Any Player)
Variable - Set ChargeStart = (Real((Value of Items ItemType "EffectCost.Charge.CountStart" for player Any Player)))
Variable - Set NewUsed = (ChargeStart - NewRemain)
Unit - Clear charges used for charge ChargLink on unit Item
Unit - Add NewUsed charges used for charge ChargLink on unit Item
Else
[/trigger]
注意。无法超过最大使用次数就是了。所以记得一开始就把最大使用次数设得足够大。
用中文版的同学可以直接把演示下载去,反正用中文版编辑器打开,里头的函数就是中文的了。
然后,这个演示的玩法:
选中英雄然后输入数字,英雄身上第一个进包的物品的使用次数就会被设为你设置的数字,可以带小数。不过无法超过物品设定的最大使用次数。
然后,如果你直接选中地面上的物品然后输入数字的话,那这个物品的使用次数就会被设为你输入的次数,无法超过最大使用次数。
简单来说,选中英雄,设置的是第一个进包的物品,选中物品,就是直接设置我物品,这个是为了展示这个设置使用次数的函数不论物品是否在包包里都有效果。
直接在包里设置:
放在地上逐一设置然后拾起来:
|
|