< 魔兽世界百科 >
您尚未注册/登录
搜索帮助
搜索提示已开启 输入搜索关键词时将自动出现其他玩家的同类搜索词 开启搜索提示 搜索关键词时仍按普通搜索提交框方式输入 什么是智能搜索提示
职业技能 (1199)专业技能 (423)
武器 (2209)防具 (15620)药品 (0)任务道具 (1677)材料 (0)其它 (10399)
商人NPC (981)任务NPC (952)怪物 (7220)其他NPC (10639)
1-10级11-20级21-30级31-40级41-50级50级以上
全部地图 (10091)
WOW动态 (267)WOW学院 (778)职业研究 (27159)副本心得 (1319)天赋交流 (559)任务攻略 (1885)专业技能心得 (740)战场PVP (803)宏与插件交流 (222)
游戏百科 > 魔兽世界 > WOW手册 > 宏与插件交流 > 盗贼 > 百科资料
资源苗 基于游戏百科共建计划 - 了解 | 加入
在魔兽世界中已有97,734项百科条目,如果你有任何可以分享的请
最后为盗贼设计的一套宏
好东西!投票支持(8)
匿名投票,确认投票给dailytoy
资料版本 1.0,更新时间:2005年8月19日 来源地址

作者:kurapica

下面显示的是一整套宏,意思就是,所有宏的使用都是相关的,不是单独使用的。在我的前几套里面,使用技能时,会因为切换武器而多做一次按键。本来没有意思想做的,后来被Deric问到了,仔细的思考后就有了下面的语句。下面的宏里,我使用了Cosmos提供的延迟语句来作判断,尽量避免了两次按键的问题(看过我的宏和类似宏的人估计都知道这个问题).

MACRO 19 "潜行" Ability_Ambush.blp
/施放 潜行(等级 3)
/script if(isnot("匕首")) then change(0,1) end

END
MACRO 24 "背刺" Ability_BackStab.blp
/script start()
/script if(is("匕首")) then CastSpellByName("背刺(等级 6)") else change(0,1) end
/in 0.5 /script if(finish() and mode==1) then change(0,1) end

END
MACRO 26 "邪恶攻击" Spell_Shadow_RitualOfSacrifice.blp
/script if(isnot("匕首")) then CastSpellByName("邪恶攻击(等级 6)") else change(0,1) end
END
MACRO 29 "消失" Ability_Vanish.blp
/施放 消失(等级 2)
/script if(isnot("匕首")) then change(0,1) end

END
MACRO 46 "模式" Spell_Shadow_EnslaveDemon.blp
/script if mode == 1 then mode = 2 DEFAULT_CHAT_FRAME:AddMessage("进入队伍模式,背刺结束不再切换武器.") else mode = 1 DEFAULT_CHAT_FRAME:AddMessage("进入单人模式,背刺结束切换武器.") end
END
MACRO 47 "凿击" Ability_Gouge.blp
/script start()
/施放 凿击(等级 3)
/in 0.5 /script if(finish() and isnot("匕首")) then change(0,1) end

END
MACRO 48 "伏击" Ability_Rogue_Ambush.blp
/script start()
/施放 伏击(等级 4)
/in 0.5 /script if(finish() and mode==1) then change(0,1) end

END
MACRO 44 "初始" Spell_Shadow_ScourgeBuild.blp
/script function isTwoH() GameTooltip:SetInventoryItem("player", GetInventorySlotInfo("MainHandSlot")) GameTooltip:Hide() if(GameTooltipTextLeft3:GetText()=="双手" or GameTooltipTextLeft4:GetText()=="双手") then return true else return false end end;
/script function isDag() GameTooltip:SetInventoryItem("player", GetInventorySlotInfo("MainHandSlot")) GameTooltip:Hide() if(GameTooltipTextRight3:GetText()=="匕首" or GameTooltipTextRight4:GetText()=="匕首") then return true else return false end end;
/script function is(loc) if(loc=="双手") then return isTwoH() else return isDag() end end;
/script function isnot(loc) return (is(loc)==false) end;

