电动男朋友 发表于 2016-7-8 21:02:46

[教学]一个面向广大新手的简要宏教学

本帖最后由 cwendian 于 2017-6-16 19:20 编辑

首先 你最好有一个 超级宏插件    也就是SuperMacro   论坛就有.搜索一下就行


我玩1.12服务器碰到NNNNNNNN+ 的玩家 拿着2.0的 宏来当1.12 的宏用了.    比如       #showtooltip  /cast 精神鞭笞 这些有 #showtooltip 的据我所知 就是2.0后的宏了大家可以不必在试验了.下面我们看看如何制作一个1.12的宏 , 1.12的宏普遍是由 /script    起步 也就是在运行暴雪允许我们运行的脚本功能(插件也是这个道理 其实插件也算是宏命令)我们想要做宏 首先先要知道 我们到底想要利用这个宏来做什么 ? 想要实现什么功能 先举一个简单的例子.比如说我的宏:我的战士 盾墙是15秒 我想要过几秒就提醒一下队友 我的盾墙剩余时间 以免盾墙消失时 由于盾墙时伤害太低 盾墙消失后 伤害暴增 治疗来不及加血照成倒T (虽然没人要我这个稳如狗的战士).... 我就要利用1个命令 :延迟命令/in   in后边 是延迟时间 单位是秒   那么我们的宏就是/施放 盾墙
/in 5 /Y 盾墙还有10秒!
/in 10 /Y 盾墙还有5秒!
/in 12 /y 盾墙还有3秒!注意治疗!由上边的说明可知/in是延迟命令    也就是第一行 释放盾墙   第二行 延迟5秒后会喊盾墙还有15-5 = 10 秒   以此类推

在来看看我的另外一个一键拉怪宏/施放 复仇(等级 5)
/施放 盾牌猛击(等级 4)
/script if(UnitMana("Player")>40) then CastSpellByName("英勇打击");end
/script if(UnitHealth("player")>90) then CastSpellByName("血性狂暴");end
/script if(UnitMana("Player")>30) then CastSpellByName("盾牌格挡");end让我们来看看他到底表达了什么1.2我就不说了    直接看 3.4.5 /script if(UnitMana("Player")>40) then CastSpellByName("英勇打击");end    这里的if就是如果的意思   if后边跟着条件 then 后边跟着结果 ( if饿了then 吃饭 )    UnitMana(蓝量 因为我是战士 所以代表的是怒气)后边括号里 的 player 代表玩家也就是自己,CastSpellByName   cast 是释放   组合起来 意思就是CastSpellByName   释放某技能格式是CastSpellByName("XXXX") 如果不加等级的话默认释放最高等级的法术所以这条的意思就是 如果 我的怒气 大于40就放英勇打击 .同上 第4条 的意思就是   如果自己的生命大于 90%就释放血性狂暴这里的 UnitHealth代表 判断生命    第5条 就不说了.宏就是 利用暴雪给出的 开放API接口 来实现各种判断 使用 以及 释放技能 的能力.所以这就是 我为什么 到处求1.12的 API了.... 最后一点一段宏写完之后后边 一定要加上 分号 也就是;   如果里边有条件最后还要加上end来结束他
暂时先写这些如果以后心情好了 在补充....



狗血编剧男 发表于 2016-7-9 08:04:55

小鸡仔加油,为1.12的宏的再次挖掘开发打基础!

老血 发表于 2016-7-9 18:11:51

写得不错,期待第二季

电动男朋友 发表于 2016-7-9 23:11:19

老血 发表于 2016-7-9 18:11
写得不错,期待第二季

给点提示 第二季 写什么好?    而且我看也没什么人有问题

苹果鱼 发表于 2016-7-10 15:14:52

第二季,那就战士的常用宏先来点呗

金丝小枣 发表于 2016-8-21 10:35:29

非常给力!很新手教学的宏制作方法,谢谢啦

Neurotome 发表于 2016-11-3 20:42:24

楼主写的非常好,我有个问题,比如一键拉怪,第四行里的90为什么不是90%,是系统默认宏命令是按百分比计算的吗?如果是法师,法力值5000点,少了1300点我就吃法力红宝石,>3700是无用的,必须是3700/5000=74%,写>74,是这个意思吗?
也就是最终 写为 /script if(UnitMana("player")>74) then uesbyname("法力红宝石");end

sjb11211 发表于 2016-12-20 02:54:30

狗血编剧男 发表于 2016-7-9 08:04
小鸡仔加油,为1.12的宏的再次挖掘开发打基础!

宏可以发在这个版块吗

qianyeyIng 发表于 2016-12-30 05:20:41

充值不了为了伸手费路过顶一发

馒头KK 发表于 2017-1-3 10:56:13

/run if IsAltKeyDown()then CastSpellByName("寒冰箭(等级 3)")else
CastSpellByName("寒冰箭(等级 1)")end
能帮看看这个宏有什么问题吗?这个宏的用途是平时是寒冰箭3级,按ALT寒冰箭1级。但是现在只能使用寒冰箭1级了!

页: [1] 2 3 4 5 6
查看完整版本: [教学]一个面向广大新手的简要宏教学