if iIndex ~= nil then |
--DirtyRecruit.Print(iIndex..": "..DirtyRecruit.PerPlayer.Ad) |
SendChatMessage(DirtyRecruit.PerPlayer.Ad, "CHANNEL", nil, iIndex) |
SendAddonMessage("DirtyRecruit", "guildAdvertised:"..GetZoneText(), "GUILD") |
SendAddonMessage("DirtyRecruit", "guildAdvertised:"..GetZoneText()..":"..UnitName("player"), "GUILD") |
end |
end |
end |
|
function DirtyRecruit.LoadPanel() |
DirtyRecruit.Panel = CreateFrame("Frame", "DirtyRecruitPanel", UIParent) |
DirtyRecruit.Panel.name = "DirtyRecruit" |
DirtyRecruit.Panel.okay = function(self) DirtyRecruit.Panel_Okay() end |
DirtyRecruit.Panel.default = function(self) DirtyRecruit.Panel_Default() end |
|
DirtyRecruit.Font_Title = DirtyRecruit.Panel:CreateFontString(nil, "OVERLAY", "GameFontNormalLarge") |
DirtyRecruit.Font_Title:SetPoint("TOPLEFT", DirtyRecruit.Panel, "TOPLEFT", 15, -15) |
DirtyRecruit.Font_Title:SetText("DirtyRecruit v"..DirtyRecruit.Version) |
-- |
DirtyRecruit.Font_Desc = DirtyRecruit.Panel:CreateFontString(nil, "OVERLAY", "GameFontHighlightSmall") |
DirtyRecruit.Font_Desc:SetPoint("TOPLEFT", DirtyRecruit.Font_Title, "BOTTOMLEFT", 0, -10) |
DirtyRecruit.Font_Desc:SetText("I did it all for the nookie.") |
-- Active |
DirtyRecruit.Font_Active = DirtyRecruit.Panel:CreateFontString(nil, "OVERLAY", "GameFontNormal") |
DirtyRecruit.Font_Active:SetPoint("TOPLEFT", DirtyRecruit.Font_Desc, "TOPLEFT", 0, -25) |
DirtyRecruit.Font_Active:SetText("Enable:") |
DirtyRecruit.CheckBox_Active = CreateFrame("CheckButton", "DirtyRecruitCheckBox_Active", DirtyRecruit.Panel, "InterfaceOptionsCheckButtonTemplate") |
DirtyRecruit.CheckBox_Active:SetPoint("TOPLEFT", DirtyRecruit.Font_Active, "TOPRIGHT", 10, 5) |
-- Spam |
DirtyRecruit.Font_Spam = DirtyRecruit.Panel:CreateFontString(nil, "OVERLAY", "GameFontNormal") |
DirtyRecruit.Font_Spam:SetPoint("TOPLEFT", DirtyRecruit.Font_Active, "TOPLEFT", 0, -25) |
DirtyRecruit.Font_Spam:SetText("Spam:") |
DirtyRecruit.Menu_Spam = CreateFrame("Frame", "DirtyRecruitMenu_Spam", DirtyRecruit.Panel, "UIDropDownMenuTemplate") |
DirtyRecruit.Menu_Spam:SetPoint("TOPLEFT", DirtyRecruit.Font_Spam, "TOPRIGHT", 10, 5) |
UIDropDownMenu_SetWidth(DirtyRecruit.Menu_Spam, 125) |
-- UpdateInterval |
DirtyRecruit.Font_UpdateInterval = DirtyRecruit.Panel:CreateFontString(nil, "OVERLAY", "GameFontNormal") |
DirtyRecruit.Font_UpdateInterval:SetPoint("TOPLEFT", DirtyRecruit.Font_Spam, "TOPLEFT", 0, -30) |
DirtyRecruit.Font_UpdateInterval:SetText("Spam Interval:") |
DirtyRecruit.EditBox_UpdateInterval = CreateFrame("EditBox", "DirtyRecruitEditBox_UpdateInterval", DirtyRecruit.Panel) |
DirtyRecruit.EditBox_UpdateInterval:SetPoint("TOPLEFT", DirtyRecruit.Font_UpdateInterval, "TOPRIGHT", 10, 5) |
DirtyRecruit.EditBox_UpdateInterval:SetWidth(60) |
DirtyRecruit.EditBox_UpdateInterval:SetHeight(20) |
DirtyRecruit.EditBox_UpdateInterval:SetAutoFocus(false) |
DirtyRecruit.EditBox_UpdateInterval:SetFontObject(GameFontHighlightSmall) |
DirtyRecruit.EditBox_UpdateInterval:SetTextInsets(8, 8, 8, 8) |
DirtyRecruit.EditBox_UpdateInterval:SetBackdrop |
{ |
bgFile = "Interface\\ChatFrame\\ChatFrameBackground", |
edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", |
edgeSize = 16, |
insets = |
{ |
left = 4, |
right = 4, |
top = 4, |
bottom = 4 |
}, |
} |
DirtyRecruit.EditBox_UpdateInterval:SetBackdropColor(.1, .1, .1, 1) |
DirtyRecruit.EditBox_UpdateInterval:SetNumeric(true) |
-- Ad |
DirtyRecruit.Font_Ad = DirtyRecruit.Panel:CreateFontString(nil, "OVERLAY", "GameFontNormal") |
DirtyRecruit.Font_Ad:SetPoint("TOPLEFT", DirtyRecruit.Font_UpdateInterval, "TOPLEFT", 0, -30) |
DirtyRecruit.Font_Ad:SetText("Ad:") |
DirtyRecruit.EditBox_Ad = CreateFrame("EditBox", "DirtyRecruitEditBox_Ad", DirtyRecruit.Panel) |
DirtyRecruit.EditBox_Ad:SetPoint("TOPLEFT", DirtyRecruit.Font_Ad, "TOPRIGHT", 10, 5) |
DirtyRecruit.EditBox_Ad:SetWidth(300) |
DirtyRecruit.EditBox_Ad:SetHeight(160) |
DirtyRecruit.EditBox_Ad:SetMaxLetters(255) |
DirtyRecruit.EditBox_Ad:SetMultiLine(true) |
DirtyRecruit.EditBox_Ad:SetAutoFocus(false) |
DirtyRecruit.EditBox_Ad:SetFontObject(GameFontHighlightSmall) |
DirtyRecruit.EditBox_Ad:SetTextInsets(8, 8, 8, 8) |
DirtyRecruit.EditBox_Ad:SetBackdrop |
{ |
bgFile = "Interface\\ChatFrame\\ChatFrameBackground", |
edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", |
edgeSize = 16, |
insets = |
{ |
left = 4, |
right = 4, |
top = 4, |
bottom = 4 |
}, |
} |
DirtyRecruit.EditBox_Ad:SetBackdropColor(.1, .1, .1, 1) |
-- |
DirtyRecruit.Panel:SetScript("OnShow", DirtyRecruit.Panel_OnShow) |
DirtyRecruit.Panel.show = false |
InterfaceOptions_AddCategory(DirtyRecruit.Panel) |
end |
|
function DirtyRecruit.Panel_OnShow() |
-- Active |
DirtyRecruit.CheckBox_Active:SetChecked(DirtyRecruit.PerPlayer.Active) |
-- Spam |
UIDropDownMenu_Initialize(DirtyRecruit.Menu_Spam, DirtyRecruit.Panel_Menu_Spam) |
UIDropDownMenu_SetSelectedValue(DirtyRecruit.Menu_Spam, DirtyRecruit.PerPlayer.Spam) |
-- UpdateInterval |
DirtyRecruit.EditBox_UpdateInterval:SetNumber(DirtyRecruit.PerPlayer.UpdateInterval) |
-- Ad |
DirtyRecruit.EditBox_Ad:SetText(DirtyRecruit.PerPlayer.Ad) |
-- |
DirtyRecruit.Panel.shown = true |
end |
|
function DirtyRecruit.Panel_Menu_Spam() |
local level = level or 1 |
local info = UIDropDownMenu_CreateInfo() |
|
info.text = "All Channels" |
info.value = "all" |
info.func = function() DirtyRecruit.Panel_ClickMenu() end |
info.owner = this:GetParent() |
info.checked = nil |
info.icon = nil |
UIDropDownMenu_AddButton(info, level) |
|
info.text = "Guild Recruitment" |
info.value = "guild" |
info.func = function() DirtyRecruit.Panel_ClickMenu() end |
info.owner = this:GetParent() |
info.checked = nil |
info.icon = nil |
UIDropDownMenu_AddButton(info, level) |
|
info.text = "Trade Channel" |
info.value = "trade" |
info.func = function() DirtyRecruit.Panel_ClickMenu() end |
info.owner = this:GetParent() |
info.checked = nil |
info.icon = nil |
UIDropDownMenu_AddButton(info, level) |
|
info.text = "Major City: General" |
info.value = "major" |
info.func = function() DirtyRecruit.Panel_ClickMenu() end |
info.owner = this:GetParent() |
info.checked = nil |
info.icon = nil |
UIDropDownMenu_AddButton(info, level) |
|
info.text = "General" |
info.value = "general" |
info.func = function() DirtyRecruit.Panel_ClickMenu() end |
info.owner = this:GetParent() |
info.checked = nil |
info.icon = nil |
UIDropDownMenu_AddButton(info, level) |
end |
|
function DirtyRecruit.Panel_ClickMenu() |
UIDropDownMenu_SetSelectedValue(this.owner, this.value); |
end |
|
function DirtyRecruit.Panel_Okay() |
if DirtyRecruit.Panel.shown then |
-- Active |
if DirtyRecruit.CheckBox_Active:GetChecked() then |
DirtyRecruit.PerPlayer.Active = true |
else |
DirtyRecruit.PerPlayer.Active = nil |
end |
-- Spam |
DirtyRecruit.PerPlayer.Spam = UIDropDownMenu_GetSelectedValue(DirtyRecruit.Menu_Spam) |
local id = GetChannelName(4) |
if DirtyRecruit.PerPlayer.Spam == "all" or DirtyRecruit.PerPlayer.Spam == "guild" then |
if id == 0 then |
JoinChannelByName("GuildRecruitment") |
end |
elseif id > 0 then |
LeaveChannelByName("GuildRecruitment") |
end |
-- UpdateInterval |
local UpdateInterval = DirtyRecruit.EditBox_UpdateInterval:GetNumber() |
if UpdateInterval >= 60 then |
DirtyRecruit.PerPlayer.UpdateInterval = DirtyRecruit.EditBox_UpdateInterval:GetNumber() |
end |
-- Ad |
DirtyRecruit.PerPlayer.Ad = DirtyRecruit.EditBox_Ad:GetText() |
DirtyRecruit.UpdateSettings() |
end |
end |
|
function DirtyRecruit.Panel_Default() |
DirtyRecruit.PerPlayer = |
{ |
Active = nil, |
InCombat = nil, |
Spam = "guild", |
UpdateInterval = 300.0, -- 5 minutes |
Ad = "--MyGuild-- is recruiting any level players for groups and end game content. We have a Guild Tabard, Vent, and Website PST if you want to join some of the best players in the game." |
} |
DirtyRecruit.UpdateSettings() |
DirtyRecruit.Panel_OnShow() |
end |
|
function DirtyRecruit.OnUpdateSpam(self, elapsed) |
--DirtyRecruit.Print("OnUpdate") |
local UpdateInterval = tonumber(DirtyRecruit.PerPlayer.UpdateInterval) |