ovolkov@0: local aName, aEnv = ... ovolkov@0: ovolkov@0: local strchar = string.char ovolkov@0: local strbyte = string.byte ovolkov@0: local random = random ovolkov@0: local strsub = strsub ovolkov@0: local tonumber = tonumber ovolkov@0: ovolkov@0: local function UniqSlashID(base, maxNumber) ovolkov@0: local clear = true ovolkov@0: for idx = 1, maxNumber do ovolkov@0: if _G["SLASH_" .. base .. idx] then clear = false break end ovolkov@0: end ovolkov@0: if SlashCmdList[base] then clear = false end ovolkov@0: if clear then return base end ovolkov@0: return UniqSlashID(base .. (strchar(random(strbyte('a'), strbyte('z')))), maxNumber) ovolkov@0: end ovolkov@0: ovolkov@0: local slashID ovolkov@0: ovolkov@0: slashID=UniqSlashID("LFGActivityFilter", 1) ovolkov@0: _G["SLASH_" .. slashID .. "1"] = "/lfgaf" ovolkov@0: SlashCmdList[slashID] = function(activities) ovolkov@0: wipe(aEnv.LFGFilter_Allow_Activity) ovolkov@0: local count = 0 ovolkov@0: for activity in string.gmatch(activities, "[^ ]+") do ovolkov@0: local activity_id = tonumber(activity) ovolkov@0: local activity_name ovolkov@0: if activity_id then activity_name = C_LFGList.GetActivityInfo(activity_id) end ovolkov@0: if activity_name then ovolkov@0: print("Adding wanted activity to filter: ", activity_name) ovolkov@0: aEnv.LFGFilter_Allow_Activity[activity_id] = true ovolkov@0: count = count + 1 ovolkov@0: else ovolkov@0: print("Can't parse activity ID or it doesn't match known activity: ", activity_id) ovolkov@0: end ovolkov@0: end ovolkov@0: aEnv.LFGFilter_Allow_Activity.count = count ovolkov@0: if count > 0 then ovolkov@0: print("Activities in filter: ", count) ovolkov@0: else ovolkov@0: print("Filters removed.") ovolkov@0: end ovolkov@0: end ovolkov@0: ovolkov@0: slashID=UniqSlashID("LFGActivityList", 1) ovolkov@0: _G["SLASH_" .. slashID .. "1"] = "/lfgal" ovolkov@0: SlashCmdList[slashID] = function() ovolkov@0: for activity_id = 1, 10000 do ovolkov@0: local activity_name = C_LFGList.GetActivityInfo(activity_id) ovolkov@0: if activity_name then ovolkov@0: print(activity_id, activity_name) ovolkov@0: end ovolkov@0: end ovolkov@0: end