相信很多人都知道WOW中的斜杠"/"和表情命令.宏可以将这些命令按照自己对条件的设置串联起来,比如:/Kneel是让你跪下来的动作而/say就是最基础的对话动作
我们现在用一个宏把他们串起来:
第一行内容:“/Kneel”
第二行内容:“/say 如果你不嫁给我,那么我就一辈子不起来…” ”
这样你的人物就会先下跪再说:"如果你不嫁给我,那么我就一辈子不起来…"
宏可以应用所有WOW中已经定义了的斜杠"/"和表情命令,更要命的是,宏甚至可以应用人物的魔法和技能,
只需要在宏的定义过程中应用"/cast"命令,下面是已知的一些常用命令:
/Assist 这是个援助进攻的命令。当你的队伍同时面对几个敌人时,只要点击自己的队友(一般是队伍中的战士),然后使用这个命令,你的目标就会变成战士所选中的目标。大家集中火力消灭一个起!
/Cast 这是个使用技能的命令。当你在宏命令里输入/Cast 技能名(技能等级)或者只要按住Shift同时用鼠标点击一下你想要输入的技能的图标。例如当你是一个战士,想制作一个使用战斗怒吼的宏时,你可以输入/Cast Battle Shout(Rank 1)或者是直接按住Shift点击Battle Shout这个技能的图标。当然你可以在一个宏的不同行上输入几个技能,那么当你使用这个宏时,几个技能就会一起释放出来,再用不着你像章鱼一样同时按下几个键了 。
%t 这个符号也许会经常出现在你的宏命令里,它是一个代码,代表你当前所选中的人名。例如,你在宏里写下这么一句。(注意:后面要加一空格。) “/g %t ,今天天气真好,有没兴趣和我一起上山采蘑菇…”
如果你点中一位名叫苯笨的玩家,那么当你按下这个宏时,你就会说:“笨笨,今天天气真好,有没兴趣和我一起上山采蘑菇…”
/Target 这是一个自动选择目标的命令,你可以在宏里输入/Target (xxx),那么当你按下这个宏时,你将自动选定这个叫xxx的目标。
/in 这是一个延时命令,时间以秒为单位.同时它不支持攻击指令.格式:/in 3 dance 三秒后跳舞,如/in 3 dance,就是在3秒后跳舞,
/say start!
/in 3 say 3s later
/in 6 say 6s later
二:进阶教程
一些有用的 Macro
1。允许你在窗口和全屏状态之间切换
/script SetCVar("gxWindow", 1 - GetCVar("gxWindow"))
/console gxRestart
2。对于法师,必须要有的:将“X”换为你目前的变形术等级(下同);用它替换掉变形术技能。当你在队伍之外时使用它会得到“你不在队伍中。”的信息,但在队伍中的时候其它同伴会了解到你将释放的变形术目标。
/p Sheeping >>>%t<<<
/cast Polymorph (Rank X)
3。作为一个术士,这是在队伍中使用的宏:首先将目标转为拖怪手或者坦克正在攻击的目标,然后命令宠物向前攻击,跟着一个虚弱诅咒。
/assist 队伍中的拖怪手或者坦克的名字
/script PetAttack()
/cast Curse of Weakness (Rank X)
4。从背包和袋子里切换身上的武器
/script if ( not CursorHasItem() ) then PickupContainerItem(, )
PickupInventoryItem( )end
bag# - 使用哪一个袋子的物品(0、1、2、3、4。0是背包)
slot# - 袋子里的位置(从0至左上)
equip# - 16 是主要武器, 17 是副武器
5。这个宏治疗队伍里你指定的人,如果你不在队伍中它会治疗你自己。然后会自动将目标切换回你最后一个敌人。它同时还会使用队聊提醒队友你会治疗哪一个人。
/script if (UnitName("target") ~=nil and UnitIsFriend("player","target")) then
CastSpellByName("Heal(Rank X)") SendChatMessage("Incoming Heal to %T", "Party") else
TargetUnit("player") CastSpellByName("Heal(Rank X)") TargetLastEnemy()end
6。加速任务显示速度
/script QUEST_DEscriptION_GRADIENT_CPS = 600000
/script RegisterForSave("QUEST_DEscriptION_GRADIENT_CPS")
/script DEFAULT_CHAT_FRAME:AddMessage("quest text will scroll faster now")
7。消除等待接受任务的时间
/script AcceptQuest()
8。这个宏可以在路上自动护送玩家做任务。
/assist [player name]
/cast 法术(Rank X)
/target [player name]
/follow [player name]
9。切换主副武器,详情看第四条
/script PickupInventoryItem(16)PickupInventoryItem(17)
10。在没有目标或者目标是敌人的时候给自己加增益魔法或治疗。
CastSpellByName("Spell Name(Rank X)")
if ((SpellIsTargeting()) and (not UnitIsFriend("player","target")))
then
SpellTargetUnit("player")
end
TargetLastEnemy()
11。切换双手武器与单手+盾或者双手挥舞武器
/script PickupInventoryItem(17)if(CursorHasItem()) then PickupContainerItem
(4,2)PickupContainerItem(4,1)PickupInventoryItem(16)else PickupContainerItem
(4,1)PickupInventoryItem(16)PickupContainerItem(4,2)PickupInventoryItem(17)end
12。设定“真实鼠标视野”
/script CameraOrSelectOrMoveStart(arg1)
想取消就再次输入。
13。切换近程技能栏和远程技能栏
/script CURRENT_ACTIONBAR_PAGE = 2
/script ChangeActionBarPage()
/cast aspectofmonkey (just use the left click)
/script CURRENT_ACTIONBAR_PAGE = 1
/script ChangeActionBarPage()
/cast aspectofhawk (just use the left click)
14。牧师对队友的一键加血,比如一号键给第一队友加血,二号键给第二队友加血,免除了还要鼠标确
定目标的 *** 作。依次类推,从第一个人到最后一个
给队友1加血:
/script TargetUnit(GetPartyMember(1))
CastSpellByName(Heal(Rank X)) TargetLastEnemy()
给队友2加血:
/script TargetUnit(GetPartyMember(2)) CastSpellByName(Heal(Rank X)) TargetLastEnemy()
给队友3加血:
/script TargetUnit(GetPartyMember(3)) CastSpellByName(Heal(Rank X)) TargetLastEnemy()
15。一键解决喂养宠物:这个宏会从最左边的袋子里的第一个位置拿出食物喂养宠物,如果所在的位置
没有食物,它会自动打开袋子。
/script if (not PlayerFrame.inCombat) then if (not GetContainerItemLink(4, 1)) then
OpenBag(4)else CastSpellByName("Feed Pet")PickupContainerItem(4, 1)end end
16。术士宏
1)如果目标生命大于20,释放抽取生命法术,否则使用灵魂抽取。
/script if (UnitHealth("target")>20) then CastSpellByName("Drain Life(Rank X)") else
CastSpellByName("Drain Soul(Rank 2)") end
2)虚弱诅咒版本
/script if (UnitMana("target")>0) then CastSpellByName("Curse of Tongues(Rank X)") else
CastSpellByName("Curse of Weakness(Rank X)") end
17.先治疗自己,然后自动选中上次的敌人
/target Pugar //选择自己,假设自己的名字是Pugar
/cast Lesser Heal (Rank 1) //施展次级治疗rank1
/script TargetLastEnemy()//重新选择刚刚选择的敌人
/script AttackTarget()//攻击,等同于右键点击敌人
18.对于一个术士很有用的宏:首先将目标转为拖怪手或者坦克正在攻击的目标,然后命令宠物向前攻击
,跟着一个虚弱诅咒。
/assist 队伍中的拖怪手或者坦克的名字
/script PetAttack()
/cast Curse of Weakness (Rank X)
19.等治疗完之后提醒别人注意下自己有可能被怪打,不加延时的话,就没这个效果了。
/p healing %T, need 3s, don"t run away
/cast heal (rank 1)
/in 4 p cured %T 300HP,please notice the enemies turn on me^_^
20.在路上自动护送朋友做任务。
/assist [player name]
/cast 法术(Rank X)
/target [player name]
/follow [player name]
三:高级教程
WOW的宏函数库可以去这两个地方查:
] http://www.cosmosui.org/texts/BlizzardCommands.xml
] http://www.wowwiki.com/index.php/World_of_Warcraft_API
函数的使用比较简单,学习过编程的都比较容易上手,基本的用法是在函数前加/script 来使用。比如
/script CURRENT_ACTIONBAR_PAGE = X
/script ChangeActionBarPage()
就是将你的快捷栏翻到第X页。
函数库中有许多函数都是非常有用和方便的,比如一次打开所有包包:
/script OpenAllBags()
配合关闭包包的函数,一次关闭所有包的宏也可以实现:
/script CloseBag(0)
/script CloseBag(1)
/script CloseBag(2)
/script CloseBag(3)
/script CloseBag(4)
怎么样,下次你卖东西的时候不会一个个开包关包了吧?
使用函数还不是最恐怖的,恐怖的是WOW的宏是可以用条件判断的,看下面这两个:
/script if ( GetComboPoints() >= 3 ) then CastSpellByName("Rip(Rank 2)")else if (
UnitMana("player") >= 40 ) then CastSpellByName("Rake(Rank 1)")end end
据说这个包含if,then的宏可以让盗贼实现自动根据combo点数来使用技能(未测试),其中还使用了角
色MANA值的调用,恐怖吧?还有这个查找spell的宏:
function GetSpellIdByItsName(myWantedSpell, myWantedRank)
local spellId = 1
local spellBook = "spell"
local spellName, rankName
spellName, rankName = GetSpellName(spellId, spellBook)
while (spellName ) do
if ( ( spellName == myWantedSpell ) and ( ( not myWantedRank ) or ( rankName = myWantedRank
) ) ) then return spellIdend
spellName, rankName = GetSpellName(spellId, spellBook)
end
return -1
end
里面可以自己定义function,还使用了while,do这样的循环,是不是让你想到了N种应用的可能呢?
遗憾的是,目前官方似乎没有提供延时的宏,所以在战斗中使用多种有延时的技能是无法实现的(无延时的技能可以实现同时使用),类似换其他武器-使用技能或法术-换回武器这样的功能也无法实现,
(所谓用宏实现剑盾战士换双手武器MS再换回来是行不通的),不过使用COSMOS的朋友可以用/in 来实现非战斗指令的延时,比如
/in 3 say hi 就会在3秒后说句hi。
/in 6 /script MoveForwardStart(arg1)
就会在6秒后向前跑。
虽然法术和技能无法用/in指令来延时,但这样已经很强大了,比如,你可以编出各种运动的宏,如兜后,转身等。PVP时估计是必不可少的。
下面是一个玩家写的双手武器战士自动逃跑的宏:
/script UseContainerItem(0, 2)ActionButtonDown(11)ActionButtonUp(11)ActionButtonDown
(12)ActionButtonUp(12)
/cast Thunder Clap(Rank 1)
/script TurnLeftStart(arg1)
/in 1 /script TurnLeftStop(arg1)ToggleAutoRun()
使用这个宏的条件:在大包包第二格放了回复药,快捷栏第11,12分别是一单手一盾的快捷方式。
使用这个宏后,角色自动喝回复药,装备上盾,使用Thunder Clap(这三个动作同时进行),向后转180度后开自动跑步键逃走。其中技能等可以根据需要自己改。怎么样,是不是很夸张啊,哈哈。
还有一些有用的宏:
切换装备,
双手切换单手并换第二个快捷栏,快捷栏第11,12分别是一单手一盾的快捷方式
/script ActionButtonDown(11)ActionButtonUp(11)ActionButtonDown(12)ActionButtonUp(12)
/script CURRENT_ACTIONBAR_PAGE = 2
/script ChangeActionBarPage()
单手切换双手并换回第一快捷栏,快捷栏12是一双手武器快捷方式
/script ActionButtonDown(12)ActionButtonUp(12)
/script CURRENT_ACTIONBAR_PAGE = 1
/script ChangeActionBarPage()
下面是另一篇
作者:重返荣誉
来源:17173
宏只是一种辅助的手段,希望通过下面的讲解让大家能轻松编辑属于自己的宏。
先来看宏的结构:
/script
if (UnitHealthMax(target)>80)
then
CastSpellByName(''火球术(等级4)'')
SendChatMessage(''对 %T 使用火球术'', ''EMOTE'')
else
CastSpellByName(''奥术飞d(等级2)'')
SendChatMessage(''对 %T 使用奥术飞d'', ''EMOTE'')
这是一个没有延时功能的宏,带延时功能的宏将在稍后说明,
第一句/script 申明函数开始,这句是必须的,整个宏的中文意思是
如果你选定的目标的生命值大于80,就执行4级火球术,并告知周围的人你对目标使用了这个动作,
%t就是代表目标,否则就执行2级飞d,告知周围的人你对目标使用了这个动作。
值得注意的是比如SendChatMessage(''对 %T 使用火球术'', ''EMOTE'') 中的EMOTE 如果你换成party就
只是队内可见。
此例使用到的函数:
UnitHealthMax(target) 返回目标生命值
同样此例如不要判断就直接是
/script
CastSpellByName(''火球术(等级4)'')
SendChatMessage(''对 %T 使用火球术'', ''EMOTE'')
注意本文注重介绍思路!
下面是一些常用的宏
MoveBackwardStart 向后移动,用时写成 MoveBackwardStart() 注意每句后面的号并不是必须的,主要是习惯。
MoveBackwardStop 停止后退
StrafeLeftStart 向左移动
StrafeLeftStop 停止左移
StrafeRightStart 向右移动
StrafeRightStop 停止右移
ToggleAutoRun 向正面跑
TurnLeftStart 向左转
TurnLeftStop 停止左转
TurnRightStart 向右转
TurnRightStop 停止右转
jump() 跳
塑料花一年四季都开有好几种比如:四季桂四季花
纸花绢花
塑料花
校花
月月红
塑料花.
是塑料花
心花,假花
玩具花
心花怒放
苞米花
眼花
泪花
生命之花
心花。
《行为设计学:打造峰值体验》作者是奇普·希思(Chip Heath)斯坦福大学商学院组织行为学教授。丹·希思(Dan Heath)杜克大学社会企业发展中心高级研究员,前哈佛商学院研究员,Thinkwell(思睿)新媒体教育公司创办人之一。
精 华 解 读:
以下内容为《行为设计学:打造峰值体验》一书精华解读,如下:
目 录
一、对平淡无奇说“不!”
二、欣喜时刻
三、认知时刻
四、荣耀时刻
五、连接时刻
听完本书的最大感想是:如果非要挑出一句“本书最想要告诉大家的一句话”,我想应该是这句:请留心每个时刻所包含的可能性。你可以赞扬一位同事的工作方法(认可他人),可以在晚餐时问问孩子们,最近遇到了什么失败(突破认知),也可以约你的朋友下班后一起看电影(打破脚本)。
是的,我们有能力创造欣喜,激起认知,引发荣耀,鼓励连接。这些超越寻常的时刻,才是让生活意义非凡的点睛之笔。而这种让世界更美好的时刻,等待你我来创造。
书中的一个让我印象最深的一件事是:打破脚本。书中讲了这样一个让人感动的事例:一个小男孩度假归来的第一个晚上迟迟不肯上床睡觉,因为他把自己心爱的长颈鹿玩偶乔西落在度假时入住的丽思卡尔顿酒店了。为了哄孩子,父母只能说谎:“乔西去度假啦,它现在还不想回家。”
那天夜里晚些时候,丽思卡尔顿的工作人员打来电话。他们告诉小男孩的父母,乔西已经找到了,父母松了一口气,还把自己骗儿子的谎言告诉了酒店工作人员。
没想到几天之后,乔西与满满的一叠照片一起回了家:都是他在酒店各个角落“度假”的美照。比如在水疗馆里敷着黄瓜片面膜,与酒店的鹦鹉打成一片,甚至还有一张乔西盯着监控录像的照片!
夫妻二人为此心花怒放,儿子更是欢呼雀跃。他们把自己的这次经历写成了一篇博文,被人们疯狂转发,津津乐道。
丽思卡尔顿的工作人员花了几个小时跑来跑去拍照片的这件事,打破了脚本,让人有了“意料之外,情理之中”的奇妙体验。这不仅会让人对酒店品牌印象深刻,更重大的意义是,他们让这个世界变得更加美好了。
听书还有一个最大的收获:就是自己学英语多年,到了出国,怎么不会说英语呢?不会交流。今天听完书,知道自己怎么做了。在现实生活中,我们要多设里程碑。前面曾经提到过,人们对于里程碑式的时刻天生就有一种渴望,因为里程碑就代表着荣耀。我们先拿跑步来举个例子。如果你是一个不爱跑步的人,怎样才能让你爱上这个对健康十分有益的运动呢?一个叫克拉克的年轻人发现,在跑完5千米后,人们会适应跑步的感觉,并且会产生类似于上瘾的快感。5千米不就是一个里程碑吗?它把这个创意应用到了计步软件C25K(里程碑后来变成了25千米)中。这让克拉克拥有了几十万的用户和数不清的感谢信。
书中还讲了一个学外语的例子。假如你是一个忙碌的职场人,怎样才能学会西班牙语呢?你可能会说,每天抽空看一看,然后在未来某一天学会?实施起来你就懂了,基本没戏!为什么会这样?我们不妨先看看一个科学有效的办法:
第一级:用西班牙语点一次餐。
第二级:和一个西班牙的出租车司机沟通一次。
第三级:略读一份西班牙语报纸,至少看懂一个标题。
第四级:看懂一集西班牙语动画片的大致剧情。
第五级:阅读一本幼儿园水平的西班牙语书。
终极目标:能和一个西班牙人进行一次完整的日常交流。
与“抽空看看”相比,这个方法可靠在哪里呢?因为在达到终极目标的过程中,你为自己设置了一个又一个明确的关卡,这些关卡就如同一个又一个的里程碑。当你升级过关之后,“荣耀时刻”带来的喜悦与满足,自然会推动你往下一个里程碑攀登,最终让你实现目标。我想从今天开始学英语就这样,多设里程牌,学习一个一个生活场景,一个一个攻克,这样学英语就不难了,自己还有成就感。
听了本书,收获很大。每天都在听书,每天进步一点点,听书成了我生活中的一部分。感恩遇见樊登读书会。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)