牧师的宏

首先:/script:告诉系统下面这段文字是用宏语言写的,如果玩家想使用函数必须在每行的开始加上这一句;

一  随机说话

/script a="%t,给你个有限无敌圈"; b="%t,把你变上帝";c="%t,给你一个小恢复";d=random(1,3);

/script if d==1 then SendChatMessage(a) else if d==2 then SendChatMessage(b) else if d==3 then SendChatMessage(c) else end;end;end

/施放 xx法术(等级xx)

二   说话宏

/script SendChatMessage("主动给钱或是由我抢劫二选一"," say","通用语"," YELL")

"语言":写上“通用语”“精灵语”“侏儒语”“兽人语”

"频道":必须在参数"频道"中指明频道的编号,省略时为”综合”

我们还可以用以下的参数:
1."GUILD":工会 
2."PARTY":小队  
3."RAID":组团   
4."YELL":大喊

三   生成一个随机数的函数random()

    使用格式:random(起始值,结束值)

    作用:生成一个在起始值和结束值之间的随机数

    随机数:无起始值和结束值时位于[0,1]区间;提供单个参数n时,随机数位于[1,n]区间;提供两个参数起始值和结束值时,随机数位于[起始值,结束值]区间

    例:/script random(50,100)

四  坦克打谁我打谁的宏

/target (主坦克名字) /assist /施放 火球术(等级 10)

五  怪物打谁我加谁的宏

/target (怪物名称) /assist /施放快速治疗(等级7) 

六  牧师的群加宏

举例:小队人生命低与一半时,先用宏命令,再用治疗祷言.小队人员的生命几乎都满了.)

/施放 能量灌注
/script SpellStopCasting()
/施放 心灵专注

七  按等级施放法术的宏

真言术:韧
/script r=6;l={1,12,24,36,48,60};if not UnitIsFriend("player","target")then TargetUnit("player");end;t=UnitLevel("target");for i=r,1,-1 do if (t>=l-10) then CastSpellByName("真言术:韧(等级 "..i..")");break;end;end

神圣之灵
/script r=3;l={40,42,54};if not UnitIsFriend("player","target")then TargetUnit("player");end;t=UnitLevel("target");for i=r,1,-1 do if (t>=l-10) then CastSpellByName("神圣之灵(等级 "..i..")");break;end;end

恢复
/script r=9;l={8,14,20,26,32,38,44,50,56};if not UnitIsFriend("player","target")then TargetUnit("player");end;t=UnitLevel("target");for i=r,1,-1 do if (t>=l-10) then CastSpellByName("恢复(等级 "..i..")");break;end;end

真言术:盾
/script r=10;l={6,12,18,24,30,36,42,48,54,60};if not UnitIsFriend("player","target")then TargetUnit("player");end;t=UnitLevel("target");for i=r,1,-1 do if (t>=l-10) then CastSpellByName("真言术:盾(等级 "..i..")");break;end;end


八  复活的说话宏

/E 翻箱倒柜拿出脂粉、眉笔、口红...边给 %t 化妆,边叹道:“孩子,你活着的时候就没打扮过,现在装殓前我给你好好打扮打扮。” 

/施放 复活术(等级 5)

九  复活的话

我们以牧师为例:选中牧师“复活术”的图标,在名称处填写‘复活’。返回到第一个窗口在输入栏中输入下面的命令:

/me 开始施放复活术
/me 的复活术被%t抵抗
/me 开始变得愤怒了
/me 获得了狂暴效果
/me 施放皮鞭失败:%t对此免疫
/me 施放辣椒水失败:%t爱吃川菜
/me 开始施放色诱术(空格,空格…….)%t 复活了!
/施放 复活术(等级 1)

-------------------------

法师的宏

一   节能施法时自动放奥术飞弹的宏  

/script local q; local t;for i=0,15,1 do t=GetPlayerBuffTexture(i); if (t and string.find(t, "ManaBurn")) then q=1; break; end; end; if(q ~= nil) then CastSpellByName(" 奥术飞弹 ( 等级 7)"); else CastSpellByName(" 灼烧 ( 等级 7)"); end;


二  气定-炎爆

/script SpellStopCasting()     
/施放 气定神闲

/script SpellStopCasting()
/施放 炎爆术 等级(X)

/script SpellStopCasting()这句的意思是停止当前的施法

--------------------------

盗贼的宏

一  盗贼攻击的宏

