0.1.231: Kanaele: Klassenbilder als Zaubersymbole statt Bildtafel, Ersatz fuer fehlende Kanalsymbole, /who-Rueckmeldung im Chat [ungeprueft]

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016onJCSHLwhs9udhC9ZLzk9
This commit is contained in:
Lacustat
2026-11-02 00:11:08 +01:00
co-authored by Claude Sonnet 5.5
parent f1a73c831a
commit 8d27728dac
3 changed files with 31 additions and 13 deletions
+13 -2
View File
@@ -177,8 +177,10 @@ local whoQueue, whoTried, whoCur = {}, {}, nil
local whoSent, whoLast = 0, 0
local WHO_GAP, WHO_TIMEOUT, WHO_RETRY = 6, 5, 600
local forced = {}
function CL.Ask(name, force)
if type(name) ~= "string" or name == "" then return end
if force then forced[name] = true end
local c, l = CL.Info(name)
if c and l and not force then return end
local now = Now()
@@ -213,7 +215,10 @@ end
local pump = CreateFrame("Frame")
pump:SetScript("OnUpdate", function()
local now = (G.GetTime and G.GetTime()) or 0
if whoCur and now - whoSent > WHO_TIMEOUT then WhoDone() end
if whoCur and now - whoSent > WHO_TIMEOUT then
if forced[whoCur] then forced[whoCur] = nil; FW:Print(whoCur .. ": ?") end
WhoDone()
end
if not whoCur and table.getn(whoQueue) > 0 and now - whoLast >= WHO_GAP then
local name = whoQueue[1]
local n = table.getn(whoQueue)
@@ -229,7 +234,13 @@ local function OnWho()
local i = 1
while i <= n do
local name, guild, level, race, class = G.GetWhoInfo(i)
if name then CL.Note(name, class, level) end
if name then
CL.Note(name, class, level)
if forced[name] then
forced[name] = nil
FW:Print(name .. ": " .. tostring(level) .. " " .. tostring(class) .. (guild and guild ~= "" and (" <" .. guild .. ">") or ""))
end
end
i = i + 1
end
if whoCur then WhoDone() end