分类目录归档:小技巧

焦点宏详解教程

以焦点为中心的焦点宏

#showtooltip
/施放 [target, mod:alt][@focus, exists, harm] 窒息; 窒息

上述宏执行逻辑:

  • 有目标,无焦点:对目标施放
  • 有目标,有焦点:对焦点施放
  • 有目标,有焦点,并按下 alt:对目标施放
  • 无目标,有焦点:对焦点施放

以当前目标为中心的焦点宏

#showtooltip
/施放 [@focus, exists, harm, mod:alt][target] 窒息

上述宏执行逻辑:

  • 有目标,无焦点:对目标施放
  • 有目标,有焦点:对目标施放
  • 有目标,有焦点,并按下 alt:对焦点施放
  • 无目标,有焦点:不执行动作

个人的偏好是第一种,以焦点为中心的焦点宏,也就是默认的按键行为在有焦点的时候都施放在焦点上,而无焦点时则默认施放在当前目标上,但由于 target 使用了 modifier 的判断,导致以焦点为中心的焦点宏的默认动作无法自动 fallback 到最后要执行的技能,所以从上边的例子可以看出,我们需要单独再定义一个 fallback 技能,这是这个宏唯一不优雅的地方。

开启/关闭浮动伤害/治疗文字

开启:

/console floatingCombatTextCombatDamage 1
/console floatingCombatTextCombatHealing 1

关闭:

/console floatingCombatTextCombatDamage 0
/console floatingCombatTextCombatHealing 0

另外还有一种是自我战斗文字显示,是直接显示在自己角色身上的:

/console enableFloatingCombatText 1
/console enableFloatingCombatText 0

如何隐藏动作条上的文本/快捷键

消息源:Hiding macro text & hotkeys

插件版本,同时隐藏 HotKey(快捷键)和 Name(宏名称):

local noop = function() end
hooksecurefunc("ActionButton_Update", function(btn)
    local hotkey = _G[btn:GetName().."HotKey"]
    hotkey:SetText("")
    hotkey.Show = noop
    hotkey:Hide()
end)

hooksecurefunc("ActionButton_Update", function(btn)
    local name = _G[btn:GetName().."Name"]
    name:Hide()
end)

下面有人提供了宏的版本,只隐藏快捷键,方法更简单,把 alpha 值改为 0 即可:

/run for i=1,12 do _G["ActionButton"..i.."HotKey"]:SetAlpha(0)end

不过上述都只隐藏主动作条,我来优化一下,隐藏所有动作条的快捷键:

/run local r={"MultiBarBottomLeft", "MultiBarBottomRight", "Action", "MultiBarLeft", "MultiBarRight"} for b=1,#r do for i=1,12 do _G[r[b].."Button"..i.."HotKey"]:SetAlpha(0) end end

隐藏所有动作条的宏名称:

/run local r={"MultiBarBottomLeft", "MultiBarBottomRight", "Action", "MultiBarLeft", "MultiBarRight"} for b=1,#r do for i=1,12 do _G[r[b].."Button"..i.."Name"]:SetAlpha(0) end end

如何编写多语言宏

多语言宏可以做到切换不同语言客户端后,无需修改宏语言做到无缝切换,也可以节省角色宏的槽位

双语言例子:

#showtooltip
/施放 冰封之韧
/施放 灵界打击
/use Icebound Fortitude
/use Death Strike
#showtooltip 
/施放 [nomod,btn:1] 炼金术;[nomod,btn:2] 工程学 
/施放 [mod:shift,btn:1] 烹饪;[mod:shift,btn:2] 烹饪用火
/use [nomod,btn:1]Alchemy;[nomod,btn:2]Engineering 
/use [mod:shift,btn:1]Cooking;[mod:shift,btn:2]Cooking Fire

要点与技巧:

  • 非英文技能必须使用本地化命令,这样可以让英文客户端直接忽略该行命令
  • 英文命令永远排在最后
  • 要显示图标的技能永远放在当前语言的第一位
  • 英文命令中 /cast 可以用 /use 代替,节省字节

下面是多语言例子:

#showtooltip
/施放 冰封之韧
/施放 灵界打击
/lanzar Entereza ligada al hielo
/lanzar Golpe letal
/use Icebound Fortitude
/use Death Strike

下面是动态技能宏(同等级天赋技能判断宏)的多语言例子:

#showtooltip
/施放 白骨风暴
/施放 血之镜像
/use Bonestorm
/use Blood Mirror
/run local G=GetSpellInfo SetMacroSpell("DK-BS", G"白骨风暴" or G"血之镜像" or G"Bonestorm" or G"Blood Mirror")

一键删除所有通用宏/角色专用宏

删除所有通用宏:

/script for i=1,120 do DeleteMacro(i) end

删除所有角色专用宏:

/script for i=121,138 do DeleteMacro(i) end

删除所有宏(通用+角色专用)

/script for i=1,138 do DeleteMacro(i) end

竞技场敌对姓名版改为小队数字的方法

每次载入角色后执行

/run local U=UnitIsUnit hooksecurefunc("CompactUnitFrame_UpdateName",function(F)if IsActiveBattlefieldArena()and F.unit:find("nameplate")then for i=1,5 do if U(F.unit,"arena"..i)then F.name:SetText(i)F.name:SetTextColor(1,1,0)break end end end end)

效果:

数据来源:PSA: Arena Numbers on Nameplates

开启魔兽世界的 Console 调试模式

开启方法 1:战网客户端

  • 打开战网客户端的设置界面
  • 选择游戏设置标签
  • 勾选 「额外命令行参数」,然后输入 -console
  • 点击 「完成」 保存设置

开启方法 2:Windows 「运行……」 命令

  • Win - R,打开运行对话框
  • 输入魔兽世界目录,然后在最后输入 -console
  • 例如:"C:\Program Files\World of Warcraft\WoW.exe" -console

继续阅读

Warcraft Logs(WCL)基本使用方法

打开 WCL 客户端并登录,选择 Live Upload 并开始上传,然后打开游戏,打一场紧张刺激的大秘境即可看到自己的 WCL 数据了

通过宏快速切换游戏音量设置

经常会有频繁调整系统音量的场景,比如打团本的时候需要关掉音乐、降低环境音量以及音效音量,而平时有想感受一下优美的音乐,这时候就需要频繁的打开系统设置界面调整音量设置,十分繁琐,然而音量设置都可以通过操作 CVars 进行调整:

/console SET Sound_MasterVolume 0.4
/console SET Sound_SFXVolume 0.2
/console SET Sound_MusicVolume 0.1
/console SET Sound_AmbienceVolume 0.1
/console SET Sound_DialogVolume 0.6

上述五个设置分别对应截图中的音量设置:

  • Sound_MasterVolume – 系统总音量
  • Sound_SFXVolume – 音效音量,对应技能音效
  • Sound_MusicVolume – 音乐音量
  • Sound_AmbienceVolume – 环境音量
  • Sound_DialogVolume – 对话音量