LUACN论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
热搜: YJWOW MagicStone BoL
查看: 17970|回复: 27

[教学]wow1.12,自己写的宏教程

[复制链接]
发表于 2017-1-11 10:17:37 | 显示全部楼层 |阅读模式
本帖最后由 cwendian 于 2017-6-16 20:58 编辑

正在排队中..闲来无赖整理一份宏相关的教程, 1.12可用..  ,算是抛砖引玉吧.
先链接一个好贴 一个面向广大新手的简要宏教学 , 可以先看看这个

============================================基础知识========================================  
人物装备位置编号:
0弹药 1头部 2颈部 3肩部 4衬衣 5胸 6腰带 7腿部 8脚 9手腕 10手套 11手指 (上) 12手指(下) 13饰品(上) 14饰品(下)
15背  16主手武器 17副手武器 18远程武器
============================================
动作条里面的技能栏编号:
主动作条1为 1--12
主动作条2为13--24
主动作条3(右1)为25--36
主动作条4(右2)为37--48
主动作条5(右下)为49--60
主动作条6(左下)为61—72
============================================
内置目标类型
target 你的当前的目标,
player 你自己  
pet   你的宠物
============================================
人物姿态编号:
当姿态编号没有给出,则在玩家处于任一姿态都成立,战士永远都处于某个姿态中。如果给了编号,则检测该姿态是否被激活。
每个职业的特定姿态都有不同的编号:
战士:1. 战斗 2. 防御 3. 狂暴
牧师:1. 暗影形态
德鲁伊:1. 熊 2. 水栖 3. 猫 4. 旅行 5. 枭兽/树
盗贼:1. 潜行
圣骑士的光环在宏条件选项系统中不被作为姿态处理。
如果你跳过了某个姿态(例如作为战士却没有做防御姿态的任务),你的姿态编号将会递减,比如狂暴姿态的编号会变成2号。
============================================
1.12的宏 除了非脚本类的语句外, 普遍是由 /script    起步 也就是在运行暴雪允许我们运行的脚本功能(插件也是这个道理 其实插件也算是宏命令)
做宏的规则
A.不能逾越角色能力以外的技能
B.不能做带有BUG性质的宏
C.共CD的技能不能通过宏来实现一键使用
D.宏不能超过255个字符,每个英文字母是一个字符,汉字是两个字符.如果包含汉字且超过了255个字符但没超过255个字,在保存时是不会出现问题的,但是下线以后会丢失宏内容
E.也是最重要的一点.除去技能名之外所有的标点符号和字母都是英文半角的!
F.每行脚本之间一般用";"间隔,
nil  空值
基础命令
  • 非脚本类  (不一一列举了)
     /cast 寒冰箭   施放寒冰箭技能  同/施放      用英文的话宏图标会一直是亮的,用中文明暗时间同寒冰箭技能
     /s xxx 说话
     /y xxx 喊话
     /g xxx 公会说话
2. 脚本类函数
    2.1  if判断
        /scriptif [条件表达式] then [命令序列1] else [命令序列2] end ;
       如果只是判断某个条件 可直接将else 去掉.
       条件表达式中, 等于用==  不等于用not
       如: if not (GetComboPoints()==4 ) then ....  如果连击点数不等于4  那么….
    2.2  for循环
       for i=1,20,1 do [命令序列] end;
       i代表定义一个变量,  1,20,1 代表变量i从1开始  到20停止  每次增加1,即i会从1 2 3….20执行二十次.

    2.3  string.find(src,str)  在src字符串中查找是否有str这个内容
       如: string.find(UnitBuff("player",i),"战斗怒吼") ~= nil)  查找当前角色的第i个buff是否为战斗怒吼
    2.4  strfind(src,"xxxx")  在src字符串中查找是否有xxx这个内容 与string.find相同
    2.5  定义变量
       /script p=PickupInventoryItem;定义一个变量p, 指向PickupInventoryItem函数,在后面使用的时候直接使用p(0,1) 就可以点              取我主背包上第一排左数第一格的物品,主要用于缩减宏的字数,毕竟最多255个字符…

       同时定义多个变量     /script localc,s,t=UnitClass("target"),"毒蛇钉刺",UnitPowerType("target");
       local表示变量只在当前宏使用,可以不加
       表示定义了三个变量 c  s  t , c表示UnitClass函数的引用, s表示"毒蛇钉刺"这个字符, t表示UnitPowerType函数的引用

