level 1
第一课 基础 所谓宏就是模拟人的操作。最简单的宏可以只有一条斜杠命令组成。例如你发现一个可爱的巨魔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) 回复最后一个玩家给你的密语。
2005年09月07日 06点09分
1
level 1
PickupInventoryItem( ); end 这里有一个判断 if ( not CursorHasItem()) 这里 CursorHasItem()是个函数,当你鼠标上拿着东西的时候,比如你点了 个包里的红药正准备放到快捷栏还没放的时候,如果你执行这个函数,这个函数会返回True.否则就是False。这里用了个not,那么当你空手的时候就返回True,相反鼠标上拿着东西的时候就是False. 在这里,只有if后面括号里的结果是True的时候,then后面的脚本才会继续执行,否则就执行else后面的 脚本。这个是编程最基本的条件语句。 我们等一下在来讲为什么要加这个判断,先看then后面的。 PickupContainerItem(bag
#,slot#
);PickupInventoryItem(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);PickupInventoryItem(16);else PickupContainerItem (4,1);PickupInventoryItem(16);PickupContainerItem(4,2);PickupInventoryItem(17);end 这个宏可以做到判断你是只有主手有武器还是两只手都有。如果只有主手有(意味着你拿着双手武器),那么就换一刀一盾或一刀一匕首(反正是两只手都拿东西);如果你现在两只手就都拿着东西,它就去卸掉你副手的武器,取另一把武器给你装备到主手。 好,分解一下来看是怎么实现的。 1、PickupInventoryItem(17),这个函数模拟你点人物窗口副手的动作。这个时候,如果你副手有东西,那个东西就会被你取下来,如果没有那你的鼠标上就还是空的。 2、if(CursorHasItem()) 前面已经将过这个函数的作用。接在上面,如果你副手有东西,这个东西就被你取了下来,那么这个函数的结果就是True. 那么就会执行Then后面的命令;相反,如果你副手没东西,这个函数的结果就是False,那么就会执行else后面的命令。 3、then 后面的。PickupContainerItem (4,2); PickupContainerItem(4,1);PickupInventoryItem(16);当你副手有东西的时候,这些会被执行。首先,如果你副手有东西,第1步中,这个东西已经被你卸下来了,那么这时候,PickupContainerItem (4,2);就是模拟你点第5个包包第二格的动作,于是你的被卸下来的副手武器就被你放到第5个包包第二格里了。然后PickupContainerItem(4,1);PickupInventoryItem(16);第三课已经将过,这两句就是把你第五个包第一格的东西装备到你主手。换装完成。 4、else 后面的。PickupContainerItem (4,1);PickupInventoryItem(16);PickupContainerItem(4,2);PickupInventoryItem(17); 如果你副手没有东西,那么这几条命令可以让你把第五个包第一格的东西装备到主手,第五个包第二格的东西装备到副手。换装完成。 大家都明白没?OK,举一反三大家都会了,自己去试吧。我可以告诉大家去哪里查所有的Wow开放的函数 http://www.wowwiki.com/index.php/World_of_Warcraft_API 第五课 脚本之神 开玩笑啦,我能讲脚本之神我就去写插件了。。。这一课是告诉大家,在宏这个领域,是没有止境滴。那么多插件用的就是宏的道理。我这里只是想对那些编程狂人,比如鱼,比如百击说,Wow的宏除了可以用条件语句,还能用循环,还能自定义函数。。。。。有兴趣你们去研究吧,我还是随便找个插件下载好了。另外,Wow没有EQ类似pause的命令,虽然有个/in,但是那个对施法、技能无效。所以你别想着编一个宏来完成一连串的组合技。。。比如先一个变羊、然后一个寒冰、再一个火球,接着一个气定神闲,最后一个冲击波,然后瞬移。做不到滴,BLZ没开放这个。。
2005年09月07日 06点09分
3