/script if(UnitName("target") == nil) then TargetNearestEnemy();else if(not UnitCanAttack("player","target")) then AssistUnit("target") end end 

/script if ( GetComboPoints() >= 5 ) then CastSpellByName(" 剔骨 ( 等级 8)") end 

/script GameTooltip:SetInventoryItem("player", GetInventorySlotInfo("MainHandSlot")); if(GameTooltipTextRight3:GetText()==" 匕首 ") then CastSpellByName(" 背刺 ( 等级 8)");else CastSpellByName(" 邪恶攻击 ( 等级 8)") ;end 

功能 : 如果目标身上是 5 灯就剔骨 , 如果主手是匕首就出背刺 , 如果是其他武器 , 就出邪恶攻击  

------------------------------

猎人的宏

一  功能 :( 连续按 ) 收回宠物并令其冬眠 , 自动停止跑动 , 释放装死 , 如果解除战斗状态就释放冰冻陷阱 

/script PetPassiveMode() 
/script PetFollow() 
/script if(UnitAffectingCombat("player")==1) then CastSpellByName(" 假死 ") else if(UnitAffectingCombat("player")==nil) then CastSpellByName(" 冰冻陷阱 ( 等级 2)") MoveForwardStart() end end 
/script if(UnitAffectingCombat("player")==1) then MoveForwardStop() StrafeLeftStop() StrafeRightStop() end 


二  功能 :( 需要连续按数次实现功能 ) 无目标时选择最近的目标 , 目标是队友是选择队友的目标 ; 目标没有印记的时候施放印记 , 有印记的时候施放毒蛇钉刺 ; 当攻击是自动判断是否自动射击 , 没有就自动射击 
/script PetDefensiveMode()
/script if(UnitName("target")==nil) then TargetNearestEnemy() else if(not UnitCanAttack("player","target")) then AssistUnit("target") else if(not IsBuffActive(" 猎人印记 ","target")) then CastSpellByName(" 猎人印记 ( 等级 3)") PetAttack() end end end
/script if(IsBuffActive(" 猎人印记 ","target")) then PetAttack();end
/script if(IsBuffActive(" 猎人印记 ","target")) and (not IsBuffActive(" 毒蝎钉刺 ","target")) then CastSpellByName(" 毒蝎钉刺 ( 等级 3)"); end /script if(not IsAutoRepeatAction(40)) and (IsBuffActive(" 猎人印记 ","target")) then CastSpellByName(" 自动射击 ");end
/施放 召唤宠物

----------------------------
另外附一些宏命令参数的意义
----------------------------

1.法术
1.1 CastSpellByName("spellname(Rank X)")
作用:施放指定名称的法术

1.2 CastSpell(spellID,"spellbookTabNum")
作用:施放参数spellbookTabNum指定的法术书标签中、参数spellID指定位置的法术
参数spellbookTabNum:"spell"或"pet"

1.3 GetSpellCooldown(spellID,spellbookTabNum)
作用:返回指定法术的冷却信息
返回值:返回2个值:冷却开始的时间、冷却周期;若无冷却,均返回0

1.4 SpellIsTargeting()
作用:判断是否有法术正在施放并等待选择目标

1.5 SpellCanTargetUnit("unit")
作用:判断正在等待选择目标的法术能否向参数”unit”指定的单位施放

1.6 SpellTargetUnit("unit")
作用:向参数”unit”指定的单位施放正在等待选择目标的法术

1.7 SpellStopCasting()
作用:停止当前的施法

2.目标选择
2.1 ClearTarget()
作用:清除选定的目标

2.2 TargetUnit("unit")
作用:选定参数”unit”指定的单位为当前目标

2.3 TargetByName("name")
作用:选定指定名字的玩家为当前目标

2.4 TargetLastEnemy()
作用:选定前次曾选定的敌人为当前目标

2.5 TargetLastTarget()
作用:选定前次曾选定的目标为当前目标

2.6.1 TargetNearestFriend()
作用:选定位置最近的友方单位为当前目标

2.6.2 TargetNearestPartyMember() 
作用:选定位置最近的队友为当前目标

2.6.3 TargetNearestRaidMember()
作用:选定位置最近的团友为当前目标

2.7 TargetNearestEnemy()
作用:选定位置最近的敌人为当前目标
参数:TargetNearestEnemy(1):逆序选择

2.8 AssistUnit("unit")
作用:选定参数”unit”指定单位的当前目标为自身的当前目标

2.9 AssistByName("name")
作用:选定指定名字玩家的当前目标为自身的当前目标