标签:
魔兽世界wow宏坐骑 |
分类: 电子游戏 |
2008年3月12日更新
这段时间对宏进行了更深入研究,把以前的宏进行修改得到了更新版本:
#showtooltip [flyable] 飞行坐骑; 地面坐骑
/equipslot [mounted][swimming][nooutdoors] 14 普通饰品; 14 加速饰品
/use [flyable, nomounted] 飞行坐骑; [nomounted] 地面坐骑
/dismount [mounted]
重复一遍这个宏的作用:召唤坐骑前自动换上加速饰品,解散坐骑前换下。根据是否在外域来智能判断是否使用飞行坐骑。
使用时必须将相应物品代号换成自己的物品名字!(比如“地面坐骑”换成“迅捷绿色迅猛龙”)
下面这个宏能实现更酷的功能——随机选择一个坐骑!(你可以根据自己拥有的坐骑数量来列出其名字,并不一定像例子中那样为3个)
#showtooltip [flyable] 飞行坐骑; 地面坐骑
/equipslot [mounted][swimming][nooutdoors] 14 普通饰品; 14 加速饰品
/userandom [flyable, nomounted] 飞行坐骑1, 飞行坐骑2, 飞行坐骑3; [nomounted]
地面坐骑1, 地面坐骑2, 地面坐骑3
/dismount [mounted]
下面这个宏,在外域时默认还是使用地面坐骑,但是,如果按住辅助键(Ctrl,Shift,Alt)的同时按下这个宏,就会召唤飞行坐骑。这个宏适用于拥有普通飞行坐骑但还没有史诗飞行坐骑的玩家。
#showtooltip [flyable] 飞行坐骑; 地面坐骑
/equipslot [mounted][swimming][nooutdoors] 14 普通饰品; 14 加速饰品
/use [flyable, nomounted, mod] 飞行坐骑; [nomounted] 地面坐骑
/dismount [mounted]
下面这个宏,只有不在空中飞行时才会解散坐骑,以防摔死。如果需要在飞行中强行解散,那就在按住辅助键(Ctrl,Shift,Alt)的同时按下这个宏。
#showtooltip [flyable] 飞行坐骑; 地面坐骑
/equipslot [mounted][swimming][nooutdoors] 14 普通饰品; 14 加速饰品
/use [flyable, nomounted] 飞行坐骑; [nomounted] 地面坐骑
/dismount [mounted, mod][mounted, noflying]
这些宏的缺点在于:如果按下宏之后在召唤坐骑过程中被打断,没有召唤成功,仍然会换上加速饰品。这没有什么解决办法,因为宏动作无法延时,不可能在召唤坐骑成功后再换饰品。此外当角色在移动中,或者在某些特殊区域(室外,但不允许坐骑,比如一些副本,以及露天建筑上)使用此宏时,尽管坐骑召唤不成功,但也会换上加速饰品。
使用此宏时要注意:当角色在坐骑上进入不允许坐骑的区域(室内,水域等等)或者使用技能时会自动解散坐骑,这个时候因为没有执行宏的过程,所以加速饰品还在身上。用了这个宏以后,要尽量手动按键解散坐骑,才能保证不在坐骑上时身上没有加速饰品。
一些研究心得:
1、Scripts没有办法更好地完成这个功能。WoW的API函数里对这个宏有用的条件测试与slash commands可用的选项差不多。对于这个宏任务,只用slash commands就足够了。(希望未来加入CanMount()函数)
2、当角色乘坐飞机(注意不是外域的飞行坐骑,是固定的点对点航线)时,[flying]选项并不为真,[mounted]选项却为真!因此以前写的那个宏里面的[flying]是多余的。(现在已经删掉)
关于这个宏有其他问题请务必跟我联系!
2008年1月6日原文(部分内容已修正)
今天仔细研究了一下《魔兽世界》中的宏,觉得还是很有意思的。但可惜对于宏和脚本的中文说明文档实在是太少了,所以我到WoWWiki英文网站学习了一下宏写法。有兴趣的看看:2.0版《魔兽世界》的宏介绍
我想实现一个很简单的功能:上马前自动换上加速饰品,下马前换下。另外希望能够根据是否在外域来智能判断是否上飞行坐骑。看起来不难实现,但是我还希望这个宏具有一定“健壮性”:如果我身上已经有加速饰品了,它不会在上马时给我换下来,最好还能有点“纠错”功能。最后我写出的宏如下:
#showtooltip 绿色迅猛龙之哨
/equipslot [mounted][swimming][indoors] 14 守护之符; 14 棍子上的胡萝卜
/use 绿色迅猛龙之哨
解释一下:
#showtooltip的作用是让宏具有指定物品的图标和文字提示,也就是看起来和坐骑图标一样。
/equipslot是装备命令,14表示身上的2号饰品位置,如果有朋友要把加速饰品放到1号位则可以换成13。方括号内的是条件判断子句,写在一起是“或”的逻辑关系。[mounted][swimming][nooutdoors]表示“在坐骑上或者在游泳或者在室内”。在这些条件下我即使不是要下马,也肯定不在马上,所以我装备上普通的饰品守护之符(没有加速作用的饰品)。后面的分号表示第二个条件子句,当第一个条件不成立时执行。注意第一个条件集中所有条件是“或”的关系,所以它不成立就表示每个子条件都不成立(没有上马,没有游泳,不在室内)。那我们就可以上马了,这种情况下换上加速饰品棍子上的胡萝卜。
/use是使用指令,绿色迅猛龙之哨就是我的坐骑物品名字,这个就不用介绍了。
有人可能会问:战斗中不是也不能上坐骑吗?没错,但是战斗中也不能换饰品。所以我不加[combat]条件,对效果的影响只是多一条提示信息而已。我觉得让错误信息出现比什么都不发生要好。
在可以上马时使用这个宏,我就会换上棍子上的胡萝卜然后上马。如果我身上已经装备了棍子上的胡萝卜,我就会直接上马,装备没变化。在坐骑上面时使用这个宏,我会换上守护之符然后下马。如果我身上已经装备了守护之符,我就会直接下马,装备没变化。当我处于游泳、乘坐飞机或者室内这些不能上马的状态时使用这个宏,如果我身上没有装备守护之符,这个宏会给我装备上,如果已经装备了,就不会产生变化(不会在我不能上坐骑时给我装备上棍子上的胡萝卜)。
由于我还没有飞行坐骑,所以不能试验切换飞行坐骑的宏。但是我可以把它写出来,应该能够正常工作的:
#showtooltip [flyable] 飞行坐骑; 地面坐骑
/equipslot [mounted][swimming][nooutdoors] 14 普通饰品; 14 加速饰品
/use [flyable, nomounted] 飞行坐骑; [nomounted] 地面坐骑
/dismount [mounted]
这个宏能使我在外域时上飞行坐骑,在旧世界上地面坐骑。至于饰品的切换功能则是一样的。注意在使用时飞行坐骑,地面坐骑,普通饰品,加速饰品这些文字都要换成实际物品名称。
欢迎其他朋友来和我讨论关于宏的技巧。