3.    脚本内置函数(不全)
       猎人宠物相关
       PetAggressive Mode() 宠物进攻模式
       PetDefensiveMode()宠物防御模式
       PetPassiveMode()  宠物被动模式
       PetFollow() 宠物跟随
       PetAttack() 宠物进攻     

       GetInventoryItemLink()是一个取装备link的函数,如GetInventoryItemLink("player", number)是从人物身上取装备的link,              number代表人物装备画面的不同槽, 头部,颈部,依次递增,于是参照最上方的装备代码表, 就可以得出                            GetInventoryItemLink("player",16) 就代表了取当前人物主手武器的link

       PickupContainerItem(0,1)  从背包里取装备,第一个参数0指背包,第2个参数1指背包里的槽位,  这个示例的意思就是点取              我主背包上第一排左数第一格的物品
              这里说明下,背包参数 里是0代表主背囊,然后从右向左,依次是1,2,3,4
              背包里的槽位从上到下,从左往右排序,注意!从1开始。这和一般从0开始的习惯有点不同。
       UseContainerItem(0,1)     使用主背包的第一排左数第一格的物品
       PickupInventoryItem(16)  点击人物装备栏中第16号位置的装备, 即当前的主手武器(参照最上方人物装备代码表)
        CastSpellByName("凿击(等级 3)")   根据名字释放技能 凿击(等级 3), 不加技能等级则默认释放最高等级的技能
       UnitBuff("player",i) 获取用户的第i个 buff
        UnitDebuff("player",i)  获取用户的第i个 debuff
        IsUsableAction(61)  判断动作条的61位置的技能 是否可用
        IsActionInRange(61)  判断动作条的61位置的技能在可释放范围内
        GetActionCooldown(61)  获取动作条的61位置的技能的冷却时间
      
       TargetLastEnemy() 选中最后一个敌人
       TargetNearestEnemy() 选中最近的一个敌人
       ClearTarget() 取消选中目标
       UnitAffectingCombat("player")  判断自己是否在战斗状态
       UnitClass("target")  获取当前角色选中目标的职业
       UnitExists("target")  判断是否有选中目标
       UnitIsEnemy("player","target")判断当前角色选中目标是否是敌对目标  
       UnitIsPlayer("target")判断当前角色选中目标是否是玩家
       UnitInParty("player","target") 判断当前选中目标是否为同一队伍成员
       UnitHealth("player ")  获取你的当前血量  (百分比)
       UnitHealthMax ("player")  获取你的当前最大血量  
       UnitMana("player")  获取你的当前蓝量  (百分比)
       UnitManaMax("player ")  获取你的当前最大蓝量
       SpellStopCasting ()       停止施法
       UnitCanAttack("target","player")  判断当前选中目标是否可攻击
这些命令只是自己整理的,有时间我会整理完再添加上去..
有这些基础 ,就能自己写宏了
比如战士的   致死,旋风,压制,英勇打击
/script C=CastSpellByName;
/script if(GetActionCooldown(63)==0) then C("压制");end
/script if(UnitHealth("target")<20) then C("斩杀");end
/施放 致死打击
/script if(IsActionInRange(63)==1)then C("旋风斩");end
/script if(UnitMana("Player")>39) then C("英勇打击");end
第一行为定义语句
第二行判断压制的CD是否为0,如果CD为0则压制,如果不能压制此行无效
第三行判断是否能处决,能则处决
第四行释放致死打击,(我为什么要用中文?用英文的话宏图标会一直是亮的,用中文明暗时间同致死打击)
第五行,判断敌人的距离,如果在5码内的话用旋风(利大弊大?自己衡量吧)
第六行,怒气大于39放英勇打击(这个自己可以随便定义)
效果,能压制压制,不能压制能处决就处决,都不能就放致死,致死CD中,敌人在攻击范围内就用旋风怒非常多的时候就用英勇打击代替普通攻击。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入我们

