魔兽世界: 各职业宏大全和范例

2009-11-10 来源: 进入玩家论坛

核心提示:这是本人收集很久的东西,有计算机语言基础的人应该能轻松的看懂及修改.7区即将开放,想和大家一起玩,请有意思的人加群:26330712. 好,废话不多说了.以下各职业的宏对于其他职业的玩家也会有一定程度上的启发.请大家能耐心的看完. ---------

这是本人收集很久的东西,有计算机语言基础的人应该能轻松的看懂及修改.7区即将开放,想和大家一起玩,请有意思的人加群:26330712.
好,废话不多说了.以下各职业的宏对于其他职业的玩家也会有一定程度上的启发.请大家能耐心的看完.

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


牧师的宏
首先:/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")
作用:选定指定名字玩家的当前目标为自身的当前目标



-----------------
有想要去7区的,请加群:26330712.请大家拿出最大的诚意来分享wow
-----------------


小女子,左岸咖啡馆在此谢过大家

[收藏] [推荐] [报告错误] 上千新游任你选,海量帐号等你拿。 - 我拽游戏网|www.5zhuai.com
责任编辑:我拽-nano

0

0

赞助商链接