classic (version 1.13) macro intro and personal key bind

  • 注意, 此版本没有 @focus 宏 , 也就是说

/focus target

/target focus

/cleanse focus

/polymorph focus

这些都不能用,  除非装了支持focus 的 addon , not necessary

  • 如何做到只 turn direction , but not follow , 也就是 /follow , 只转向, no additional movement

/是否可以  /follow sone      /stopmacro

  • macro conditional

Conditionals are used to control actions based on information.

Conditionals are enclosed within square brackets ,seperated by a comma if more than one.
The comma can be seen as an “and”   逻辑与 

Conditionals/parameter groups are separated by semicolons.    就是分号

The semicolons can be seen as an “else if”


IF Condition is true : Cast Spell1 ELSE Cast Spell2

When you click this macro , first the [help,@focus] condition is tested and when true (you can cast a helpfull spell on your focus ) Renew is cast.

所有 condition 列表   (for 1.13 )

[combat] : True if you are In combat
[exists] : True if you have a tartget
[dead] : True if Target is dead
[harm] : True if you can cast harmfull spells on the target
[help] : True if your target can receive a beneficial effect
[mod:shift] , [mod:ctrl] , [mod:alt] True if you hold the given key
[stealth] : True if stealthed
[vehicleui] : True if the player has a vehicle UI
[unithasvehicleui] : True if the target of the macro has a vehicle UI
[party] : True if target is in your party
[stealth] : True if stealthed

[stance] Returns TRUE if you are in the given stance or shapeshifting form [stance:#] or [form:#] also works with forms for druids

[equipped] Returns TRUE if the given item is equipped [equipped:item name] Can also use shield, two-hand, one-hand

[actionbar] Returns true if you have that specific action bar shown [actionbar:1] The action bar pages

All targeted conditionals are evaluated on your current target by default. You can change the target of the macro by using a targetting modifier.

[@focus] evaluates conditionals based on your focus target.
[@player] evaluates conditionals based on yourself.
[@mouseover] evaluates conditionals based on the target you mouse is hovering over.
[@cursor] evaluates conditionals based on the position of your mouse cursor.

没有 [party1] 或者 [party2]  …  吗 ?

target Changes the target of your conditional/command to a different unit [target=unittype] or [@target] can also use @target or @name

    • #show 和 #showtooltip 的用途

Notice how i add “#show” or “#showtooltip” at the top of every macro.
#show shows the ability icon instead of the icon you suggested and its cooldown. #showtooltip replaces the icon you selected with the actual ability tooltip (the information text about it etc) and also adds the cooldown.

比如 qiding  yanbao , show yanbao ‘s icon and cooldown

  • switch weapon and shield

Having problems with that weapon enchant proc breaking your control? Or do you simply wish to swap your weapons without having to go to your equipmentmanager or bag?

Well then, all you have to do is add this code to the ability you want to swap weapon on.
Ofcourse you can also just put it on a button without an ability in it.

Main Hand:

/equipslot 16 WEAPON NAME

Off Hand:

/equipslot 17 WEAPON NAME


/equipslot 18 WEAPON NAME


  • 做不到的

Although possebilities seem endless.. there are some actions that can not be done with macros.

Theise include:

Checking for position
Checking the amount of class resources or health you have left
Cooldown of abilities (posseble with scripts, but not with an ordinary macro)
Recognize procs
Checking distance to target (range)

  • focus 和 target的区别, 以及1.13还有没有 focus

a) 以名字定 target

/run TargetByName(“REPLACE THIS TO NPC NAME”, true) CastSpellByName(“Fire Blast”)



  • common skill ‘s new  format :

a) for warlock and mage ,  shadow arrow and fireball , change it to

this mean : shadow arrow ‘s priority is  my focus  > tank’s target  >  my mouse over >  my current target

但是,首先设置 target = tank 是不是有问题 ?


b)  for priest , how to heal base tank ‘s life value ?

还做不到, 因为没有基于 condition 的 trigger

  • How to use items in macro

just shift + click it to past /use itemname into macro

Lets go a step further. You can also bind Item’s in your macros! Crazy huh?

Lets say, you want to use your Agility/Strength/Intellect PvP trinket along with a big cooldown:

/use 13

This will use the item in your upper trinketslot along with the ability you defined. For the lower trinketslot, you use “14”.

It isn’t limited to trinkets though, you can put anything in there as long as there are no restrictions:

1 Head
2 Neck
3 Shoulder
4 Shirt
5 Chest
6 Belt
7 Legs
8 Feet
9 Wrist
10 Gloves
11 Finger 1 (Top)
12 Finger 2 (Bottom)
13 Trinket 1 (Top)
14 Trinket 2 (Bottom)
15 Back
16 Main Hand
17 Off Hand
18 Ranged/Relic
19 Tabard

most useful for : dznlhf

在不失去当前target的情况下, 对team member spell buff

Use a spell on team mates without losing your target

This is really helpful for dispelling/decursing/freedoming etc. a team mate while not losing your target. Replace Boodizz with the player name and Dispell Magic with the spell you wish to use.


/cast [@Boodizz] Dispel Magic;


    • This will fear your target, but if shift is held down, it will fear your focus (can be changed to any modifier e.g. ctrl, alt)


/cast [nomod] Fear;

/cast [mod:shift,@focus] Fear;

    • 连续cast

/castsequence Fel Armor, Demon Armor;

  • Using #showtooltip
    When you create a macro, the standard tooltip will default to whatever you name your macro. For instance, if you set up a macro to cast Greater Heal on a target when I hover over the macro button on my action bar, it will just say ‘Greater Heal macro,’ or whatever you decide to name it. That is unless you use the “#showtooltip” command at the top of your macro commands.