/script function lefttoright() PickupInventoryItem(16) PickupInventoryItem(17) end;
/script function change(bag,slot) PickupContainerItem(bag, slot) PickupInventoryItem(16) end;

/script mode=1;
/script function start() point=GetComboPoints() end;
/script function finish() if(GetComboPoints()~=point) then return true else return false end end;

END

补充一个宏 肾击
/script start()
/施放 肾击(等级 2)
/in 0.5 /script if(finish() and isnot("匕首")) then change(0,1) end


===================================================================================

I.     首先说一下这套宏的插件需求。 这套宏使用了/in这样的延迟语句,所以必须要有Cosmos插件的支持,Cosmos的中文化版本有一个叫魔兽小强http://www.365wave.com/wow,不过魔兽小强集成功能很多,昨天进去报错了,因为插件使用内存超过40M,这个最好先关掉一些不用的插件,或者把内存份额调高。:P        

我的初始宏有978字节,这是我用了SuperMacro写成的,如果没有的请按照颜色区分把它分成几个宏,调用时请按顺序调用(初始宏是刚运行游戏时运行的,直接运行就可以了,不需要其他操作)。不过建议安装SuperMacro,很不错可以上http://www.wowui.cn下载。

魔兽小强有点不好,他有个自动整理的功能,会把不属于他的插件删除(用来保证插件不冲突),这样SuperMacro在更新时会被删掉,备份也好,关掉自动整理(过一段时间最好整理一次)也好,这个自己处理了。

===================================================================================

II.     宏的使用:这套宏只要在游戏运行开始时,使用了初始宏后,就可以正常运行了。请将对应技能名字的宏替换掉动作栏的技能就可以了。我还提供了一个名字叫做"模式"的宏,用来切换作战模式,决定在背刺成功后,是否把武器切换回来,自带说明提示,为什么这样设置的原因在后面说到。

    这套宏我使用了三件武器,一把副手保持不变,一把主手,一把放在第一个包的第一格里面,上面的change(0,1)就是表示取包中武器到主手。     如果你只是想左右手互换的话把所有的change(0,1)全部改成lefttoright()

    另外,记得把技能等级改成自己对应的,原本想在初始宏里写个自动取得技能等级的语句,不过已经太长了。考虑到也就每两级换几个,也就无所谓了。

    还是以前说的话,记的直接copy的话,会由于自动添加的每行末尾的回车,造成宏出错,记得修改一下。

===================================================================================

III.   设计思路(有兴趣地看吧):最初我设计宏(刚接触宏)时,就是想凿击后切换到匕首,背刺,伏击完了后切换回剑锤,潜行时切换到匕首而已。后来的实验,一碰到技能miss,就只能看着它错误切换。因为找不到判断技能使用成功并同时反馈的办法,所以放弃了这条路。

  我改用了比较合理而且简单的另外一套http://bbs.ngacn.com/read.php?tid=205170(这套我还是很喜欢,因为它没有任何插件的需求,维护修改也很方便,比我现在这套看起来漂亮多了)。然后碰到Deric的问题,仔细考虑下,由于最近在尝试/in的用法,所以想到在技能使用后0.5秒的时间后判断技能是否使用成功,然后就可以依次来做武器切换了。

  判断技能成功的依据我这里用考察连击点的变化来判断,如果增加或者减少了,说明技能必然使用成功。当然,如果你5星了,还要用邪恶攻击,背刺之类,那么我也没办法。如果你升了持续攻击,那么可能1星终结又得到一星,不过终结技里,我只修改了肾击,你也没办法一直用肾击把。这样来说,基本上用连击点变化判断技能使用成功与否是没有什么问题的。

  重点在于背刺结束后是否切换的问题,平时solo时,背刺结束正常是要切换回去的。但是组队或者一些情况下,比如战士抗怪,你只要背后戳就行了,那么不需要换回来,这种情况很多,我没办法一一纳入宏的判断中,所以加了一个"模式"的宏,用来决定这些问题。这个自己用一下,就知道意思了。
