diff --git a/Addon/GMDB/GMDB.toc b/Addon/GMDB/GMDB.toc index ae86a2c..34be49a 100644 --- a/Addon/GMDB/GMDB.toc +++ b/Addon/GMDB/GMDB.toc @@ -1,4 +1,4 @@ -## Interface: 90207 +## Interface: 100002 ## Title: |cffffff00GMDB|r ## Title-deDE: |cffffff00GMDB|r ## Modified by Klark20 | RazzorX diff --git a/Addon/GMDB/GMDB_Collector.lua b/Addon/GMDB/GMDB_Collector.lua index 239ed79..fb66af5 100644 --- a/Addon/GMDB/GMDB_Collector.lua +++ b/Addon/GMDB/GMDB_Collector.lua @@ -87,8 +87,8 @@ function self_QuestDetail() for i = 1, GMDB_Main.totquest, 1 do if GMDB_Collector.Quests["Quest_"..i] then - if GMDB_Collector.Quests["Quest_"..i].Sprache == Language then - if GMDB_Collector.Quests["Quest_"..i].Entry == QuestID then + if GMDB_Collector.Quests["Quest_"..i].Entry == QuestID then + if GMDB_Collector.Quests["Quest_"..i].Sprache == Language then PosTab = i; self_Debug("self_QuestDetail - |c00FF0000PosTab: "..PosTab.."|r | QuestID: "..QuestID); end @@ -105,7 +105,6 @@ function self_QuestDetail() GMDB_Collector.Quests["Quest_"..PosTab].Objectives = QuestObj; GMDB_Collector.Quests["Quest_"..PosTab].Details = QuestDesc; GMDB_Collector.Quests["Quest_"..PosTab].Questgeber = Quelle; - GMDB_Collector.Quests["Quest_"..PosTab].Sprache = Language; end -- neuer Questeintrag wird hinzugefügt @@ -136,8 +135,8 @@ function self_QuestProgress() for i = 1, GMDB_Main.totquest, 1 do if GMDB_Collector.Quests["Quest_"..i] then - if GMDB_Collector.Quests["Quest_"..i].Sprache == Language then - if GMDB_Collector.Quests["Quest_"..i].Entry == QuestID then + if GMDB_Collector.Quests["Quest_"..i].Entry == QuestID then + if GMDB_Collector.Quests["Quest_"..i].Sprache == Language then PosTab = i; self_Debug("self_QuestProgress0 - |c00FFFF33PosTab: "..PosTab.."|r | QuestID: "..QuestID); end @@ -180,8 +179,8 @@ function self_QuestComplete() for i = 1, GMDB_Main.totquest, 1 do if GMDB_Collector.Quests["Quest_"..i] then - if GMDB_Collector.Quests["Quest_"..i].Sprache == Language then - if GMDB_Collector.Quests["Quest_"..i].Entry == QuestID then + if GMDB_Collector.Quests["Quest_"..i].Entry == QuestID then + if GMDB_Collector.Quests["Quest_"..i].Sprache == Language then PosTab = i; self_Debug("self_QuestComplete0 - |c00FFFF33PosTab: "..PosTab.."|r | QuestID: "..QuestID); end @@ -230,12 +229,7 @@ function self_GetQuelle() elseif kind == "GameObject" and not itemName then Quelle = "GOBJECT||"..Ziel.."||"..id; self_Debug("self_GetQuelle - Kind Gameobject: "..Ziel); --- elseif kind == "Item" and itemId == nil and not (kind == "Creature" or kind == "GameObject") then --- Quelle = "ITEM_UNBEKANNT"; --- self_Debug("self_GetQuelle - Quelle = Item unbekannt"); --- elseif kind == "Item" or (itemId ~= nil or itemName ~= nil) then - elseif kind == "ITEM" or itemName ~= nil then --- if iID == nil then iID = 0; end + elseif itemName ~= nil then Quelle = "ITEM||"..ZielX.."||"..iID; self_Debug("self_GetQuelle - Item: "..iID.." - "..ZielX); end @@ -260,6 +254,7 @@ function self_MonsterSprache(ART, arg1, arg2, arg3) if GMDB_Collector.Sprache["Text_"..i].ART == ART then if GMDB_Collector.Sprache["Text_"..i].WAS == WAS then if GMDB_Collector.Sprache["Text_"..i].SPRACHE == SPRACHE then + self_Debug("self_MonsterSprache: "..WER.." , "..SPRACHE); return; end end @@ -269,12 +264,14 @@ function self_MonsterSprache(ART, arg1, arg2, arg3) end GMDB_Main.totSprache = GMDB_Main.totSprache + 1; - GMDB_Collector.Sprache["Text_"..GMDB_Main.totSprache] = {}; - GMDB_Collector.Sprache["Text_"..GMDB_Main.totSprache].ART = ART; - GMDB_Collector.Sprache["Text_"..GMDB_Main.totSprache].WER = WER; - GMDB_Collector.Sprache["Text_"..GMDB_Main.totSprache].WAS = WAS; - GMDB_Collector.Sprache["Text_"..GMDB_Main.totSprache].SPRACHE = SPRACHE; + PosTab = GMDB_Main.totSprache; self_Debug("self_MonsterSprache: "..WER.." , "..SPRACHE); + + GMDB_Collector.Sprache["Text_"..PosTab] = {}; + GMDB_Collector.Sprache["Text_"..PosTab].ART = ART; + GMDB_Collector.Sprache["Text_"..PosTab].WER = WER; + GMDB_Collector.Sprache["Text_"..PosTab].WAS = WAS; + GMDB_Collector.Sprache["Text_"..PosTab].SPRACHE = SPRACHE; end -- ************ @@ -282,8 +279,7 @@ end -- ************ function self_GossipText() - - G_Gesamt = C_GossipInfo.GetNumOptions(); + G_Gesamt = #C_GossipInfo.GetOptions(); if G_Gesamt == 0 or G_Gesamt == nil then return; end self_Debug("Gossip-Insgesamt: "..G_Gesamt); @@ -293,9 +289,6 @@ function self_GossipText() -- self_Debug("Gossip-Name: "..gossips[i].name); -- end - if gossips[1].type == nil then - gossips[1].type = "none"; end - Quelle = self_GetQuelle(); erreurTitel = 0; PosTab = nil; @@ -369,10 +362,10 @@ end function self_GetUnitId(unit) local kind = self_GetUnitKind(); - if kind == "ITEM" then return nil; end - if kind == "Creature" or kind == "Vehicle" or kind == "GameObject" then + if kind == "Item" then return; + elseif kind == "Creature" or kind == "Vehicle" or kind == "GameObject" then id = guid:match("%a+-%d+-%d+-%d+-%d+-(%d+)-.+") - self_Debug("self_GetUnitId - Kind creature, vehicle oder gameobject"); + self_Debug("self_GetUnitId - id = "..id); end return tonumber(id); end @@ -380,13 +373,12 @@ end function self_GetUnitKind(unit) guid = UnitGUID("npc"); - if guid == nil then - kind = "ITEM"; - self_Debug("self_GetUnitKind = ITEM"); - else --- kind = guid:match("(%a+)-%d+-%d+-%d+-%d+-%d+-.+") + if guid ~= nil then kind = guid:match("(%a+)-.+") self_Debug("self_GetUnitKind - kind: "..kind); + elseif guid == nil then + kind = "Item"; + self_Debug("self_GetUnitKind = Item"); end return kind; end diff --git a/Addon/GMDB_Zusatz/GMDB_Collector_Zusatz.lua b/Addon/GMDB_Zusatz/GMDB_Collector_Zusatz.lua index ac7c3b5..ac77cbd 100644 --- a/Addon/GMDB_Zusatz/GMDB_Collector_Zusatz.lua +++ b/Addon/GMDB_Zusatz/GMDB_Collector_Zusatz.lua @@ -85,9 +85,10 @@ function self_NpcTexte() end GMDB_Main_Zusatz.totNpcTexte = GMDB_Main_Zusatz.totNpcTexte + 1; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte] = {}; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte].Quelle = Quelle; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte].GText = GText; + PosTab = GMDB_Main_Zusatz.totNpcTexte; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab] = {}; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab].Quelle = Quelle; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab].GText = GText; end -- diese Funktion liest und schreibt jeden NPC-Greeting-Text @@ -109,9 +110,10 @@ function self_Greeting() end GMDB_Main_Zusatz.totNpcTexte = GMDB_Main_Zusatz.totNpcTexte + 1; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte] = {}; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte].Quelle = Quelle; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte].QGreeting = Greeting; + PosTab = GMDB_Main_Zusatz.totNpcTexte; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab] = {}; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab].Quelle = Quelle; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab].QGreeting = Greeting; end -- diese Funktion liest und schreibt jeden Trainer-Greeting-Text @@ -133,9 +135,10 @@ function self_Trainer_Greeting() end GMDB_Main_Zusatz.totNpcTexte = GMDB_Main_Zusatz.totNpcTexte + 1; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte] = {}; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte].Quelle = Quelle; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte].TGreeting = TGreeting; + PosTab = GMDB_Main_Zusatz.totNpcTexte; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab] = {}; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab].Quelle = Quelle; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab].TGreeting = TGreeting; end -- ******************************* @@ -147,17 +150,23 @@ function self_ItemText() pageNum = ItemTextGetPage(); pageBody = ItemTextGetText(); + Next = ItemTextHasNextPage(); if pageNum >= 2 then for t = 1, GMDB_Main_Zusatz.totText, 1 do if GMDB_Collector_Zusatz.Texte["Text_"..t] then if GMDB_Collector_Zusatz.Texte["Text_"..t].Quelle == Quelle then - self_Debug_Z("self_ItemText - Quelle: "..Quelle); + self_Debug_Z("self_ItemText - Quelle: "..Quelle); if GMDB_Collector_Zusatz.Texte["Text_"..t].Seiten.Seite_1 then - self_Debug_Z("self_ItemText - |c00FFFF33PosTab: "..t.."|r"); - - GMDB_Collector_Zusatz.Texte["Text_"..t].Seiten["Seite_"..pageNum] = pageBody; - self_Debug_Z("self_ItemText - Seite: " ..pageNum); + self_Debug_Z("self_ItemText - |c00FFFF33PosTab: "..t.."|r"); + + GMDB_Collector_Zusatz.Texte["Text_"..t].Seiten["Seite_"..pageNum] = pageBody; + self_Debug_Z("self_ItemText - Seite: " ..pageNum); + if Next == false then + GMDB_Collector_Zusatz.Texte["Text_"..t].Seitenanzahl = pageNum; + self_Debug_Z("self_ItemText - Seitenanzahl: " ..pageNum); + return; + end return; end end @@ -165,29 +174,31 @@ function self_ItemText() end end - PosTab = nil; for i = 1, GMDB_Main_Zusatz.totText, 1 do if GMDB_Collector_Zusatz.Texte["Text_"..i] then if GMDB_Collector_Zusatz.Texte["Text_"..i].Quelle then if GMDB_Collector_Zusatz.Texte["Text_"..i].Quelle == Quelle then - PosTab = i; - self_Debug_Z("self_ItemText - |c00FF0000PosTab: "..PosTab.."|r"); + self_Debug_Z("self_ItemText - |c00FF0000PosTab: "..i.."|r"); + return; end end end end - if PosTab ~= nil then return; end - GMDB_Main_Zusatz.totText = GMDB_Main_Zusatz.totText + 1; PosTab = GMDB_Main_Zusatz.totText; - GMDB_Collector_Zusatz.Texte["Text_"..PosTab] = {}; - GMDB_Collector_Zusatz.Texte["Text_"..PosTab].Quelle = Quelle; - GMDB_Collector_Zusatz.Texte["Text_"..PosTab].Seiten = {}; + GMDB_Collector_Zusatz.Texte["Text_"..PosTab] = {}; + GMDB_Collector_Zusatz.Texte["Text_"..PosTab].Quelle = Quelle; + GMDB_Collector_Zusatz.Texte["Text_"..PosTab].Seiten = {}; GMDB_Collector_Zusatz.Texte["Text_"..PosTab].Seiten["Seite_"..pageNum] = pageBody; self_Debug_Z("self_ItemText - |c0000FF00PosTab: "..PosTab.."|r"); self_Debug_Z("self_ItemText - Quelle: " ..Quelle); self_Debug_Z("self_ItemText - Seite: " ..pageNum); + + if Next == false then + GMDB_Collector_Zusatz.Texte["Text_"..PosTab].Seitenanzahl = pageNum; + self_Debug_Z("self_ItemText - Seitenanzahl: " ..pageNum); + end end function self_MailShow() @@ -211,22 +222,19 @@ function self_BriefTexte() if sender == nil then return; end - PosTab = nil; for i = 1, GMDB_Main_Zusatz.totBriefTexte, 1 do if GMDB_Collector_Zusatz.BriefTexte["Text_"..i] then if GMDB_Collector_Zusatz.BriefTexte["Text_"..i].Von == sender then if GMDB_Collector_Zusatz.BriefTexte["Text_"..i].Betreff == subject then if GMDB_Collector_Zusatz.BriefTexte["Text_"..i].Inhalt == bodyText then - PosTab = i; - self_Debug_Z("self_BriefTexte - |c00FF0000PosTab: "..PosTab.."|r"); + self_Debug_Z("self_BriefTexte - |c00FF0000PosTab: "..i.."|r"); + return; end end end end end - if PosTab ~= nil then return; end - GMDB_Main_Zusatz.totBriefTexte = GMDB_Main_Zusatz.totBriefTexte + 1; PosTab = GMDB_Main_Zusatz.totBriefTexte; GMDB_Collector_Zusatz.BriefTexte["Text_"..PosTab] = {}; @@ -257,9 +265,10 @@ function self_ConfirmText(arg1, arg2) end GMDB_Main_Zusatz.totNpcTexte = GMDB_Main_Zusatz.totNpcTexte + 1; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte] = {}; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte].Quelle = Quelle; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte].BoxText = Text; + PosTab = GMDB_Main_Zusatz.totNpcTexte; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab] = {}; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab].Quelle = Quelle; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab].BoxText = Text; --]] end diff --git a/Addon/GMDB_Zusatz/GMDB_Zusatz.toc b/Addon/GMDB_Zusatz/GMDB_Zusatz.toc index 8050997..5981a7f 100644 --- a/Addon/GMDB_Zusatz/GMDB_Zusatz.toc +++ b/Addon/GMDB_Zusatz/GMDB_Zusatz.toc @@ -1,4 +1,4 @@ -## Interface: 90207 +## Interface: 100002 ## Title: |cffffff00GMDB-Zusatz|r ## Title-deDE: |cffffff00GMDB-Zusatz|r ## Author: RazzorX diff --git a/Addon_Classic/GMDB_CLASSIC/GMDB_CLASSIC-WRATH.toc b/Addon_Classic/GMDB_CLASSIC/GMDB_CLASSIC-WRATH.toc index 1c123ae..64392d7 100644 --- a/Addon_Classic/GMDB_CLASSIC/GMDB_CLASSIC-WRATH.toc +++ b/Addon_Classic/GMDB_CLASSIC/GMDB_CLASSIC-WRATH.toc @@ -1,4 +1,4 @@ -## Interface: 30400 +## Interface: 30401 ## Title: |cffffff00GMDB-CLASSIC|r ## Title-deDE: |cffffff00GMDB-CLASSIC|r ## Modified by Klark20 | RazzorX diff --git a/Addon_Classic/GMDB_CLASSIC/GMDB_Collector.lua b/Addon_Classic/GMDB_CLASSIC/GMDB_Collector.lua index 76d90e7..bff842d 100644 --- a/Addon_Classic/GMDB_CLASSIC/GMDB_Collector.lua +++ b/Addon_Classic/GMDB_CLASSIC/GMDB_Collector.lua @@ -87,8 +87,8 @@ function self_QuestDetail() for i = 1, GMDB_Main.totquest, 1 do if GMDB_Collector.Quests["Quest_"..i] then - if GMDB_Collector.Quests["Quest_"..i].Sprache == Language then - if GMDB_Collector.Quests["Quest_"..i].Entry == QuestID then + if GMDB_Collector.Quests["Quest_"..i].Entry == QuestID then + if GMDB_Collector.Quests["Quest_"..i].Sprache == Language then PosTab = i; self_Debug("self_QuestDetail - |c00FF0000PosTab: "..PosTab.."|r | QuestID: "..QuestID); end @@ -105,7 +105,6 @@ function self_QuestDetail() GMDB_Collector.Quests["Quest_"..PosTab].Objectives = QuestObj; GMDB_Collector.Quests["Quest_"..PosTab].Details = QuestDesc; GMDB_Collector.Quests["Quest_"..PosTab].Questgeber = Quelle; - GMDB_Collector.Quests["Quest_"..PosTab].Sprache = Language; end -- neuer Questeintrag wird hinzugefügt @@ -136,8 +135,8 @@ function self_QuestProgress() for i = 1, GMDB_Main.totquest, 1 do if GMDB_Collector.Quests["Quest_"..i] then - if GMDB_Collector.Quests["Quest_"..i].Sprache == Language then - if GMDB_Collector.Quests["Quest_"..i].Entry == QuestID then + if GMDB_Collector.Quests["Quest_"..i].Entry == QuestID then + if GMDB_Collector.Quests["Quest_"..i].Sprache == Language then PosTab = i; self_Debug("self_QuestProgress0 - |c00FFFF33PosTab: "..PosTab.."|r | QuestID: "..QuestID); end @@ -180,8 +179,8 @@ function self_QuestComplete() for i = 1, GMDB_Main.totquest, 1 do if GMDB_Collector.Quests["Quest_"..i] then - if GMDB_Collector.Quests["Quest_"..i].Sprache == Language then - if GMDB_Collector.Quests["Quest_"..i].Entry == QuestID then + if GMDB_Collector.Quests["Quest_"..i].Entry == QuestID then + if GMDB_Collector.Quests["Quest_"..i].Sprache == Language then PosTab = i; self_Debug("self_QuestComplete0 - |c00FFFF33PosTab: "..PosTab.."|r | QuestID: "..QuestID); end @@ -230,12 +229,7 @@ function self_GetQuelle() elseif kind == "GameObject" and not itemName then Quelle = "GOBJECT||"..Ziel.."||"..id; self_Debug("self_GetQuelle - Kind Gameobject: "..Ziel); --- elseif kind == "Item" and itemId == nil and not (kind == "Creature" or kind == "GameObject") then --- Quelle = "ITEM_UNBEKANNT"; --- self_Debug("self_GetQuelle - Quelle = Item unbekannt"); --- elseif kind == "Item" or (itemId ~= nil or itemName ~= nil) then - elseif kind == "ITEM" or itemName ~= nil then --- if iID == nil then iID = 0; end + elseif itemName ~= nil then Quelle = "ITEM||"..ZielX.."||"..iID; self_Debug("self_GetQuelle - Item: "..iID.." - "..ZielX); end @@ -260,6 +254,7 @@ function self_MonsterSprache(ART, arg1, arg2, arg3) if GMDB_Collector.Sprache["Text_"..i].ART == ART then if GMDB_Collector.Sprache["Text_"..i].WAS == WAS then if GMDB_Collector.Sprache["Text_"..i].SPRACHE == SPRACHE then + self_Debug("self_MonsterSprache: "..WER.." , "..SPRACHE); return; end end @@ -269,12 +264,14 @@ function self_MonsterSprache(ART, arg1, arg2, arg3) end GMDB_Main.totSprache = GMDB_Main.totSprache + 1; - GMDB_Collector.Sprache["Text_"..GMDB_Main.totSprache] = {}; - GMDB_Collector.Sprache["Text_"..GMDB_Main.totSprache].ART = ART; - GMDB_Collector.Sprache["Text_"..GMDB_Main.totSprache].WER = WER; - GMDB_Collector.Sprache["Text_"..GMDB_Main.totSprache].WAS = WAS; - GMDB_Collector.Sprache["Text_"..GMDB_Main.totSprache].SPRACHE = SPRACHE; + PosTab = GMDB_Main.totSprache; self_Debug("self_MonsterSprache: "..WER.." , "..SPRACHE); + + GMDB_Collector.Sprache["Text_"..PosTab] = {}; + GMDB_Collector.Sprache["Text_"..PosTab].ART = ART; + GMDB_Collector.Sprache["Text_"..PosTab].WER = WER; + GMDB_Collector.Sprache["Text_"..PosTab].WAS = WAS; + GMDB_Collector.Sprache["Text_"..PosTab].SPRACHE = SPRACHE; end -- ************ @@ -282,18 +279,11 @@ end -- ************ function self_GossipText() - Titel = {}; - typegossip = {}; - Titel["1"],typegossip["1"],Titel["2"],typegossip["2"],Titel["3"],typegossip["3"],Titel["4"],typegossip["4"],Titel["5"],typegossip["5"],Titel["6"],typegossip["6"],Titel["7"],typegossip["7"],Titel["8"],typegossip["8"],Titel["9"],typegossip["9"],Titel["10"],typegossip["10"],Titel["11"],typegossip["11"],Titel["12"],typegossip["12"],Titel["13"],typegossip["13"],Titel["14"],typegossip["14"],Titel["15"],typegossip["15"],Titel["16"],typegossip["16"],Titel["17"],typegossip["17"],Titel["18"],typegossip["18"],Titel["19"],typegossip["19"],Titel["20"],typegossip["20"] = GetGossipOptions(); - if typegossip["1"] == nil then - typegossip["1"] = "none" - if Titel ~= nil then return nil; - end -end + G_Gesamt = #C_GossipInfo.GetOptions(); + if G_Gesamt == 0 or G_Gesamt == nil then return; end + self_Debug("Gossip-Insgesamt: "..G_Gesamt); - GGesamt = GetNumGossipOptions(); - if GGesamt == 0 or GGesamt == nil then return; end - self_Debug("Gossip-Insgesamt: "..GGesamt); + gossips = C_GossipInfo.GetOptions(); Quelle = self_GetQuelle(); erreurTitel = 0; @@ -302,18 +292,19 @@ end for i = 1, GMDB_Main.totgossip, 1 do if GMDB_Collector.Gossip["gossip_"..i] then - if GMDB_Collector.Gossip["gossip_"..i].Name == Quelle then - self_Debug("Gossip-Typ erkannt: "..typegossip["1"]); + if GMDB_Collector.Gossip["gossip_"..i].GName == Quelle then if GMDB_Collector.Gossip["gossip_"..i].GGesamt then GGesamt = GMDB_Collector.Gossip["gossip_"..i].GGesamt; - for k = 1, GGesamt, 1 do - if Titel[""..k..""] ~= nil then + for k = 1, G_Gesamt, 1 do + self_Debug("Gossip: "..k); + if gossips[k].name ~= nil then + self_Debug("Gossip-Name: "..gossips[k].name); for l = 1, GGesamt, 1 do - if GMDB_Collector.Gossip["gossip_"..i].Titel["Titel_"..l] == Titel[""..k..""] then - self_Debug("Gossip-Text schon vorhanden: "..Titel[""..k..""]); + if GMDB_Collector.Gossip["gossip_"..i].Titel["Titel_"..l] == gossips[k].name then + self_Debug("Gossip-Text schon vorhanden: "..gossips[k].name); erreurTitel = erreurTitel + 2; else erreurTitel = erreurTitel + 1; @@ -323,9 +314,9 @@ end GGesamt = GGesamt + 1; self_Debug("Gossip-Anzahl: "..GGesamt); erreurTitel = 0; - self_Debug("Neuer Titel: "..Titel[""..k..""].." "..GGesamt); +-- self_Debug("Neuer Titel: "..gossips[k].name.." "..GGesamt); -- TEST GMDB_Collector.Gossip["gossip_"..i].GGesamt = GGesamt; - GMDB_Collector.Gossip["gossip_"..i].Titel["Titel_"..GGesamt] = Titel[""..k..""]; + GMDB_Collector.Gossip["gossip_"..i].Titel["Titel_"..GGesamt] = gossips[k].name; end end end @@ -337,12 +328,13 @@ end PosTab = GMDB_Main.totgossip + 1; GMDB_Main.totgossip = GMDB_Main.totgossip + 1; + self_Debug("Gossip schreiben - PosTab: " ..PosTab); GMDB_Collector.Gossip["gossip_"..PosTab] = {}; - GMDB_Collector.Gossip["gossip_"..PosTab].Name = Quelle; + GMDB_Collector.Gossip["gossip_"..PosTab].GGesamt = G_Gesamt; + GMDB_Collector.Gossip["gossip_"..PosTab].GName = Quelle; GMDB_Collector.Gossip["gossip_"..PosTab].Titel = {}; - for i = 1, GGesamt, 1 do - GMDB_Collector.Gossip["gossip_"..PosTab].Titel["Titel_"..i] = Titel[""..i..""]; - GMDB_Collector.Gossip["gossip_"..PosTab].GGesamt = GGesamt; + for i = 1, G_Gesamt, 1 do + GMDB_Collector.Gossip["gossip_"..PosTab].Titel["Titel_"..i] = gossips[i].name; end end @@ -366,10 +358,10 @@ end function self_GetUnitId(unit) local kind = self_GetUnitKind(); - if kind == "ITEM" then return nil; end - if kind == "Creature" or "Vehicle" or "GameObject" then + if kind == "Item" then return; + elseif kind == "Creature" or kind == "Vehicle" or kind == "GameObject" then id = guid:match("%a+-%d+-%d+-%d+-%d+-(%d+)-.+") - self_Debug("self_GetUnitId - Kind creature, vehicle or gameobject"); + self_Debug("self_GetUnitId - id = "..id); end return tonumber(id); end @@ -377,13 +369,12 @@ end function self_GetUnitKind(unit) guid = UnitGUID("npc"); - if guid == nil then - kind = "ITEM"; - self_Debug("self_GetUnitKind = ITEM"); - else --- kind = guid:match("(%a+)-%d+-%d+-%d+-%d+-%d+-.+") + if guid ~= nil then kind = guid:match("(%a+)-.+") self_Debug("self_GetUnitKind - kind: "..kind); + elseif guid == nil then + kind = "Item"; + self_Debug("self_GetUnitKind = Item"); end return kind; end diff --git a/Addon_Classic/GMDB_CLASSIC_Zusatz/GMDB_CLASSIC_Zusatz-WRATH.toc b/Addon_Classic/GMDB_CLASSIC_Zusatz/GMDB_CLASSIC_Zusatz-WRATH.toc index 51abe7e..55b4bc7 100644 --- a/Addon_Classic/GMDB_CLASSIC_Zusatz/GMDB_CLASSIC_Zusatz-WRATH.toc +++ b/Addon_Classic/GMDB_CLASSIC_Zusatz/GMDB_CLASSIC_Zusatz-WRATH.toc @@ -1,4 +1,4 @@ -## Interface: 30400 +## Interface: 30401 ## Title: |cffffff00GMDB-CLASSIC-Zusatz|r ## Title-deDE: |cffffff00GMDB-CLASSIC-Zusatz|r ## Version: 1.3 Classic diff --git a/Addon_Classic/GMDB_CLASSIC_Zusatz/GMDB_Collector_Zusatz.lua b/Addon_Classic/GMDB_CLASSIC_Zusatz/GMDB_Collector_Zusatz.lua index 4cc2781..1ea8729 100644 --- a/Addon_Classic/GMDB_CLASSIC_Zusatz/GMDB_Collector_Zusatz.lua +++ b/Addon_Classic/GMDB_CLASSIC_Zusatz/GMDB_Collector_Zusatz.lua @@ -28,6 +28,7 @@ function self_OnEvent(self, event, ...) if event == "PLAYER_ENTERING_WORLD" then self:RegisterEvent("GOSSIP_SHOW"); + self:RegisterEvent("GOSSIP_CONFIRM"); -- TEST self:RegisterEvent("ITEM_TEXT_READY"); self:RegisterEvent("QUEST_GREETING"); self:RegisterEvent("TRAINER_SHOW"); @@ -42,6 +43,7 @@ function self_OnEvent(self, event, ...) if event == "PLAYER_LEAVING_WORLD" then self:UnregisterEvent("GOSSIP_SHOW"); + self:UnregisterEvent("GOSSIP_CONFIRM"); -- TEST self:UnregisterEvent("ITEM_TEXT_READY"); self:UnregisterEvent("QUEST_GREETING"); self:UnregisterEvent("TRAINER_SHOW"); @@ -50,6 +52,7 @@ function self_OnEvent(self, event, ...) end if event == "GOSSIP_SHOW" then self_NpcTexte(); end + if event == "GOSSIP_CONFIRM" then self_ConfirmText(...); end if event == "ITEM_TEXT_READY" then self_ItemText(); end if event == "QUEST_GREETING" then self_Greeting(); end if event == "TRAINER_SHOW" then self_Trainer_Greeting(); end @@ -68,7 +71,7 @@ function self_NpcTexte() local Quelle = self_GetQuelle(); if Quelle == nil then return; end; - local GText = self_CleanMeZ(GetGossipText()); + local GText = self_CleanMeZ(C_GossipInfo.GetText()); for i = 1, GMDB_Main_Zusatz.totNpcTexte, 1 do if GMDB_Collector_Zusatz.NpcText["Text_"..i] then @@ -81,9 +84,10 @@ function self_NpcTexte() end GMDB_Main_Zusatz.totNpcTexte = GMDB_Main_Zusatz.totNpcTexte + 1; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte] = {}; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte].Quelle = Quelle; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte].GText = GText; + PosTab = GMDB_Main_Zusatz.totNpcTexte; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab] = {}; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab].Quelle = Quelle; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab].GText = GText; end -- diese Funktion liest und schreibt jeden NPC-Greeting-Text @@ -106,9 +110,10 @@ function self_Greeting() end GMDB_Main_Zusatz.totNpcTexte = GMDB_Main_Zusatz.totNpcTexte + 1; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte] = {}; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte].Quelle = Quelle; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte].QGreeting = Greeting; + PosTab = GMDB_Main_Zusatz.totNpcTexte; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab] = {}; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab].Quelle = Quelle; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab].QGreeting = Greeting; end -- diese Funktion liest und schreibt jeden Trainer-Greeting-Text @@ -131,9 +136,10 @@ function self_Trainer_Greeting() end GMDB_Main_Zusatz.totNpcTexte = GMDB_Main_Zusatz.totNpcTexte + 1; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte] = {}; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte].Quelle = Quelle; - GMDB_Collector_Zusatz.NpcText["Text_"..GMDB_Main_Zusatz.totNpcTexte].TGreeting = TGreeting; + PosTab = GMDB_Main_Zusatz.totNpcTexte; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab] = {}; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab].Quelle = Quelle; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab].TGreeting = TGreeting; end -- ******************************* @@ -146,17 +152,23 @@ function self_ItemText() local pageNum = ItemTextGetPage(); local pageBody = ItemTextGetText(); + local Next = ItemTextHasNextPage(); if pageNum >= 2 then for t = 1, GMDB_Main_Zusatz.totText, 1 do if GMDB_Collector_Zusatz.Texte["Text_"..t] then if GMDB_Collector_Zusatz.Texte["Text_"..t].Quelle == Quelle then - self_Debug_Z("self_ItemText - Quelle: "..Quelle); + self_Debug_Z("self_ItemText - Quelle: "..Quelle); if GMDB_Collector_Zusatz.Texte["Text_"..t].Seiten.Seite_1 then - self_Debug_Z("self_ItemText - |c00FFFF33PosTab: "..t.."|r"); - - GMDB_Collector_Zusatz.Texte["Text_"..t].Seiten["Seite_"..pageNum] = pageBody; - self_Debug_Z("self_ItemText - Seite: " ..pageNum); + self_Debug_Z("self_ItemText - |c00FFFF33PosTab: "..t.."|r"); + + GMDB_Collector_Zusatz.Texte["Text_"..t].Seiten["Seite_"..pageNum] = pageBody; + self_Debug_Z("self_ItemText - Seite: " ..pageNum); + if Next == false then + GMDB_Collector_Zusatz.Texte["Text_"..t].Seitenanzahl = pageNum; + self_Debug_Z("self_ItemText - Seitenanzahl: " ..pageNum); + return; + end return; end end @@ -164,29 +176,31 @@ function self_ItemText() end end - PosTab = nil; for i = 1, GMDB_Main_Zusatz.totText, 1 do if GMDB_Collector_Zusatz.Texte["Text_"..i] then if GMDB_Collector_Zusatz.Texte["Text_"..i].Quelle then if GMDB_Collector_Zusatz.Texte["Text_"..i].Quelle == Quelle then - PosTab = i; - self_Debug_Z("self_ItemText - |c00FF0000PosTab: "..PosTab.."|r"); + self_Debug_Z("self_ItemText - |c00FF0000PosTab: "..i.."|r"); + return; end end end end - if PosTab ~= nil then return; end - GMDB_Main_Zusatz.totText = GMDB_Main_Zusatz.totText + 1; PosTab = GMDB_Main_Zusatz.totText; - GMDB_Collector_Zusatz.Texte["Text_"..PosTab] = {}; - GMDB_Collector_Zusatz.Texte["Text_"..PosTab].Quelle = Quelle; - GMDB_Collector_Zusatz.Texte["Text_"..PosTab].Seiten = {}; + GMDB_Collector_Zusatz.Texte["Text_"..PosTab] = {}; + GMDB_Collector_Zusatz.Texte["Text_"..PosTab].Quelle = Quelle; + GMDB_Collector_Zusatz.Texte["Text_"..PosTab].Seiten = {}; GMDB_Collector_Zusatz.Texte["Text_"..PosTab].Seiten["Seite_"..pageNum] = pageBody; self_Debug_Z("self_ItemText - |c0000FF00PosTab: "..PosTab.."|r"); self_Debug_Z("self_ItemText - Quelle: " ..Quelle); self_Debug_Z("self_ItemText - Seite: " ..pageNum); + + if Next == false then + GMDB_Collector_Zusatz.Texte["Text_"..PosTab].Seitenanzahl = pageNum; + self_Debug_Z("self_ItemText - Seitenanzahl: " ..pageNum); + end end function self_MailShow() @@ -211,22 +225,19 @@ function self_BriefTexte() if sender == nil then return; end - PosTab = nil; for i = 1, GMDB_Main_Zusatz.totBriefTexte, 1 do if GMDB_Collector_Zusatz.BriefTexte["Text_"..i] then if GMDB_Collector_Zusatz.BriefTexte["Text_"..i].Von == sender then if GMDB_Collector_Zusatz.BriefTexte["Text_"..i].Betreff == subject then if GMDB_Collector_Zusatz.BriefTexte["Text_"..i].Inhalt == bodyText then - PosTab = i; - self_Debug_Z("self_BriefTexte - |c00FF0000PosTab: "..PosTab.."|r"); + self_Debug_Z("self_BriefTexte - |c00FF0000PosTab: "..i.."|r"); + return; end end end end end - if PosTab ~= nil then return; end - GMDB_Main_Zusatz.totBriefTexte = GMDB_Main_Zusatz.totBriefTexte + 1; PosTab = GMDB_Main_Zusatz.totBriefTexte; GMDB_Collector_Zusatz.BriefTexte["Text_"..PosTab] = {}; @@ -238,6 +249,32 @@ function self_BriefTexte() end end +-- Box-Bestätigungstext auslesen +-- wird noch nicht geschrieben ! +function self_ConfirmText(arg1, arg2) + local Quelle = self_GetQuelle(); + Text = arg2; + self_Debug_Z("self_ConfirmText - Quelle: " ..Quelle); + self_Debug_Z("self_ConfirmText - Text: " ..Text); +--[[ + for i = 1, GMDB_Main_Zusatz.totNpcTexte, 1 do + if GMDB_Collector_Zusatz.NpcText["Text_"..i] then + if GMDB_Collector_Zusatz.NpcText["Text_"..i].Quelle == Quelle then + if GMDB_Collector_Zusatz.NpcText["Text_"..i].BoxText == Text then + return; + end + end + end + end + + GMDB_Main_Zusatz.totNpcTexte = GMDB_Main_Zusatz.totNpcTexte + 1; + PosTab = GMDB_Main_Zusatz.totNpcTexte; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab] = {}; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab].Quelle = Quelle; + GMDB_Collector_Zusatz.NpcText["Text_"..PosTab].BoxText = Text; +--]] +end + -- ******************* -- ** VERSCHIEDENES ** -- *******************