LUACN论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
热搜: YJWOW MagicStone BoL
查看: 16545|回复: 58

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

[复制链接]
发表于 2016-7-8 21:02:46 | 显示全部楼层 |阅读模式
本帖最后由 cwendian 于 2017-6-16 19:20 编辑

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


我玩1.12服务器  碰到NNNNNNNN+ 的玩家 拿着2.0的 宏来当1.12 的宏用了.    比如
        #showtooltip

  /cast [nochanneling] 精神鞭笞

这些有 #showtooltip 的据我所知 就是2.0后的宏了  大家可以不必在试验了.

下面我们看看如何制作一个1.12的宏 , 1.12的宏  普遍是由 /script    起步 也就是在运行暴雪允许我们运行的脚本功能(插件也是这个道理 其实插件也算是宏命令)

我们想要做宏 首先先要知道 我们到底想要利用这个宏来做什么 ? 想要实现什么功能
先举一个简单的例子.  比如说我的宏:我的战士 盾墙是15秒 我想要过几秒就提醒一下队友 我的盾墙剩余时间 以免盾墙消失时 由于盾墙时伤害太低 盾墙消失后 伤害暴增 治疗来不及加血照成倒T (虽然没人要我这个稳如狗的战士)....
我就要利用1个命令 :  延迟命令  /in   in后边 是延迟时间 单位是秒   那么我们的宏就是
  1. /施放 盾墙
  2. /in 5 /Y 盾墙还有10秒!
  3. /in 10 /Y 盾墙还有5秒!
  4. /in 12 /y 盾墙还有3秒!注意治疗!
复制代码
由上边的说明可知  /in  是延迟命令    也就是  第一行 释放盾墙   第二行 延迟5秒后  会喊  盾墙还有  15-5 = 10 秒   以此类推


在来看看我的另外一个一键拉怪宏
  1. /施放 复仇(等级 5)
  2. /施放 盾牌猛击(等级 4)
  3. /script if(UnitMana("Player")>40) then CastSpellByName("英勇打击");end
  4. /script if(UnitHealth("player")>90) then CastSpellByName("血性狂暴");end
  5. /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  来结束他

暂时先写这些如果以后心情好了 在补充....




评分

参与人数 2伸手费 +150 收起 理由
老血 + 100 很给力!
狗血编剧男 + 50

查看全部评分

回复

使用道具 举报

发表于 2016-7-9 08:04:55 | 显示全部楼层
小鸡仔加油,为1.12的宏的再次挖掘开发打基础!
回复 支持 反对

使用道具 举报

发表于 2016-7-9 18:11:51 | 显示全部楼层
写得不错,期待第二季

点评

写点高端实用的。。  发表于 2017-5-18 09:16 AM
第二季 写什么啊..... 这东西 都是看自己 举一反三的东西  发表于 2016-7-9 10:47 PM
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-7-9 23:11:19 | 显示全部楼层
老血 发表于 2016-7-9 18:11
写得不错,期待第二季

给点提示 第二季 写什么好?    而且我看也没什么人有问题
回复 支持 反对

使用道具 举报

发表于 2016-7-10 15:14:52 | 显示全部楼层
第二季,那就战士的常用宏先来点呗
回复 支持 反对

使用道具 举报

发表于 2016-8-21 10:35:29 | 显示全部楼层
非常给力!很新手教学的宏制作方法,谢谢啦
回复 支持 反对

使用道具 举报

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

点评

是的 是按照百分比来判断的.  发表于 2016-11-4 12:12 AM
回复 支持 反对

使用道具 举报

发表于 2016-12-20 02:54:30 | 显示全部楼层
狗血编剧男 发表于 2016-7-9 08:04
小鸡仔加油,为1.12的宏的再次挖掘开发打基础!

宏可以发在这个版块吗
回复 支持 反对

使用道具 举报

发表于 2016-12-30 05:20:41 | 显示全部楼层
充值不了为了伸手费路过顶一发
回复 支持 反对

使用道具 举报

发表于 2017-1-3 10:56:13 | 显示全部楼层
/run if IsAltKeyDown()then CastSpellByName("寒冰箭(等级 3)")else
CastSpellByName("寒冰箭(等级 1)")end
能帮看看这个宏有什么问题吗?这个宏的用途是平时是寒冰箭3级,按ALT寒冰箭1级。但是现在只能使用寒冰箭1级了!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

小黑屋|手机版|Archiver|LUACN论坛

GMT+8, 2024-3-29 07:40 AM , Processed in 0.079074 second(s), 41 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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