===================================================================================

IV.   初始宏的说明

MACRO 44 "初始" Spell_Shadow_ScourgeBuild.blp
/script function isTwoH() GameTooltip:SetInventoryItem("player", GetInventorySlotInfo("MainHandSlot")) GameTooltip:Hide() if(GameTooltipTextLeft3:GetText()=="双手" or GameTooltipTextLeft4:GetText()=="双手") then return true else return false end end;

这里定义了一个函数isTwoH(),用来判断主手是不是双手武器,也就是说,盗贼就不要管了,这个是我为了练战士准备的。

/script function isDag() GameTooltip:SetInventoryItem("player", GetInventorySlotInfo("MainHandSlot")) GameTooltip:Hide() if(GameTooltipTextRight3:GetText()=="匕首" or GameTooltipTextRight4:GetText()=="匕首") then return true else return false end end;


这个定义了一个函数isDag(),判断主手武器是不是匕首,如果是,返回true,不是返回false

/script function is(loc) if(loc=="双手") then return isTwoH() else return isDag() end end;

这个函数is(loc)是上面两个函数的封装,参数是loc,如果loc是"双手",那么做双手武器判断,如果不是,则判断主手是不是匕首(这里,loc随便取,只要不是"双手",我使用"匕首"传入,意思明显点),如果是返回true,不是返回false

/script function isnot(loc) return (is(loc)==false) end;

这个就是is(loc)的反函数了,传入"匕首",那么如果是匕首,返回false,否则返回true

/script function lefttoright() PickupInventoryItem(16) PickupInventoryItem(17) end;

这个函数没有返回值,它唯一作的就是左右手武器交换。

/script function change(bag,slot) PickupContainerItem(bag, slot) PickupInventoryItem(16) end;

这个函数也没有返回值,它就是上面我用到的,从第bag个包中取第slot个格的武器换到主手。例如
change(0,1),取第一格包中第一格武器装上。

/script mode=1;

这个不是函数,只是定义全局变量mode,也就是战斗模式区分。不用管了。

/script function start() point=GetComboPoints() end;

这个宏就是用来记录技能使用前的连击点数的。

/script function finish() if(GetComboPoints()~=point) then return true else return false end end;

这个宏用来判断当前连击点与前面纪录的有没有变化,有返回true,否则返回false
END

===================================================================================

V. 模式宏的说明

/script if mode == 1 then mode = 2 DEFAULT_CHAT_FRAME:AddMessage("进入队伍模式,背刺结束不再切换武器.") else mode = 1 DEFAULT_CHAT_FRAME:AddMessage("进入单人模式,背刺结束切换武器.") end

这个实际上没什么好说的,初始宏后,模式mode为1,那么按一下这个宏,mode变成2,同时给出提示"进入队伍模式,背刺结束不再切换武器",再按一次,mode变回1,给出提示。恩,很简单把。

这个宏在于你要自己准确判断使用哪种模式作战。

===================================================================================

VI.   技能宏

MACRO 19 "潜行"
/施放 潜行(等级 3)
/script if(isnot("匕首")) then change(0,1) end

END

潜行宏,第一句使用潜行技能,第二句判断isnot("匕首"),还记得这句的说明把,第二句翻译成中文就是,如果不是匕首,那么change(0,1),即切换武器成匕首,记得匕首放好位置。


MACRO 24 "背刺"
/script start()
/script if(is("匕首")) then CastSpellByName("背刺(等级 6)") else change(0,1) end
/in 0.5 /script if(finish() and mode==1) then change(0,1) end

END

是的,这个宏是一个重点,
第一句, let’s start,是的,我调用了start()方法,宏时并发执行的,所以,第一句执行时,我们就已经记录了现在的连击点。

