咒语掉落的记录/追踪方式

问题描述 投票:0回答:1

我正在开发一个插件来跟踪魔兽世界中的端口,即超越,恶魔环。我能够注册光环事件。我现在想做的是记录/跟踪门户的坐标。我的最终目标是创建一个XML模板,以显示一个指向端口并根据距离更改颜色的箭头。感谢您的帮助,这是我第一次尝试真正的附件。这是我到目前为止的内容:

local f = CreateFrame("Frame")
f:RegisterUnitEvent("UNIT_AURA", "player")

f:SetScript("OnEvent", function()
    local name, _, _, _, duration, expirationTime, _, _, _, spellId = AuraUtil.FindAuraByName('Transcendence', 'player', 'helpful')

    if name then
        -- Do a thing
    end
end)
lua world-of-warcraft
1个回答
0
投票
local hbd = LibStub("HereBeDragons-2.0") function getPlayerPosition() local x, y, mapID = hbd:GetPlayerZonePosition() return mapID, x, y end

然后使用事件处理程序,我会记录施放咒语的坐标(例如端口的位置),然后使用事件处理程序来检查光环(例如长时间轮询),我可以使用玩家的当前位置进行更新。

f:SetScript("OnEvent", function(self, event, arg1, arg2, arg3, arg4)
  local transendenceAura = AuraUtil.FindAuraByName('Transcendence', 'player', 'helpful')
  if (event == 'UNIT_SPELLCAST_SUCCEEDED' and arg1 == 'player' and (arg3 == 101643 or arg3 == 119996)) then
    mapID, x2, y2 = getPlayerPosition()
  else
    x2 = 0
    y2 = 0
  end
  if transendenceAura then
    mapID1, x1, y1 = getPlayerPosition()
  end
end)

现在,我只需计算两码之间的距离(以码为单位),然后在屏幕上绘制XML箭头。但是目前,这个特殊的关卡已经完成:D

© www.soinside.com 2019 - 2024. All rights reserved.