本帖最后由 贾维斯117 于 2023-8-28 02:19 PM 编辑
[Lua] 纯文本查看 复制代码 -- 定义变量以保存之前的鼠标提示文本
local previousText = ""
-- 用于标记是否使用了重置物品
local usedResetItem = false
-- 定义打印鼠标提示变化的函数
local function PrintTooltipChanges()
-- 获取当前鼠标提示的物品信息
local item = GameTooltip:GetItem()
local currentText = ""
-- 遍历每一行的文本,将所有行的文本拼接起来
for i = 1, GameTooltip:NumLines() do
local lineText = _G["GameTooltipTextLeft"..i]:GetText()
currentText = currentText .. lineText
end
-- 如果当前的文本不同于之前的文本,则进行处理
if currentText ~= previousText then
print(currentText) -- 打印当前文本
-- 更新之前的文本
previousText = currentText
-- 检查是否存在特定的属性变化
local foundText = false
local _, _, str = string.find(currentText, "+(%d+) 急速等级")
-- 如果没有急速等级属性或急速等级小于 100
if not str or tonumber(str) < 100 then
-- 检查是否存在法术强度和耐力属性
local _, _, spellpower = string.find(currentText, "+(%d+)%% 法术强度")
local _, _, stamina = string.find(currentText, "+(%d+)%% 耐力")
-- 如果没有法术强度和耐力属性
if not spellpower and not stamina then
-- 如果没有使用过重置物品,则尝试使用
if not usedResetItem then
usedResetItem = true
-- 使用重置物品
RunMacroText("/use item:60012")
RunMacroText("/use 0 1")
end
end
end
end
end
-- 钩子函数,在显示物品鼠标提示时调用打印函数
GameTooltip:HookScript("OnTooltipSetItem", PrintTooltipChanges)
拿超级宏运行一次应该就行了,具体怎么用,怎么改,注释看得懂应该就懂了
|