diff --git a/ElvUI_SLE/options/dev_c.lua b/ElvUI_SLE/options/dev_c.lua
index 07dc2e9..058f0e1 100644
--- a/ElvUI_SLE/options/dev_c.lua
+++ b/ElvUI_SLE/options/dev_c.lua
@@ -13,236 +13,242 @@ function SLE:GetBNetInfo()
end
end
-if SLE:Auth() then
- local selectedChannel = ''
- local UserListCache = {}
- local highestVersion = tonumber(SLE.version)
- local flag = 'SLE_DEV_SAYS'
- local addonChannel = 'GUILD'
- local addonTarget = ""
- local output = 'SAY'
- local text = ''
- local wtarget = ""
- local bnetP
-
- function SLE:delete(...)
- local _, id = ...
- id = tostring(id)
- bnettesttbl[id] = nil
- end
- SLE:RegisterEvent('BN_FRIEND_ACCOUNT_OFFLINE', 'delete')
-
- RegisterAddonMessagePrefix('SLE_DEV_INFO')
-
- local f = CreateFrame('Frame')
- f:RegisterEvent('CHAT_MSG_ADDON')
- f:RegisterEvent('BN_CHAT_MSG_ADDON')
- f:RegisterEvent('BN_FRIEND_ACCOUNT_ONLINE')
- f:RegisterEvent('PLAYER_ENTERING_WORLD')
- f:SetScript('OnEvent', function(self, event, prefix, message, channel, sender)
- if event == 'BN_FRIEND_ACCOUNT_ONLINE' or event == 'BN_FRIEND_ACCOUNT_OFFLINE' then
- SLE:GetBNetInfo()
+local function Login(self, event)
+ self:UnregisterEvent(event)
+ if SLE:Auth() then
+ local selectedChannel = ''
+ local UserListCache = {}
+ local highestVersion = tonumber(SLE.version)
+ local flag = 'SLE_DEV_SAYS'
+ local addonChannel = 'GUILD'
+ local addonTarget = ""
+ local output = 'SAY'
+ local text = ''
+ local wtarget = ""
+ local bnetP
+
+ function SLE:delete(...)
+ local _, id = ...
+ id = tostring(id)
+ bnettesttbl[id] = nil
end
+ SLE:RegisterEvent('BN_FRIEND_ACCOUNT_OFFLINE', 'delete')
+
+ RegisterAddonMessagePrefix('SLE_DEV_INFO')
+
+ local f = CreateFrame('Frame')
+ f:RegisterEvent('CHAT_MSG_ADDON')
+ f:RegisterEvent('BN_CHAT_MSG_ADDON')
+ f:RegisterEvent('BN_FRIEND_ACCOUNT_ONLINE')
+ f:RegisterEvent('PLAYER_ENTERING_WORLD')
+ f:SetScript('OnEvent', function(self, event, prefix, message, channel, sender)
+ if event == 'BN_FRIEND_ACCOUNT_ONLINE' or event == 'BN_FRIEND_ACCOUNT_OFFLINE' then
+ SLE:GetBNetInfo()
+ end
- if event == 'PLAYER_ENTERING_WORLD' then
- SLE:GetBNetInfo()
- end
+ if event == 'PLAYER_ENTERING_WORLD' then
+ SLE:GetBNetInfo()
+ end
- if prefix == 'SLE_DEV_INFO' then
- if event == 'CHAT_MSG_ADDON' or event == 'BN_CHAT_MSG_ADDON' then
- if not message:find("SLEinfo") then
- local userLevel, userClass, userName, userRealm, userVersion = strsplit('#', message)
- if (userName == E.myname and userRealm == E.myrealm) then return end;
+ if prefix == 'SLE_DEV_INFO' then
+ if event == 'CHAT_MSG_ADDON' or event == 'BN_CHAT_MSG_ADDON' then
+ if not message:find("SLEinfo") then
+ local userLevel, userClass, userName, userRealm, userVersion = strsplit('#', message)
+ if (userName == E.myname and userRealm == E.myrealm) then return end;
- userVersion = tonumber(userVersion)
+ userVersion = tonumber(userVersion)
- if userVersion > highestVersion then
- highestVersion = userVersion
- end
+ if userVersion > highestVersion then
+ highestVersion = userVersion
+ end
- local id = #UserListCache + 1;
+ local id = #UserListCache + 1;
- for i=1,#UserListCache do
- if (UserListCache[i].userName == userName and UserListCache[i].userRealm == userRealm) then
- id = i;
- break;
+ for i=1,#UserListCache do
+ if (UserListCache[i].userName == userName and UserListCache[i].userRealm == userRealm) then
+ id = i;
+ break;
+ end
end
- end
- UserListCache[id] = {
- ['userLevel'] = userLevel,
- ['userClass'] = userClass,
- ['userName'] = userName,
- ['userRealm'] = userRealm,
- ['userVersion'] = userVersion,
- }
+ UserListCache[id] = {
+ ['userLevel'] = userLevel,
+ ['userClass'] = userClass,
+ ['userName'] = userName,
+ ['userRealm'] = userRealm,
+ ['userVersion'] = userVersion,
+ }
- if (IsAddOnLoaded("ElvUI_Config")) then
- ACD:SelectGroup('ElvUI', 'sle', 'developer', 'userList')
- end
- else
- local _, numBNetOnline = BNGetNumFriends()
- for i = 1, numBNetOnline do
- local presenceID, presenceName, _, _, toon, _, _, _ = BNGetFriendInfo(i)
- message = message:gsub("SLEinfo", '')
- local pid = tonumber(message)
- if pid == presenceID then
- bnettesttbl[message] = presenceName;
+ if (IsAddOnLoaded("ElvUI_Config")) then
+ ACD:SelectGroup('ElvUI', 'sle', 'developer', 'userList')
+ end
+ else
+ local _, numBNetOnline = BNGetNumFriends()
+ for i = 1, numBNetOnline do
+ local presenceID, presenceName, _, _, toon, _, _, _ = BNGetFriendInfo(i)
+ message = message:gsub("SLEinfo", '')
+ local pid = tonumber(message)
+ if pid == presenceID then
+ bnettesttbl[message] = presenceName;
+ end
end
end
end
end
- end
- end)
-
- local function configTable()
- E.Options.args.sle.args.developer = {
- order = 999,
- type = 'group',
- name = "Developer",
- childGroups = 'tab',
- args = {
- header = {
- order = 1,
- type = "header",
- name = "Evil Overlord Control Panel",
- },
- testdesc = {
- order = 2,
- type = "description",
- name = "WTF are you doing here, asshole?!",
- },
- userList = {
- order = 3,
- type = "group",
- name = "User List",
- args = {
- listheader = {
- order = 1,
- type = "header",
- name = "List of possible victims",
- },
- List = {
- type = 'select',
- name = 'Choose a channel',
- order = 2,
- get = function() return selectedChannel end,
- set = function(_, value)
- selectedChannel = value
- end,
- values = {
- [''] = ' ',
- ['GUILD'] = 'Guild',
- ['INSTANCE_CHAT'] = 'Instance',
- ['PARTY'] = 'Party',
- ['RAID'] = 'Raid',
- ['BNET'] = 'BNet',
+ end)
+
+ local function configTable()
+ E.Options.args.sle.args.developer = {
+ order = 999,
+ type = 'group',
+ name = "Developer",
+ childGroups = 'tab',
+ args = {
+ header = {
+ order = 1,
+ type = "header",
+ name = "Evil Overlord Control Panel",
+ },
+ testdesc = {
+ order = 2,
+ type = "description",
+ name = "WTF are you doing here, asshole?!",
+ },
+ userList = {
+ order = 3,
+ type = "group",
+ name = "User List",
+ args = {
+ listheader = {
+ order = 1,
+ type = "header",
+ name = "List of possible victims",
},
- },
- submitbutton = {
- type = 'execute',
- order = 3,
- name = function()
- return selectedChannel ~= '' and "Update List" or "Clear List"
- end,
- func = function(info, value)
- UserListCache = {} -- Clear Cache
-
- if selectedChannel == 'BNET' then
- local _, numBNetOnline = BNGetNumFriends()
- for i = 1, numBNetOnline do
- local presenceID, _, _, _, _, _, client, isOnline = BNGetFriendInfo(i)
- if isOnline and client == BNET_CLIENT_WOW then
- BNSendGameData(presenceID, 'SLE_DEV_REQ', 'userlist')
+ List = {
+ type = 'select',
+ name = 'Choose a channel',
+ order = 2,
+ get = function() return selectedChannel end,
+ set = function(_, value)
+ selectedChannel = value
+ end,
+ values = {
+ [''] = ' ',
+ ['GUILD'] = 'Guild',
+ ['INSTANCE_CHAT'] = 'Instance',
+ ['PARTY'] = 'Party',
+ ['RAID'] = 'Raid',
+ ['BNET'] = 'BNet',
+ },
+ },
+ submitbutton = {
+ type = 'execute',
+ order = 3,
+ name = function()
+ return selectedChannel ~= '' and "Update List" or "Clear List"
+ end,
+ func = function(info, value)
+ UserListCache = {} -- Clear Cache
+
+ if selectedChannel == 'BNET' then
+ local _, numBNetOnline = BNGetNumFriends()
+ for i = 1, numBNetOnline do
+ local presenceID, _, _, _, _, _, client, isOnline = BNGetFriendInfo(i)
+ if isOnline and client == BNET_CLIENT_WOW then
+ BNSendGameData(presenceID, 'SLE_DEV_REQ', 'userlist')
+ end
end
+ elseif selectedChannel ~= '' then
+ SendAddonMessage('SLE_DEV_REQ', 'userlist', selectedChannel)
end
- elseif selectedChannel ~= '' then
- SendAddonMessage('SLE_DEV_REQ', 'userlist', selectedChannel)
- end
- end,
- },
- Space = {
- type = 'description',
- name = ' ',
- order = 4,
- },
- userList = {
- type = 'group',
- name = function()
- return 'Userlist : '..selectedChannel
- end,
- order = 5,
- guiInline = true,
- args = {},
- hidden = function() return selectedChannel == '' end,
+ end,
+ },
+ Space = {
+ type = 'description',
+ name = ' ',
+ order = 4,
+ },
+ userList = {
+ type = 'group',
+ name = function()
+ return 'Userlist : '..selectedChannel
+ end,
+ order = 5,
+ guiInline = true,
+ args = {},
+ hidden = function() return selectedChannel == '' end,
+ },
},
},
- },
- devdiaggroup = {
- order = 5,
- type = "group",
- name = "Tech and shit",
- args = {
- subgroup = {
- order = 1,
- type = "header",
- name = "Some tech stuff",
- },
- cpuprofiling = {
- order = 2,
- type = 'execute',
- name = "CPU Profiling",
- func = function() SetCVar("scriptProfile", GetCVar("scriptProfile") == "1" and 0 or 1); ReloadUI() end,
+ devdiaggroup = {
+ order = 5,
+ type = "group",
+ name = "Tech and shit",
+ args = {
+ subgroup = {
+ order = 1,
+ type = "header",
+ name = "Some tech stuff",
+ },
+ cpuprofiling = {
+ order = 2,
+ type = 'execute',
+ name = "CPU Profiling",
+ func = function() SetCVar("scriptProfile", GetCVar("scriptProfile") == "1" and 0 or 1); ReloadUI() end,
+ },
},
},
- },
- devgroupone = {
- order = 500,
- type = "group",
- name = "Test Group",
- args = {
- subgroup = {
- order = 1,
- type = "header",
- name = "Dafuq we have this?",
+ devgroupone = {
+ order = 500,
+ type = "group",
+ name = "Test Group",
+ args = {
+ subgroup = {
+ order = 1,
+ type = "header",
+ name = "Dafuq we have this?",
+ },
},
},
},
- },
- }
-
- for i = 1, 40 do
- E.Options.args.sle.args.developer.args.userList.args.userList.args[tostring(i)] = {
- type = 'description',
- order = i,
- name = function()
- if UserListCache[i] then
- local Level = GetQuestDifficultyColor(UserListCache[i]['userLevel'])
- Level = format('|cff%02x%02x%02x%s|r', Level.r *255, Level.g *255, Level.b *255, UserListCache[i]['userLevel'])
-
- local ClassColor = '|c'..RAID_CLASS_COLORS[(UserListCache[i]['userClass'])]['colorStr']
- local UserName = ClassColor..UserListCache[i]['userName']..'|r'
-
- local UserRealm = UserListCache[i]['userRealm']
-
- local UserVersion = UserListCache[i]['userVersion']
- UserVersion = (UserVersion == highestVersion and '|cffceff00' or '|cffff5678')..UserVersion
-
- local Icon = '';
- local realm = UserRealm:gsub(' ','');
- if (SLE.SpecialChatIcons[realm] and SLE.SpecialChatIcons[realm][UserListCache[i]['userName']]) then
- Icon = SLE.SpecialChatIcons[realm][UserListCache[i]['userName']];
-
- end
- return Level..' '..UserName.. '|cffffffff - '..UserRealm..' : '..UserVersion..Icon
- else
- return ' '
- end
- end,
- hidden = function() return not UserListCache[i] end,
}
+
+ for i = 1, 40 do
+ E.Options.args.sle.args.developer.args.userList.args.userList.args[tostring(i)] = {
+ type = 'description',
+ order = i,
+ name = function()
+ if UserListCache[i] then
+ local Level = GetQuestDifficultyColor(UserListCache[i]['userLevel'])
+ Level = format('|cff%02x%02x%02x%s|r', Level.r *255, Level.g *255, Level.b *255, UserListCache[i]['userLevel'])
+
+ local ClassColor = '|c'..RAID_CLASS_COLORS[(UserListCache[i]['userClass'])]['colorStr']
+ local UserName = ClassColor..UserListCache[i]['userName']..'|r'
+
+ local UserRealm = UserListCache[i]['userRealm']
+
+ local UserVersion = UserListCache[i]['userVersion']
+ UserVersion = (UserVersion == highestVersion and '|cffceff00' or '|cffff5678')..UserVersion
+
+ local Icon = '';
+ local realm = UserRealm:gsub(' ','');
+ if (SLE.SpecialChatIcons[realm] and SLE.SpecialChatIcons[realm][UserListCache[i]['userName']]) then
+ Icon = SLE.SpecialChatIcons[realm][UserListCache[i]['userName']];
+
+ end
+ return Level..' '..UserName.. '|cffffffff - '..UserRealm..' : '..UserVersion..Icon
+ else
+ return ' '
+ end
+ end,
+ hidden = function() return not UserListCache[i] end,
+ }
+ end
end
- end
- table.insert(E.SLEConfigs, configTable)
-end
\ No newline at end of file
+ table.insert(E.SLEConfigs, configTable)
+ end
+end
+local f = CreateFrame("Frame", "SLE_Dev_load", UIParent)
+f:RegisterEvent("PLAYER_ENTERING_WORLD")
+f:SetScript("OnEvent", Login)
\ No newline at end of file