第二句,如果是匕首那么使用背刺,否则交换武器,看,我还保留着以前的语句,所以使用习惯那些宏的人不用担心自己的习惯被打破,这里只是更方便而以。

第三句,/in 0.5等待0.5S,很好理解,不是吗。finish()函数使我们得到连击点变更情况,如果是true,那么技能使用成功了,如果这个时候我在SOLO,我会开了模式mode==1,那么我将切换掉现在的武器,锤子比匕首更有压迫感,不是吗。


MACRO 26 "邪恶攻击"
/script if(isnot("匕首")) then CastSpellByName("邪恶攻击(等级 6)") else change(0,1) end
END

好的,这也是一个重要的宏,不过更重要的是邪恶攻击后,我们什么也不需要做。翻译成中文:
如果主手不是匕首,那么我就SS。噢,我拿着匕首,这样砍起来多不爽,那么我就先换掉好了。


MACRO 29 "消失"
/施放 消失(等级 2)
/script if(isnot("匕首")) then change(0,1) end

END

这个没有说的必要,消失不就是强化的潜行,一切照做就ok了。


MACRO 47 "凿击"
/script start()
/施放 凿击(等级 3)
/in 0.5 /script if(finish() and isnot("匕首")) then change(0,1) end

END

恩,背刺前的准备活动,start() /in 0.5这些没必要解释了吧。最后那句if就是如果凿击成功,而且主手不是匕首,那么让我们交换把


MACRO 48 "伏击"
/script start()
/施放 伏击(等级 4)
/in 0.5 /script if(finish() and mode==1) then change(0,1) end

END

so,潜行的加强背刺,照搬背刺的就ok了。


MACRO 49 "肾击"
/script start()
/施放 肾击(等级 2)
/in 0.5 /script if(finish() and isnot("匕首")) then change(0,1) end

END

本来没有想过要加它,肾击后的操作很多,如果不喜欢肾击后背刺的人,那么请无视掉它。只是有时觉得看到没有反抗的人,不给他下狠的,真是对不起自己。

上面的技能使用宏都是取背包物品的。如果只想左右手互换的话,请把所有的change(0,1)换成lefttoright()
===================================================================================


算是结束了吧。如果你使用不成功的话,请把邮箱地址发给我,短消息也好,这里回帖也好,不过记得先准备好环境。


暂时没有补充内容 您可以第一个补充内容


引用百科资源:多种方式引用本页 | 浏览引用了本页的网站/网页(653)
关闭
百科引用链使您能方便地在其他网页插入本资源的引用链接,让优秀的百科资源通过引用链对更多玩家造成帮助。
越多的玩家通过您的引用链访问百科将为您带来更多的百科威望!

引用本页地址(点击复制到粘贴板) 粘贴到你想引用的网页。
HTML形式的传播:

论坛形式的传播:

关闭
本页有下列读者,字体越大、颜色越深的玩家阅读本页的次数越多。
*如果您的玩家名称未刊载于此,因为只有百科成员才能记录阅读体验。
在魔兽世界中已有97,734项百科条目,如果你有任何可以分享的请

本页由 dailytoy 创建,希望能用你我的开放思维帮助下得到不断完善。
共有 0 条评论 浏览全部评论
匿名发表,您可以马上注册/登录成为百科玩家后用属于自己个性名称发表。

《最后为盗贼设计的一套宏》的任何感想和见解请发于此。

热门资料推荐
请和我们一起建造全球最大的人工游戏百科
在本目录提交一笔资料 - 我们的计划 - 成为目录编辑
搜游的搜索内容将在 游戏百科共建计划 的基础上不断完善与加强。
当前目录下还没有目录编辑负责管理。
 

想把自己的网站也加上搜索功能?来这里获得免费的魔兽世界搜索条

搜游大全 - 免责声明 - 投放广告 - 商务合作

© 2005 - 2007 搜友游戏百科 SOUYO.com