宏会对玩家自己的HP消耗量进行判断,如HP的消耗小于y则不使用技能,并在聊天窗口中提示:"相关信息",如消耗量大于y小于z,使用then后面的技能,如大于z,则使用else后的技能。
先看UnitHealthMax(x)-UnitHealth(x);这段的UnitHealthMax和UnitHealth可以改成UnitMana等.后面的if (d>n) then if (d<n)是要你自己填
的.then和else后面填上相关技能.AddMessage("提示的信息自己填")
-----------------------按目标等级使用不同级别的魔法-------------------------
下面牧师的一例,对目标使用其所能接受的最高等级的“圣言术:韧”
/script P="Power Word: Fortitude(Rank " S={1,2,14,26,38} if (UnitLevel("target") ~= nil and UnitIsFriend("player","target"))
then for j=5,1,-1 do if (UnitLevel("target") >= S[j]) then CastSpellByName(P..j..")") return end end end
Fortitude应该就是圣言术:韧。Rank " S={1,2,14,26,38}和j=5,1,-1 do有什么关系?
-----------------------具体别的没看懂-----------------------------
/script r=6;l={1,12,24,36,48,60};t=UnitLevel("target");if (t==0) then t=UnitLevel("player");end;if
UnitIsFriend("player","target") then for j=r,1,-1 do if (t>=l[j]-10) then CastSpellByName("Power Word: Fortitude(Rank
"..j..")");break;end;end;end
--------------------------这个同理而且比较易懂-----------------------------
r=6;l={1,12,24,36,48,60}就是说把Fortitude(圣言术:韧)分为6个阶段.t=UnitLevel("target");你选的目标if (t==0) 因为t==0所以就是说
目标无效。then t=UnitLevel("player");自动选择自己做目标。if UnitIsFriend("player","target") 如果选的目标是可以进行的(buff只对
UnitIsFriend有效)then for j=r,1,-1 do if (t>=l[j]-10)这段不好说.应该是个比例吧.现在wow的玩家级数都在60lv内.所以看不懂的不用理
会.如果自己要改此宏估计j=r,1,-1 do if (t>=l[j]-10)这个不用改变.then CastSpellByName("Power Word: Fortitude(Rank
"..j..")");break;end;end;end要改.改一下Fortitude就好。
---------------------以上都是以60级的牧师的实例Fortitude(圣言术:韧)满级-------------------------
/script r=7;l={1,10,20,30,40,50,60};if not UnitIsFriend("player","target")then
TargetUnit("player");end;t=UnitLevel("target");for j=r,1,-1 do if (t>=l[j]-10) then CastSpellByName("Mark of The Wild(Rank
"..j..")");break;end;end
-----------------------以上是以60级德鲁依的一例,使用对方能接受的最高级野性印记--------------------------
-------------------------根据连击点的多寡和能量的多少来决定使用技能种类----------------------------------
下面是德鲁依猫形态(盗贼也是一样)根据连击点的多寡和能量的多少来决定是使用Rip还是Rake。如连击点大于等于3,则使用Rip,如连击点
小于3并且能量有40点以上,则使用Rake。
/script if ( GetComboPoints() >= 3 ) then CastSpellByName("Rip(Rank 2)"); else if (UnitMana("player") >= 40 ) then
CastSpellByName("Rake(Rank 1)"); end end
-----------------------------不多说了同理------------------------------
************************下面看一些关于背包与物品的*******************************
Bag:物品存放背包编号
Slot:物品存放格子编号
-------------------------
背包位子编号是 4 3 2 1 0
背包里物品的位子编号是 1 2 3 4
5 6 7 8
------------------对友好单位或自己使用物品---------------
/script UseContainerItem(x,y)
/script TargetUnit("player")
----------------下面分析------------------------
UseContainerItem(x,y)中的x是背包的编号,y是格子的编号。把它们换成对应物品位置的编号。
将第一行换成/script UseAction(z,x,y),则不需将物品放在背包特定位置,但必须将物品拖入技能栏的特定位置。z表示技能栏的编号。第一
排第一格编号为1,最后一格为12。第二排第一格编号为13,最后一格为24。以此类推。
-----------------------如果想在任何条件下都只对自己使用特定物品--------------------------
/target "player"
/use "物品名称"
------------------------一次使用多个物品---------------------------
/script UseContainerItem(x,y)
/script UseContainerItem(x,y)
-----------------------n次------------------------
前可+/target "player"后可+/script TargetUnit("player").有些物品不+也可.但要自己选择目标.
*********************************武器相关**********************************
MainhandBag:备用主手武器存放背包编号
MainhandBagSlot:备用主手武器存放格子编号
OffhandBag:备用副手武器存放背包编号
OffhandBagSlot:备用副手武器存放格子编号
TwohandsBag:备用双手武器存放背包编号
TwohandsBagSlot:备用双手武器存放格子编号
------------------------对主手武器或双手武器使用使用相关物品-------------------------
/script UseContainerItem (Bag,Slot)
/script PickupInventoryItem (16)
2012年10月16日 03点10分
7
字太多懒得看了!
2012年10月16日 18点10分