汉化者:Qcat   请尊重汉化者劳动成果.转载请注明出处.否则后果自负!

超级宏.让你突破暴雪默认字符数255的限制!最高达到7000字符!lua高手必备! 这款为3.16最新版本

功能/函数:

在SuperMacro插件中找到的函数和斜杠命令可在您的宏中使用,按字母顺序列出,按住Alt键单击某个物品,可将其项目链接插入宏。

任何斜杠命令都可像宏一样直接使用,任何函数类命令都能通过 /script 命令插入

--具体函数及用法:

## CancelBuff(buff [,...]), unbuff, /unbuff, /smunbuff

用于取消玩家指定的buff

如: /script CancelBuff("恶魔皮肤") 

如: /script CancelBuff("demon") -- 取消所有包含"恶魔"字样的buff 

如:/script unbuff("demon") -- 与上述相同

如:/unbuff demon -- 与上述相同

如:/unbuff mana, frost -- 取消任何带有 mana 或 frost 字样的buff

如:/unbuff . -- 取消所有buff, 小心使用

如:/unbuff a -- 小心, 取消名字中带有'a'的所有buff


## cast 

施放一些法术,类似于 CastSpellByName. 

如: cast("治疗术")


## caststop(spell [,...])

施放一个法术,然后停止。将按顺序施放多个法术。仅适用于不会导致全局冷却GCD的法术。

如:/script caststop("奥术强化","气定神闲","寒冰箭")

这个相当于:

/cast 奥术强化 

/script SpellStopCasting(); 

/cast 气定神闲

/script SpellStopCasting(); 

/cast 寒冰箭


## Channel(spell), /smchan, /smchannel

安全地引导一个引导法术,你可以无脑按引导法术而不必担心多按了后取消引导

如: SM_Channel("精神鞭笞") 

如: /smchan 精神鞭笞


## CraftItem( skill, item, count), /craft, /smcraft

创建物品或者附魔(至少一次),如果遗漏了count(nil)就只会做一次。如果count为零,那么将使所有可用。如果count是负数,那么会留下那么多。

如: /craft 急救, 厚亚麻绷带 -- 做一个绷带 

如: /smcraft 急救, 厚亚麻绷带, 0 -- 做所有可制作的绷带 

如: CraftItem( "急救", "厚亚麻绷带", -1 ) -- 做所有绷带,会剩下一个的材料


## DoOrder(...), /order, /smorder

使用逗号分隔的列表中的第一个可用物品或施法法术,并忽略列表的其余部分,按住Alt键单击物品以将物品链接插入宏。

如: DoOrder("治疗药水", "次级治疗药水", "治疗之触") 

如: /order 治疗药水, 次级治疗药水, 治疗之触

-- 如果发现治疗药水, 将使用他, 并忽略列表的其余部分


## echo

详见 /print.


## /equip, /smequip, /eq, /smeq

装备或者使用一个物品,也适用于物品链接,按住Alt键单击物品以将物品链接插入宏

如: /eq 短柄斧


## /equipoff, /smequipoff, /eqoff, /smeqoff

将物品装备到副手槽,也适用于物品链接,按住Alt键单击物品以将物品链接插入宏

如: /eqoff 盾


## Fail(message), /fail

如果当前动作失败(物品或法术),就运行消息(message)或脚本(script) 

如: /script CastSpellByName("攻击") Fail("无法攻击") 

如: /script CastSpellByName("nada") Fail("nada不是一个法术") 

如: /script Fail("无动作") 

如: /fail /script use('炉石')

如:  /cast 治疗术 

         /fail /大喊 无法治疗术


## FindBuff, buffed

看一个单位是否有特定的buff或debuff或武器buff

用法 1: FindBuff(buff [ [, unit], item])

用法 2: buffed(buff [ [, unit], item])

buff是buff的名字,或其名字的一部分

unit是API '单位'值 (如果留空或nil的话,就是'player',也就是自己)

item是布尔逻辑运算,如果item不是nil也不是false也不是nil的话,将会所搜物品,而不是buff

如: buffed("寻找草药") -- 自己的buff;  returns为“track”,0

如: buffed("草药") -- 也有效

如: FindBuff("石化",nil,1) -- 玩家的武器buff; returns为 "main" 或 "off", 剩下的时间,或次数  

如: buffed("石") -- 与上述相同

如: buffed("凿击", 'target') -- 目标的buff; returns为 "debuff", id 

如: buffed("感知") -- returns为 "buff", id


## FindItem(item)

在你的背包或库存中寻找一个物品,如果发在在库存里,returns为slot,texture, count。如果发现在背包里,returns为bag, slot, texture, 所有背包总数。也可以物品链接。ALT点击在链接插入到item宏中。

如: local bag,slot,texture,count = FindItem("次级魔法精华");


## /in seconds[+] command, /smin, SM_IN(seconds, command[, repeat])

秒内执行命令,在秒之后使用"+"重复。用"\n"分隔多个命令。这个宏不适用施放法术和使用物品。

如: /in 5 /队伍 NOW 

如: /script SM_IN(5, "/p NOW") -- 与第一次相同,没有重复

如: /in 1 /script PlaySound( "LOOTWINDOWCOINSOUND") 

如: /smin 600+ /print 10分钟重复 -- 使用+重复

如: SM_IN(600, "/print 10分钟重复", 1) -- 重复, 与上面相同,但没有+,而是包括第三方参数

如: /in 1 /t ;me hi\n/t ;我嘿 -- 由\n分隔的多个命令