x

评分

参与人数 1伸手费 +25 收起 理由
狗血编剧男 + 25 内容有待完善,排版还要努力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-1-11 10:23:58 | 显示全部楼层
自己先顶一个... 别沉了.. 打了好久的字...
回复 支持 反对

使用道具 举报

发表于 2017-1-11 10:24:02 | 显示全部楼层
最好是编辑清晰点,能配图就配点图,不然全是字,没有读下去的欲望
回复 支持 反对

使用道具 举报

发表于 2017-1-11 20:50:08 | 显示全部楼层
哈,支持一下~码字辛苦~~~~~~
回复 支持 反对

使用道具 举报

发表于 2017-1-13 10:38:19 来自手机 | 显示全部楼层
这下可以自己试着写一下宏了
回复 支持 反对

使用道具 举报

发表于 2017-1-13 12:23:05 | 显示全部楼层
看到楼主抛砖引玉,我也说说玩战士的宏,比楼主需要写判断代码的简单,运用自带的从上到下的执行过程,技能本身CD和自带的判断。
以下为我自己用的技能宏,觉得还不错,无楼主那种复杂宏战士朋友可以看看~
宏1
/施放 冲锋(等级 3)
/施放 拦截(等级 3)
/施放 压制(等级 4)
/施放 致死打击(等级 4)
宏2
/施放 复仇(等级 6)
/施放 英勇打击(等级 9)
/施放 盾击(等级 3)
宏3
/施放 压制(等级 4)
/施放 斩杀(等级 5)
/施放 复仇(等级 6)
/施放 盾牌格挡
宏4
/施放 复仇(等级 6)
/施放 压制(等级 4)
/施放 破甲攻击(等级 5)
宏5
/施放 横扫攻击
/施放 旋风斩
/施放 顺劈斩(等级 5)
宏6
/施放 狂暴之怒
/施放 狂暴姿态
宏7
/施放 破胆怒吼
/施放 破釜沉舟

宏8
/施放 盾墙
/施放 反击风暴
/施放 鲁莽

宏9
/施放 嘲讽
/施放 惩戒痛击(等级 5)
/施放 挑战怒吼

宏10:
/施放 雷霆一击(等级 6)
/施放 挫志怒吼(等级 5)

另外:
快捷键F1:战斗姿态(配合一键换装)
快捷键F2:防御姿态(配合一键换装)

说明:
1.这几个宏是我常用的,看情况会做微调,比如英勇和盾击谁优先等等。我目前的天赋为32 5 14,做不了主T,但是做2T不错,能顶能dps。2.宏1~5设置在左下角技能栏(即切换姿态会变的技能栏),其它宏设在其它栏(不受切换姿态影响的技能栏)
3.宏的好处是方便操作,比如说复仇、压制性价比最高,设在其它技能前面可以优先触发,没有宏的话还要观察是否能用才去手动按好麻烦。不同姿态的技能做到一起是为节省宏的数量。
我在某国内O字母开私服兽人小战士^^ID:猛将兄,可用来找我切磋






评分

参与人数 1伸手费 +10 收起 理由
狗血编剧男 + 10 赞一个!

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2017-1-13 20:38:38 | 显示全部楼层

谢谢上传~~~~~~~~~~~~~~~~~
回复 支持 反对

使用道具 举报

发表于 2017-3-6 20:47:50 | 显示全部楼层
马克之!

要学习学校 了.....
回复 支持 反对

使用道具 举报

发表于 2017-5-17 17:21:58 | 显示全部楼层
谢谢楼主分享,下载用用1
回复 支持 反对

使用道具 举报

发表于 2017-5-18 00:29:17 来自手机 | 显示全部楼层
这个不错,支持一下,感谢楼主
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 02:06 PM , Processed in 0.090261 second(s), 33 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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