Even though this is a conditional part of your macro, you don’t have to specify the name of the spell after the #showtooltip command. Instead, your tooltip will display the first ability or item you specify in the main body of your macro. That said, if you want it to display a certain spell or item when you hover over the button, you can specify its name after #showtooltip. Here’s an example of using #showtooltip in a basic macro that will cast Greater Heal:

  • How to select team number

/tar party1


key bind  :

for warrior ,   key 1 is attack ,  if press once again , is not attack but keep target ,  use for mage sheep it  (shift+B) .

key 2 in battle stance is  hero strike ,  defend stance also  hero strike ,  it also bind warlock shadow arrow , mage fireball ,   paladin attack , because hero strike can raise high threat

key shift 2 in battle stance is  hero strike ,  defend stance also  hero strike ,  it also bind warlock and  mage  mozhang  (not neccesary )

key 3  in battle stance is silie , defend stance is dunji  , also bind warlock 3 dot

key 4 in battle stance is  yanzhi ,  defend stance fuchou ,  also bind paladin release shenyin,  priest zhengji ,  mage fire rush , warlock life  xishou

key 5  in battle stance is  duanjin,  defend stance pojia   ,also bind warlock and mage mozhang

*****  when defend stance , pojia, hero strike , fuchou , all bind warlock three dot

          when mod near dead ,   use another duanjin ,   it mean duanjin + paladin ‘s zhicaizhichui + mage firerush  ,  use tank ‘s target , if no , use sq ‘s target 

key 6   bind priest heal tank

key 7  bind paladin heal tank

key 8  bind priest shield tank

key 9 bind priest huifu tank

key 0  paladin wudi

For priest ,

Ctrl 1-5 heal party number 1-5

shift 1-5 shield  party number 1-5

alt 1-5   huifu  party number 1-5

key J  mean if leader have help target , shield it , else  jianyin self

key K mean scare mods

key g mean dispell  magic effect

shift + K mean warlock kongju multi target

Ctrl + k  mean warlock scare single mob

for mage ,

sheep macro

key B  mean

B also bind priest heal mage , also bind warlock ‘s  firerain which will cast make mage  as target

shift B mean only binghuan

shift + F mean all follow tank ,

C mean only paladin follow tank

Key F mean paladin : zhicaizhichui


参考文章 :






mage special macro



如何在 centos7 安装使用 sass

  • 首先安装 ruby ,  因为 sass是 ruby 的应用 

sudo yum install ruby 

  • 安装后执行


但是, 添加淘宝源时出错  


google后 换为  


  • 可以有四种方法 安装 sass

You can install and process Sass in a few ways, using:

1. Official Sass which requires Ruby    这种要先安装 ruby , 然后用ruby gem  工具安装

2. Node-Sass which runs on Node.js   ,  用npm 安装 node-sass

3. An Application Tool might include Sass   第三方程序

4 自己下载文件 , 不使用任何package manage 软件


这里选第四种 , 因为gem 已经找不到可用的源,  npm 封装的过于麻烦,最初的目的只是简单的把 scss 文件转换为  css


第一步, 去这个网址

点击  from github 的链接

因为是要装到  centos 7 64bit . 所以下载的  linux-x64

传到linux 机器以后, 解压:

tar xvzf dart-sass-1.22.10-linux-x64.tar.gz

进入解压后的 dart-sass 目录

下一步应该把此目录加到系统路径, 但之前先测试一下能不能转换 scss文件

在此目录新建 demo1.scss , 内容为





接着, 把当前目录加入到系统路径


  • 更多 sass 示例




如何用npm 实现同样的功能


centos 7 , node.js 的local和global安装路径

  • 当执行

, sass到底被安装到了哪里去 ?


在本机, 是


, 如果是local安装, 就在当时的文件夹下 的 node_modules 目录

npm list -g  显示所有全局的

npm list    显示所有当前本地的

learn from


第一个node.js 服务 . centos 7 64 bit

  • 因为 node.js 也相当于一个 http service , 可以理解位简单版的apache ,



  • 永久打开 3000端口, 因为程序里用到


  • 新建 app,js , 放哪里都可以 是centos 的局域网地址

  • 执行此service

node app.js

  • 此时即可从局域网其他机器访问 :

  • 未解决问题:

a) 如何于 apache共存

好像可以在 apache设置代理 , 见


apache 的配置, 日志位置 for centos 7 64 bit

配置 :  /etc/httpd/conf/


这两个是 找 错误日志和 access log ,  本机的结果是  /var/log/httpd

来源 :

如果 access_log 是空的 , 是因为  httpd.conf 的虚拟目录定义没加这句:



在 64位 centos 7 机器上安装 node.js

下载 linux 64位 node.js 安装文件


  • 用 winscp  把下载好的文件上传到 centos
  • 解压

  • 建立软连接 , 大概就是快捷方式的意思


其中 目录部分随实际情况而定  /home/liuyang/devTools/nodeJS/node-v10.16.3-linux-x64


  • 当位于墙内 :

参考文章 :



注: 经测试, 在 centos7 机器上并不需要 这两句

只要 :




修改完重启是 :




  • 无法访问

局域网其他机器 不能


因为在 httpd.conf是这样定义的:





Vue 3.0 个模块功能及介绍

  • es6-promise

对 jquery 的封装

in package.json

in main.js

意为: 包含 node-modules 目录 es6-promise 的  auto.js

  • babel-polyfill

转码器 ,能适应多个 browser

in main.js



c++ 读 配置文件,libconfig

此开源库需要自己下源文件并编译, 作者提供了vs2008 的 sln ,  本机 vs2012试过可编译




配置文件 :


注意如果要 config_setting_lookup_float , 数值即使是整数, 也写成带个小数点和0的形式 。