-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmain.lua
More file actions
86 lines (71 loc) · 2.3 KB
/
main.lua
File metadata and controls
86 lines (71 loc) · 2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
-- Author : Prosper
-- Addon made for Pleinozas
-- Hello
print("ChatExtractor - /chextract - /chex")
print("The extracted data is in WTF\\Account\\<account_number>\\SavedVariables\\ChatExtractor.lua")
print("To force a save, just use /reload")
-- Env
ED = nil
recording = false
-- Catching system messages
local msg_frame = CreateFrame("Frame")
msg_frame:RegisterEvent("CHAT_MSG_SYSTEM")
msg_frame:SetScript("OnEvent",
function(self, event, ...)
local arg1 = ...
if recording and string.find(arg1, "Hgameobject_entry:") then
--print(string.len(arg1))
--print(tostring(arg1))
Id = tonumber(string.match(arg1, '%d*'))
Name = string.sub(string.match(arg1, '%[.*%]'), 2, -2)
--print(Id.." - "..Name)
ED[Id] = Name
ED["size"] = ED["size"] + 1
--print(ED["size"])
ExtractedData = ED -- save
end
end)
-- Slash commands
SLASH_CHEXTR1 = "/chextract"
SLASH_CHEXTR2 = "/chex"
SlashCmdList["CHEXTR"] = function(msg)
if msg == "start" then
print("ChatExtractor now records system messages")
recording = true
elseif msg == "end" then
print("ChatExtractor no longer records system messages")
recording = false
elseif msg == "reset" then
print("ChatExtractor : content deleted")
recording = false
ExtractedData = {}
ExtractedData["size"] = 0
ED = ExtractedData
elseif msg == "size" then
print(ED["size"])
else
print("ChatExtractor : ")
print(" /chextract start : start recording system messages")
print(" /chextract end : stop recording system messages")
print(" /chextract reset : delete all saved content")
end
end
-- Init on load
local load_frame = CreateFrame("Frame")
load_frame:RegisterEvent("ADDON_LOADED")
load_frame:SetScript("OnEvent",
function(self, event, ...)
--print(ExtractedData)
recording = false
ED = ExtractedData
if ED == nil then
ED = {}
ED["size"] = 0
end
if ED["size"] == nil then
ED = {}
ED["size"] = 0
end
--print(ED)
--print(ED["size"])
end)