You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

魔兽世界Lua插件开发中如何为print输出文本设置颜色

魔兽世界插件自定义打印输出颜色实现

核心实现逻辑

WoW 客户端的控制台输出原生支持颜色转义语法,无需引入额外依赖,直接在字符串中拼接官方约定的颜色标记即可生效,标记规则为:

  • 颜色起始位:格式为 |cAARRGGBB,其中AA为透明度参数,一般用FF表示完全不透明;后续6位RRGGBB为十六进制RGB颜色值,例如纯红色对应|cFFFF0000、纯绿色对应|cFF00FF00、明黄色对应|cFFFFFF00
  • 颜色结束位:标记为|r,用于终止之前设置的颜色效果,后续文本会恢复系统默认输出色

适配你现有代码的修改方案

你可以直接把颜色标记拼接到原有print语句的字符串里,为了后续维护方便,建议把常用颜色定义为独立常量复用,修改后的参考代码如下:

-- 预先定义常用颜色常量,避免重复写字符串
local COLOR_LABEL = "|cFF88CCFF" -- 装备位置标签用浅蓝色
local COLOR_LOW_DUR = "|cFFFF0000" -- 低耐久数值用红色提醒
local COLOR_NORMAL_DUR = "|cFF00FF00" -- 正常耐久用绿色
local COLOR_RESET = "|r" -- 颜色重置标记

currentHead, maximumHead = GetInventoryItemDurability(1);
currentShoulder, maximumShoulder = GetInventoryItemDurability(3);
currentChest, maximumChest = GetInventoryItemDurability(5);

-- 按需求拆分文本段拼接对应颜色
print(COLOR_LABEL .. "Head: " .. COLOR_RESET .. currentHead .. "/" .. maximumHead .. " Durability")
print(COLOR_LABEL .. "Shoulders: " .. COLOR_RESET .. currentShoulder .. "/" .. maximumShoulder .. " Durability")
print(COLOR_LABEL .. "Chest: " .. COLOR_RESET .. currentChest .. "/" .. maximumChest .. " Durability")

注意事项

  • 必须在彩色文本末尾补上|r重置标记,否则后续所有控制台输出的内容都会沿用上一次设置的颜色,影响插件其他功能的显示效果
  • 所有十六进制RGB色值都可以根据自己的视觉习惯调整,不需要局限示例里的配色
  • 你原有代码里头盔、肩膀的打印输出遗漏了最大耐久值,示例里已经补上,展示效果会更直观

内容的提问来源于stack exchange,提问作者AfterHover

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.29 20:15:01