如: /script SM_IN(1,"/t ;我海\n/t ;我嘿") -- 与上述相同

如: /in 1m /print 1分钟过去了 -- 1m = 1分钟, 1h = 1小时, 1s = 1秒 

如: /script SM_IN("1m","/print 1分钟过去了") -- 同上, 1m在注释里 

如: /in 1h30m5s+ /print 1小时30分钟5秒重复


## Macro

详见RunMacro.


## Pass(message), /pass

如果当前动作成功(物品或法术),就运行消息(message)或脚本(script),请参见## Fail

如: /script CastSpellByName("攻击") Pass("攻击中") 

如: /pass /macro Cheer

如:/cast 治疗术

        /pass /p 治疗术施放!


## pickup(bag, slot), pickup(inventory_slot), pickup("item")

从库存或背包中提取物品,库存有一种arguments,背包有2种arguments,argument可以是包含项目名称的字符串,再次调用此函数会将项目放入该插槽,这可能会交换物品。按住Alt键单击物品以将物品链接插入宏。

如: pickup(16) --主手武器

如: pickup("mainhandslot") -- 也是主手武器

如: pickup(1,4) -- 背包 1, 第4个槽 

如: pickup("炉石") -- 拿起炉石 

如: pickup("炉石") pickup("治疗药水") -- 连续的按击将交换这些物品

如: pickup("炉石") pickup(4,7) -- 把炉石放到那个槽里; 如果槽里有东西,就变成交换

如: pickup("钢铁意志之戒") pickup("finger0slot") -- 把戒指放在第一个手指槽上


## /print msg, /smprint, SM_print(msg), echo

将消息打印到只有您可以看到的聊天框中,它与DEFAULT_CHAT_MESSAGE:AddMessage相同,默认颜色为白色,但您可以在选项中更改它。

如: /print 测试

如: echo("测试")


## PrintColor(r,g,b,...), Printc

将消息打印到聊天中,只有您可以使用指定的颜色代码查看,按红色,绿色和蓝色排列,颜色值介于0和1之间。还接受任意数量的参数,如Printd

如: PrintColor(1,0,1, "测试") -- 紫色 

如: PrintColor(1,1,0, "消息1", "消息2") -- 黄色


## Printd(...), Print

将消息打印到只有您可以看到的聊天框中,类似/print,这会接受任意数量的参数并将每个参数打印到不同的行上。 此外,颜色总是白色。 如果打印由另一个插件执行,则不会覆盖它。

如: Printd("测试") 

如: Print("消息 1", "消息 2") -- 除非另一个插件没有打印


## PrintTable(table, row, level), Printt

将表格打印到聊天中仅供您查看

如: PrintTable(SM_VARS)


## RunBody(longtext)

像宏一样执行长文本,每行由\n分隔

如:RunBody("/cast 攻击\n/pass /p 攻击!") 

如:/in 5 /script RunBody("/print 5秒过了\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 冷却完了") end


## RunMacro(index | name), Macro, /macro

按名称或索引执行宏。

如: /macro 攻击 -- 运行名字为“攻击”的宏 

如: RunMacro("攻击") -- 同上

如: Macro(1) -- 在宏框架中运行第一个宏

如: /macro 1 -- 将运行名为1的宏; 注意与上一个例子的区别

如: Macro("1") -- 与上一个例子相同

如: /macro -- 打开SuperMacro框架(没有参数传递)


## RunSuperMacro(index | super)

按名称或索引执行SuperMacro(按Super Tab中SuperMacro框架中显示的顺序)

如: 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 寻找草药

/script SetActionMacro( lastActionUsed, 'FindMinerals' )

宏 FindMinerals 看起来像这样:

/script SetActionMacro( lastActionUsed, 'FindHerbs' )

将任一宏拖动到动作栏上,每次执行该操作时,宏都将交换,以及相应的图标和工具提示。



## SetActionSuperMacro(actionid, supername)

使用SuperMacro设置或替换操作按钮,全局变量lastActionUsed可用于获取按下或单击的最后一个操作按钮的ID。 有关示例,请参见SetActionMacro。

如:SetActionSuperMacro(1,"MySuperMacro");


## /shift form

form是姿态或形态的名字或数字

小德: 熊=1, 水栖=2, 猫=3, 旅行=4, 枭兽=5

盗贼: 潜行=1

战士: 战斗=1, 防御=2, 狂暴=3

如: /shift 熊 

如: /shift 战斗

如: /shift 潜行

如: /shift 1 -- 所有四个命令都是等效的, 他们中的任何一个都会转变为战士的战斗姿态, 盗贼的潜行, 小德的熊形态。


## stopcast

stopcast 类似 SpellStopCasting

如:  /cast 奥术强化

         /script stopcast()


## /unequip, /smunequip, /uneq, /smuneq

如果您有空的背包空间,就取消装备物品,按住Alt键单击物品以将物品链接插入宏。

如: /uneq 盾


## use, /use, /smuse

按名称或链接,或按背包和插槽或库存槽使用物品,按住Alt键单击物品以将物品链接插入宏。

如: /use 炉石

如: /use 4,1 

如: /script use("炉石"); 

如: /script use(4,1); -- 背包4,第一个槽

如: /script use(13); -- 饰品


## UseItemByName(item)

根据名称或物品链接使用或装备物品,按住Alt键单击物品以将物品链接插入宏。

如: UseItemByName("炉石")






QQ图片20170626153151.pngQQ图片20170626153412.png

命令:/SuperMacro


链接:https://pan.baidu.com/s/1bqlCoJt 密码:etp6