Prüfen ob ein Hook existiert

12/22/2010 09:34 Cencil#1
Ich denke hier passt das Thema ganz gut rein. Es geht darum einen Hook auf den DEFAULT_CHAT_FRAME zu erkennen, da ich diesen Hook nicht per Addon sondern per 'Hack' verwende, ist die Synchronisierung nicht besonders sauber.

Das Problem: Entlade ich den Hack und lade ihn erneut in den WoW Prozess, wird mein Hook - nämlich folgender:
Code:
DEFAULT_CHAT_FRAME:HookScript("OnHyperlinkClick", function(...) HandleChatHyperlink(...) end)
Immer wieder installiert. Dies ist natürlich nicht gerade schön, da so HandleChatHyperlink bei einem Klick auf einen Link im Chat mehrmals ausgeführt wird. Eine Möglichkeit Hooks zu entfernen gibt es soweit ich erfahren habe nicht. Da ich nun keine Ahnung von der WoW API und geschweige denn LUA habe, würde ich mich sehr über eure Hilfe freuen.

Gibt es da eine Möglichkeit einen bereits existenten Hook zu erkennen? Ansonsten müsste ich wohl schwerere Geschütze auffahren und im WoW Prozess rumfummeln...
12/22/2010 16:51 Bl@ze!#2
Es gibt ja in LUA diese Metatables vllt. kann man die ja benutzen oder es gibt die registered Functions von WoW. Vielleicht gibts auch etwas bezüglich der registered Hooks, aber mehr kann ich dazu auch nicht sagen.
12/22/2010 17:54 Cencil#3
Werde mal schauen ob man was aus eines der Addons rausklauen kann, einige scheinen mir eine selbst implementierte Unhook Funktion zu haben. Sollte ich eine für mich akzeptable Lösung gefunden haben, hau ich sie ins Edit rein.

PS: Hack Funktionen im Chat anklickbar zu machen ist geil, möchte das schon jetzt nicht mehr missen obwohl es (noch) nicht sauber funktioniert :awesome: