乐在网络

 找回密码
 注册
搜索
查看: 185|回复: 1

宏技巧详细说明(转贴)

[复制链接]
发表于 2005-8-25 08:26:36 | 显示全部楼层 |阅读模式

此文章由作者授权给17173独家发布!

第一课 基础 所谓宏就是模拟人的操作。最简单的宏可以只有一条斜杠命令组成。例如你发现一个可爱的巨魔mm,并点 她为目标。如果你有这样一个宏: /say MM好靓啊,跳个小舞吧~~ /dance 那么她就会看到你跟她搭讪,并且跟她跳舞。 玩过EQ的都知道这些怎么用。如果你是新人,那么你最好先去了解一些常用的WOW斜杠命令。下面是一个 列表。大家要注意队长命令和公会命令,这些也很重要,虽然不一定用在宏里面。 常用的宏: 1、协助 (除了主tank以外的人) /P 我正在协助%t! /assist 使用方法:选择你要协助的人(一般为主Tank)为目标,执行宏。 2、通知怪物(Puller) /p %t 来啦,大家抄家伙! 使用方法:选择怪物为目标,执行宏。 3、通知变羊 (Mage) /p 我正在把%t变成羊,谁打它我跟谁急。 /cast 变型术 使用方法:选择你要变的怪物,执行宏。注意:WOW的/cast 命令后面跟的是法术的名字。 其他的大家自己发挥。 /help 列出常用指令帮助 /assist [名字] 协助你当前所选择的目标,或者指定的目标 /cast spell 施放指定的法术,可以包含法术的等级。比如: "/cast Slow Fall", "/cast Polymorph(Rank 2)" /afk [文字] 开启AFK模式显示你要离开一会儿,再输一次/afk关闭AFK模式。 /combatlog 导出你的战斗信息到(wow目录)LogsPlayerCombatLog.txt 文件里。 /dnd [文字] 开启DND模式表示“请勿打扰”,再输一次/dnd关闭DND模式。 /duel [名字] 要求与你锁定的目标决斗,或者要求与指定的目标决斗。 /yield (/forfeit) 在决斗时投降。 /emote 文字 (/em, /me) 表示接下来的文字是动作。 /exit 退出游戏。 /follow (/f) 自动跟随当前目标。 /ignore 名字 忽略目标玩家。 /inspect (/ins) 查看目标玩家的装备。 /logout (/camp) 坐下并且登出。 /macro 打开宏设置界面。 /macrohelp 给出关于设置宏的帮助。 /played 显示你游戏人物的在线时间。 /pvp 在接下来的5分钟内开启PVP模式。 /raid 文字 (/r) 在RAID频道里说话。 /random 数字 [数字2] (/rnd, /rand) 扔出一个从1到某个数字范围内的随机数字,或者是两个数字范围之间的随机数字。 /remfriend 名字 (/removefriend) 把一个好友从你的好友列表里去掉。 /split 数量 把一部分的钱平均分给你的队友。 /target 名字 (/tar) 从当前目标转向你所指定的玩家。 /time 显示当前游戏的服务器时间。 /trade (/tr) 与当前选择的目标交易 /who [文字[ 文字2...]] [数字[-数字2]] [r-"种族"] [c-"职业"] [z-"区域"] [g-"公会"] 如果没有添加任何后缀的话,列出在当前区域与你等级相近的所有在线玩家。文字指定玩家的名字,公会 ,职业,种族或者所在的区域;数字表示指定列出玩家的等级范围。 /bug 提交出错报告。 /suggest 提交建议。 /note 文字 提交一条信息。 /script LUA-command 用于UI设计者。 /console command 用于一些游戏的内部指令,比如"gxrestart", "reloadui" and "quit". /console 设置名 [新设置] 用于调整游戏设置。 队长指令 /invite [名字] (/inv) 邀请目标玩家到你的队伍里。 /uninvite [名字] (/un) 从你的队伍里移除目标玩家。 /ffa 把掠夺方式设置成“自由掠夺”。 /master [名字] 指定目标玩家在“计划分配”的掠夺方式中担当分配者。 /roundrobin 把掠夺方式设置成”轮流掠夺“。 聊天指令 /guild 文字 (/g) 在公会频道内说话。 /party 文字 (/p) 在队伍频道内说话。 /reply 文字 (/r, R) 回复最后一个玩家给你的密语。 /say 文字 (/s) 跟周围的玩家说话。 /yell 文字 (/shout) 喊叫(比/say传的距离要远) /whisper 名字 信息 (/w, /tell) 给目标玩家密语。 聊天频道指令 /chat (/chathelp) 列出聊天指令。 /join 频道 [密码] (/chan, /channel) 加入(或者创建)一个特殊聊天频道。 /leave 频道|# (/chatleave, /chatexit) 离开这个特殊聊天频道,或者离开指定号码的聊天频道。 /# 文字 (/c, /csay) 在聊天频道内说话,#表示所要说话的频道号码。 /announcements 频道|# (/ann) 开启/关闭指定聊天频道的公告。 /ban 频道|# 名字 禁止目标玩家进入指定的频道。 /unban 频道|# 名字 解除目标玩家的禁令。 /chatlist (/chatwho, /chatinfo) 列出所有的聊天频道和他们的号码。 /chatinvite 频道|# 名字 (/cinvite) 邀请目标玩家到一个指令的聊天频道里。 /ckick 频道|# 名字 把目标玩家从指定频道中踢出去。 /moderator 频道|# 名字 (/mod) 把目标玩家设成指定聊天频道的管理员。 /unmoderator 频道|# 名字 (/unmod) 解除目标玩家在指定聊天频道里的管理员身份。 /moderate 频道|# 开启指定聊天频道的管理模式。 /mute 频道|# 名字 (/squelch, /unvoice) 把目标玩家在指定的聊天频道里禁言。 /unmute 频道|# 名字 (/unsquelch, /voice) 解除目标玩家在指定的聊天频道里的禁言。 /password 频道|# [密码] (/pass) 设置,改变或者去除聊天频道的密码。 /owner 频道|# [名字] 显示或者改变所建立的聊天频道名字。 公会指令 /ginfo 给出关于你的公会的基本信息。 /g 文字 (/guild) 在公会频道里说话 /o 文字 对所有公会里的管理员说话。 /ginvite 名字 (/guildinvite) 邀请目标玩家加入到你的公会里。 /gremove 名字 (/guildremove) 从你的公会里移除目标玩家。 /gpromote 名字 (/guildpromote) 提升在你公会里的目标玩家公会等级。 /gdemote 名字 (/guilddemote) 降低在你公会里的目标玩家公会等级。 /gmotd 信息 (/guildmotd) 设置今天的公会公告。 /gquit (/guildquit) 离开你的公会。 /groster (/guildroster) 给出整个公会成员的列表(只限管理员和会长使用)。 /gleader name (/guildleader) 把目标玩家设为会长(只限会长使用)。 /gdisband (/guilddisband) 解散公会(只限会长使用)。 第二课 脚本入门 脚本是WOW的宏比EQ的宏强大的地方。而且也让宏更像宏。WoW的脚本甚至可以加入条件语句。 举例:你没有装插件但你想一次打开所有包包,用脚本吧。 /script OpenAllBags(); 这句话什么意思呢?/script 告诉WOW我要执行副本啦。。OpenAllBags()是一个函数,WOW里,有的函数 可以返回一个数值,比如你某个包有多少个空位。有的则是执行一个动作。比如这里,OpenAllBags()就 是打开所有包包。 举例:你想关闭某个包包 /script CloseBag(0); 大家看到这里函数的括号里有数值了——0。有的函数需要参数,告诉WOW针对什么做操作,有的函数比如上 面开包的操作则没有,这个视函数而不同。这里的0,代表的就是你一开始就有的那个大包,也就是游戏 里5个包中排在最右边的。用这个函数我们可以实现同时关闭所有包。 /script CloseBag(0); /script CloseBag(1); /script CloseBag(2); /script CloseBag(3); /script CloseBag(4); 这样一组5个命令执行完,5个包就都关上了。 第三课 脚本进阶 这一课我要加入条件语句了。前面我在回卡卡的帖子的时候,也讲过了,我就贴过来了。 举例:更换主手武器。 /script if ( not CursorHasItem() ) then PickupContainerItem(, ); PickupInventoryItem( ); end 这里有一个判断 if ( not CursorHasItem()) 这里 CursorHasItem()是个函数,当你鼠标上拿着东西的时候,比如你点了 个包里的红药正准备放到快捷栏还没放的时候,如果你执行这个函数,这个函数会返回True.否则就是 False。这里用了个not,那么当你空手的时候就返回True,相反鼠标上拿着东西的时候就是False. 在这里,只有if后面括号里的结果是True的时候,then后面的脚本才会继续执行,否则就执行else后面的 脚本。这个是编程最基本的条件语句。 我们等一下在来讲为什么要加这个判断,先看then后面的。 PickupContainerItem(bag#,slot# )ickupInventoryItem(equip#);end PickupContainerItem(bag#,slot# )这个函数模拟你拿起第几个包里第几个位子的东西的过程。大家想象 一下吧,你按B打开主背包,点了包里第一个东西。这里其实就有两个动作,一个是开包,一个是拿东西 。开包有另外的函数模拟,我们不讲,拿主包里第一个东西这个动作如果用函数表达,就是 PickupContainerItem(0,1)。大家明白没? PickupInventoryItem(equip#)模拟你把手里的东西放到了一个装备槽。大家再想象一下,你拿了东西以 后,要按C开你的人物窗口,然后把东西放到主武器位置。这里也是两个动作,开人物窗口我们也不讲。 后面的动作用函数表达就是PickupInventoryItem(16)。 好了,我们完整看一遍 /script if ( not CursorHasItem() ) then PickupContainerItem(0,9); PickupInventoryItem(16); end 翻译一下,首先判断你鼠标上有没有东西,如果没有,系统会先拿起你主包里第九个位置的东西,然后装 备到你的主手上。所以如果你要用这个切换武器,请把你要切换的主手武器放到主包第九格上。 第四课 脚本高级 举例:切换双手武器与单手+盾或者双手挥舞武器 /script PickupInventoryItem(17);if(CursorHasItem()) then PickupContainerItem (4,2); PickupContainerItem(4,1)ickupInventoryItem(16);else PickupContainerItem (4,1)ickupInventoryItem(16)ickupContainerItem(4,2)ickupInventoryItem(17);end 这个宏可以做到判断你是只有主手有武器还是两只手都有。如果只有主手有(意味着你拿着双手武器),那么就换一刀一盾或一刀一匕首(反正是两只手都拿东西);如果你现在两只手就都拿着东西,它就去卸掉你副手的武器,取另一把武器给你装备到主手。 好,分解一下来看是怎么实现的。 1、PickupInventoryItem(17),这个函数模拟你点人物窗口副手的动作。这个时候,如果你副手有东西,那个东西就会被你取下来,如果没有那你的鼠标上就还是空的。 2、if(CursorHasItem()) 前面已经将过这个函数的作用。接在上面,如果你副手有东西,这个东西就被你取了下来,那么这个函数的结果就是True. 那么就会执行Then后面的命令;相反,如果你副手没东西,这个函数的结果就是False,那么就会执行else后面的命令。 3、then 后面的。PickupContainerItem (4,2); PickupContainerItem(4,1)ickupInventoryItem(16);当你副手有东西的时候,这些会被执行。首先,如果你副手有东西,第1步中,这个东西已经被你卸下来了,那么这时候,PickupContainerItem (4,2);就是模拟你点第5个包包第二格的动作,于是你的被卸下来的副手武器就被你放到第5个包包第二格里了。然后PickupContainerItem(4,1)ickupInventoryItem(16);第三课已经将过,这两句就是把你第五个包第一格的东西装备到你主手。换装完成。 4、else 后面的。PickupContainerItem (4,1)ickupInventoryItem(16)ickupContainerItem(4,2)ickupInventoryItem(17); 如果你副手没有东西,那么这几条命令可以让你把第五个包第一格的东西装备到主手,第五个包第二格的东西装备到副手。换装完成。 大家都明白没?OK,举一反三大家都会了,自己去试吧。我可以告诉大家去哪里查所有的Wow开放的函数 http://www.wowwiki.com/index.php/World_of_Warcraft_API 第五课 脚本之神 开玩笑啦,我能讲脚本之神我就去写插件了。。。这一课是告诉大家,在宏这个领域,是没有止境滴。那么多插件用的就是宏的道理。我这里只是想对那些编程狂人,比如鱼,比如百击说,Wow的宏除了可以用条件语句,还能用循环,还能自定义函数。。。。。有兴趣你们去研究吧,我还是随便找个插件下载好了。另外,Wow没有EQ类似pause的命令,虽然有个/in,但是那个对施法、技能无效。所以你别想着编一个宏来完成一连串的组合技。。。比如先一个变羊、然后一个寒冰、再一个火球,接着一个气定神闲,最后一个冲击波,然后瞬移。做不到滴,BLZ没开放这个。。

回复

使用道具 举报

发表于 2005-9-21 15:32:01 | 显示全部楼层

好帖 怎么没有人顶 ~~~~~

我顶

[em06]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

© 2001

快速回复 返回顶部 返回列表