魔兽世界宏编辑器supermacro的使用说明??

2020-05-03 财经 148阅读
SuperMacro功能说明(3.14a)
对你的宏指令有用的、在SuperMacro插件里发现的功能和斜杠命令以字母顺序在这里列出。Alt+点击一个项目把它链接的插入到宏指令中去。
(为更加方便和缩短宏指令,我推荐另一插件,Aliases(作者:a.k.a ASF)。阅读文件结尾寻求更多解释。)
(P.S. 我会接受其他方便操作和斜杠命令的要求。)
-- 目录列表
CancelBuff(buff [,...]), unbuff
cast
caststop(spell [,...])
Channel(spell), /smchan, /smchannel
CraftItem( skill, item, count), /craft, /smcraft
DoOrder(spell | item [,...]), /order, /smorder
echo
/equip, /smequip, /eq, /smeq
/equipoff, /smequipoff, /eqoff, /smeqoff
Fail(message), /fail
FindBuff(buff [ [, unit], item]), buffed
FindItem(item)
/in seconds[+] command, SM_IN(seconds, command, repeat)
Macro
Pass(message), /pass
pickup(bag, slot), pickup(inventory_slot), pickup("item")
/print msg, /smprint, SM_print(msg), echo
PrintColor(r,g,b,msg [,...]), Printc
Printd(msg [,...]), Print
PrintTable(table, rowname, level), Printt
RunBody(longtext)
RunLine(command [,...])
RunMacro(index|macro), Macro, /macro
RunSuperMacro(index|super)
SayRandom(speech [,...]), /sayrandom, /smsayrandom
send
SetActionMacro(actionid, macro)
SetActionSuperMacro(actionid, supername)
/shift form -- for druids, rogues, warriors only
stopcast
/unequip, /smunequip, /uneq, /smuneq
use(bag,slot), use(item), /use, /smuse
UseItemByName(item)
## Alias
--目录列表结束
## CancelBuff(buff [,...]), unbuff, /unbuff, /smunbuff
根据所给的字符串信息取消玩家的Buff
举例: /script CancelBuff("Demon Skin")
举例: /script CancelBuff("demon") -- 取消包含"demon"的Buff,包括"Demon Skin"
举例: /script unbuff("demon") -- 和上一个一样
举例: /unbuff demon -- 和上一个一样
举例: /unbuff mana, frost -- 取消匹配"mana"或"frost"的Buff
举例: /unbuff . -- 取消所有Buff,谨慎使用
举例: /unbuff a -- 谨慎使用,取消所有名字中包含"a"的Buff
## cast
cast 和 CastSpellByName 一样。
举例: cast("Heal")
## caststop(spell [,...])
施放一个法术,然后停止施放。 会按顺序施放多个法术。只能在不会产生公共CD的法术上正确使用。 (作者注:未经测试)
举例: /script caststop("Arcane Power","Presence of Mind","Frostbolt")
和下面命令的产生同样作用
/cast Arcane Power
/script SpellStopCasting();
/cast Presence of Mind
/script SpellStopCasting();
/cast Frostbolt
## Channel(spell), /smchan, /smchannel
安全的引导一个法术,忽略突然的多次按键。
SM_Channel("mind flay")
举例: /smchan mind flay
-- 测试标签
## CraftItem( skill, item, count), /craft, /smcraft
制造物品或者施放魔法(至少一次)。如果 count 留空会做一次。如果 count 是 0 ,会做尽可能多次。如果 count 是负数,则会少做那些次数。
举例: /craft First aid, Heavy Linen Bandage -- 制造一个绷带
举例: /smcraft First aid, Heavy Linen Bandage, 0 -- 制造尽可能多的绷带
举例: CraftItem( "First aid", "Heavy Linen Bandage", -1 ) -- 制造比最多可能的少一个绷带
## DoOrder(...), /order, /smorder
在用“,”隔开的列表中使用第一个可利用的项目或法术,并且忽略名单的其余。Alt+点击一个项目把它链接的插入到宏指令中去。
举例: DoOrder("healing potion", "lesser healing potion", "healing touch")
举例: /order healing potion, lesser healing potion, healing touch
-- 如果找到“healing potion”就会使用它,同时忽略余下列表内的内容。
## echo
参见 /print.
## /equip, /smequip, /eq, /smeq
装备或使用项目。并且与项目链接一起使用。Alt+点击一个项目把它链接的插入到宏指令中去。
举例: /eq hatchet
## /equipoff, /smequipoff, /eqoff, /smeqoff
装备项目到空闲的槽。并且与项目链接一起使用。Alt+点击一个项目把它链接的插入到宏指令中去。
举例: /eqoff shield
## Fail(message), /fail
运行消息或脚本,如果当前行动(法术或项目)运行失败。 成功请参看 Pass。
举例: /script CastSpellByName("Attack") Fail("Can't attack")
举例: /script CastSpellByName("nada") Fail("not a spell")
举例: /script Fail("no action")
举例: /fail /script use('hearthstone')
举例: /cast Heal
/fail /p can't heal
## FindBuff, buffed
看一个单位是否有特定的Buff或Debuff,或武器上的Buff。
用途1:FindBuff(buff [ [, unit], item])
用途2:buffed(buff [ [, unit], item])
buff 是 buff 的名字或者是它名字的一部分 --并不十分敏感
unit 是 API 'unit' 值 (如果是 nil 则为玩家)
item 值是布尔值。如果 item 是 1、空、错误的值,那么会搜索 item buff 以代替它。
举例: buffed("Find Herbs") -- 玩家的 buff; 返回 "track", 0
举例: buffed("herbs") -- 也能工作
举例: FindBuff("rockbiter",nil,1) -- 玩家武器上的 buff; 返回 "main" or "off", 剩余时间, 费用
举例: buffed("rockb") -- 和上个例子一样作用
举例: buffed("gouge", 'target') -- 'target'的buff; 返回 "debuff", id
举例: buffed("perception") -- 返回 "buff", id
## FindItem(item)
在您的包或银行里查找一个项目。如果发现在银行里,返回 槽号, nil, 材质, 数量。如果发现在包里,返回 包, 槽, 材质, 在所有包里的总数。并且与项目链接一起使用。Alt+点击一个项目把它链接的插入到宏指令中去。
举例:local bag,slot,texture,count = FindItem("Lesser Magic Essence");
## /in seconds[+] command, /smin, SM_IN(seconds, command[, repeat])
执行命令在 seconds 秒钟后。在 seconds 后用 + 重复。用 \n 分开多个命令。不能用来施放法术和使用物品。
举例: /in 5 /p NOW
举例: /script SM_IN(5, "/p NOW") -- 和上一个一样,没有重复
举例: /in 1 /script PlaySound( "LOOTWINDOWCOINSOUND")
举例: /smin 600+ /print 10 mins repeating -- 用 + 重复
举例: SM_IN(600, "/print 10 mins repeating", 1) -- 重复,和上一个一样,不用 + ,用第三个参量代替。
举例: /in 1 /t ;me hi\n/t ;me hey -- 用 \n 分开多个命令
举例: /script SM_IN(1,"/t ;me hi\n/t ;me hey") -- 和上一个一样
举例: /in 1m /print 1 min passed -- 1m = 1分钟,1h = 1小时,1s = 1秒
举例: /script SM_IN("1m","/print 1 min passed") -- 和上一个一样,注意在引号中的 1m
举例: /in 1h30m5s+ /print repeat every hour and 30 mins and 5 seconds
## Macro
参见 RunMacro
## Pass(message), /pass
运行消息或脚本,如果当前行动(法术或项目)运行成功。失败请参看 Fail。
举例: /script CastSpellByName("Attack") Pass("Attacking")
举例: /pass /macro Cheer
举例: /cast Heal
/pass /p Healing
## pickup(bag, slot), pickup(inventory_slot), pickup("item")
从银行或包里拿起项目。一个参数为银行提供;两个参数为包提供。参数可能也是包含项目的名字的字符串。在此使用这个功能把项目放入槽中,用来交换项目。 并且与项目链接一起使用。Alt+点击一个项目把它链接的插入到宏指令中去。
项目链接入宏指令。
举例: pickup(16) -- 主手武器
举例: pickup("mainhandslot") -- 也是主手武器
举例: pickup(1,4) -- 包1, 第四个槽
举例: pickup("hearthstone") -- 拿起 hearthstone
举例: pickup("hearthstone") pickup("healing potion") -- 连续使用 pickup 将交换这两个项目
举例: pickup("hearthstone") pickup(4,7) -- 把 hearthstone 放到槽里;交换项目如果槽不是空的
举例: pickup("ring of iron will") pickup("finger0slot") -- 把戒指带在第一个手指槽上
## /print msg, /smprint, SM_print(msg), echo
在聊天窗口中打印只有您才能看见的消息。它与DEFAULT_CHAT_MESSAGE是相同的:AddMessage。缺省颜色是白色的,但您能改变它的选项。
举例: /print test
举例: echo("test")
## PrintColor(r,g,b,...), Printc
在聊天窗口中打印的只有您才能看见消息使用指定的颜色代码,按顺序是红色、绿色、蓝色。 颜色价值在0和1之间。并且接受任何像Printd的参数。
举例: PrintColor(1,0,1, "test") -- 紫色
举例: PrintColor(1,1,0, "msg1", "msg2") -- 黄色
## Printd(...), Print
在聊天窗口中打印只有您才能看见的消息。不同于 /print,这接受任何的参数并且打印其中每一个在单独的行上。并且,颜色总是白色的。如果 Print 由另一插件采取,则不会覆盖它。
举例: Printd("Test")
举例: Print("msg 1", "msg 2") -- 只在另外的插件没有Print语句
## PrintTable(table, row, level), Printt
在聊天窗口中打印只有您才能看见的表格。
举例: PrintTable(SM_VARS)
## RunBody(longtext)
把长字符串当作宏来运行。每一行用 \n 来分割。
举例: RunBody("/cast Attack\n/pass /p Attack!")
举例: /in 5 /script RunBody("/print 5 secs passed\n/macro MyMacro")
## RunLine(...)
像宏指令或聊天消息执行一行。采取多行,每行是“,”分割的另一个参数。用来做包含 if 模块的斜杠命令特别优秀。
举例: RunLine("/p hi")
举例: RunLine("/p hi", "/dance", "/supermacro")
举例: if GetSpellCooldown(1,'spell')==0 then CastSpell(1,'spell') RunLine("/in 5 /print Cooldown finished") end
## RunMacro(index | name), Macro, /macro
按照名字或者index来执行宏。
举例: /macro Attack -- 运行名为 Attack 的宏
举例: RunMacro("Attack") -- 和上一个一样
举例: Macro(1) -- 运行宏框架内的第一个宏
举例: /macro 1 -- 运行名为 1 的宏;注意和上一个的区别
举例: Macro("1") -- 和上一个一样
举例: /macro -- 打开 SuperMacro 框架 (没有参数)
## RunSuperMacro(index | super)
按照名字或者index来执行超级宏。
举例: RunSuperMacro(1);
举例: RunSuperMacro("MySuperMacro");
## SayRandom(...), /sayrandom, /smsayrandom
从列表中说出任意词组,用“,”分割。实际上,您能比传送聊天信息做更多。有一个等同的机会那没什么将发生。
举例: /sayrandom hi, hello -- 说 hi、hello,或什么都不说
举例: /script SayRandom("hi","hello"); -- 和上一个一样
举例: /script SayRandom("/script Print(1)","/script Print(2)"); -- 聊天以外的事
举例: /sayrandom /script Print(1), /script Print(2) -- 和上一个一样
## send
同SendChatMessage一样。参见 RunLine。
举例: send("hi") -- 传送 "hi" 到本地频道
举例: send("hi", "WHISPER", "COMMON", "Aquendyn") -- 传送密语
## SetActionMacro(actionid, macro)
用另一个宏指令设置或替换一个行动按钮。全局变量 lastActionUsed 可以用来得到最后点击的行动按钮的ID。
举例:交换名为 FindHerbs 和名为 FindMinerals 的宏。
宏 FindHerbs 是这样:
/cast Find Herbs
/script SetActionMacro( lastActionUsed, 'FindMinerals' )
宏 FindMinerals 是这样:
/cast Find Minerals
/script SetActionMacro( lastActionUsed, 'FindHerbs' )
扯拽任一个宏指令入一个行动按钮在您的行动栏。每次您执行那次行动,宏指令将交换,与他们适当的像和提示一起。
## SetActionSuperMacro(actionid, supername)
用SuperMacro设置或替换一个行动按钮。全局变量lastActionUsed可以用来得到最后点击的行动按钮的ID。例子参见 SetActionMacro。
举例:SetActionSuperMacro(1,"MySuperMacro");
## /shift form
Form 是形式的数字或名字,潜行,或姿态。
德鲁伊:bear=1, aquatic=2, cat=3, travel=4, moonkin=5 (熊=1,水栖=2,猫=3,旅行=4,枭兽=5)
盗贼:stealth=1 (潜行=1)
战士:battle=1, defend=2, berzerk=3 (战斗姿态=1,防御姿态=2,狂暴姿态=3)
举例: /shift bear
举例: /shift battle
举例: /shift stealth
举例: /shift 1 -- 所有情况都包括,熊、潜行、战斗姿态
## stopcast
stopcast 和 SpellStopCasting 一样
举例: /cast Arcane Power
/script stopcast()
## /unequip, /smunequip, /uneq, /smuneq
解除装备一个项目如果您有空的包空间。Alt+点击一个项目把它链接的插入到宏指令中去。
举例: /uneq shield
## use, /use, /smuse
根据名字或连接使用一个项目,由包和槽,或由银行槽。Alt+点击一个项目把它链接的插入到宏指令中去。
举例: /use hearthstone
举例: /use 4,1
举例: /script use("hearthstone");
举例: /script use(4,1); -- 包 4, 第一个槽
举例: /script use(13); -- 饰品
## UseItemByName(item)
根据名字或连接使用或装备一个项目。Alt+点击一个项目把它链接的插入到宏指令中去。
举例: UseItemByName("hearthstone")
============================================================
## Aliases 用来简化宏命令
Aliases 能彻底地简化你的宏命令。
例如,得到当前法力值,Alias是简单地 ;pm 而不是UnitMana ('player')。 更加重要地,Alias允许从用途的值到聊天框。
代替:
/script SendChatMessage("Buffing you", "WHISPER", "COMMON", UnitName("target"))
用常规聊天消息
;tt Buffing you
有用的默认的 Aliases 包括:
;z for /script
;cn for CastSpellByName
;c for /cast
;m for /macro
;rl for /console reloadui
;pm for player mana
;pmm for player max mana
;ph for player health
;phm for player max health
;p2h for party2 health (and so on for party3, party4, party5)
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com