|
]]-- |
|
ASNAP_Setting = { |
local CHARACTER_MAXLEVEL = 80; |
|
AchievementSnap = { |
|
Setting = { |
Version = GetAddOnMetadata("AchievementSnap", "Version"); |
Revision = tonumber(strsub("$Rev: 1057 $", 7, strlen("$Rev: 1057 $") - 2)); |
} |
}, |
|
ASNAP_Options = { |
Active = 1; |
MinLevel = 1; |
MaxLevel = 80; |
} |
On = { |
|
ASNAP_On = { |
|
Load = function() |
|
ASNAP_Register.RegisterEvent("ACHIEVEMENT_EARNED") |
|
if (Khaos) then |
ASNAP_Register.Khaos(); |
else |
ASNAP_Register.SlashCommands() |
end |
|
end; |
|
Event = function(event) |
|
if ( event == "ACHIEVEMENT_EARNED" and ASNAP_Options.Active == 1 ) then |
if (UnitLevel("player") >= ASNAP_Options.MinLevel and UnitLevel("player") <= ASNAP_Options.MaxLevel) then |
if (ASNAP_Options.CloseWindows == 1) then |
if ( event == "ACHIEVEMENT_EARNED" and AchievementSnap_SavedVars.Enabled ) then |
if (UnitLevel("player") >= AchievementSnap_SavedVars.MinLevel and UnitLevel("player") <= AchievementSnap_SavedVars.MaxLevel) then |
if (AchievementSnap_SavedVars.CloseWindows == 1) then |
CloseAllWindows() |
RequestTimePlayed() |
ASNAP_Function.TakeScreenshot() |
AchievementSnap.Function.TakeScreenshot() |
else |
RequestTimePlayed() |
ASNAP_Function.TakeScreenshot() |
AchievementSnap.Function.TakeScreenshot() |
end |
end |
end |
|
end; |
|
} |
}, |
|
ASNAP_Register = { |
Function = { |
|
RegisterEvent = function(event) |
this:RegisterEvent(event) |
end; |
|
SlashCommands = function() |
SLASH_ASNAP_HELP1 = "/asnap"; |
SLASH_ASNAP_HELP2 = "/achievementsnap"; |
SlashCmdList["ASNAP_HELP"] = ASNAP_Command; |
end; |
|
Khaos = function() |
local version = ASNAP_Setting.Version.."."..ASNAP_Setting.Revision |
|
local optionSet = { |
id = "AchievementSnap"; |
text = function() return ASNAP_TITLE end; |
helptext = function() return ASNAP_INFO end; |
difficulty = 1; |
default = true; |
callback = function(checked) |
ASNAP_Options.Active = checked and 1 or 0; |
end; |
options = { |
{ |
id = "Header"; |
text = function() return ASNAP_TITLE.." "..ASNAP_Color.Green("v"..version) end; |
helptext = function() return ASNAP_INFO end; |
type = K_HEADER; |
difficulty = 1; |
}; |
|
{ |
id="ASNAP_MinLevel"; |
type = K_SLIDER; |
text = function() return ASNAP_MINIMUM end; |
helptext = function() return ASNAP_HELP_MIN end; |
difficulty = 1; |
feedback = function(state) |
return string.format(ASNAP_MINMAXSET2, ASNAP_MINIMUM, state.slider); |
end; |
callback = function(state) |
if (state.slider >= ASNAP_Options.MaxLevel) then |
Khaos.setSetKeyParameter("AchievementSnap","ASNAP_MaxLevel", "slider", state.slider); |
Khaos.refresh(false, false, true); |
end; |
ASNAP_Options.MinLevel = state.slider; |
end; |
default = { checked = true; slider = 1 }; |
disabled = { checked = false; slider = 1 }; |
setup = { |
sliderMin = 1; |
sliderMax = 80; |
sliderStep = 1; |
sliderDisplayFunc = function(val) |
return val; |
end; |
}; |
}; |
|
|
{ |
id="ASNAP_MaxLevel"; |
type = K_SLIDER; |
text = function() return ASNAP_MAXIMUM end; |
helptext = function() return ASNAP_HELP_MAX end; |
difficulty = 1; |
feedback = function(state) |
return string.format(ASNAP_MINMAXSET2, ASNAP_MAXIMUM, state.slider); |
end; |
callback = function(state) |
if (state.slider <= ASNAP_Options.MinLevel) then |
Khaos.setSetKeyParameter("AchievementSnap","ASNAP_MinLevel", "slider", state.slider); |
Khaos.refresh(false, false, true); |
end; |
ASNAP_Options.MaxLevel = state.slider; |
end; |
default = { checked = false; slider = 80 }; |
disabled = { checked = false; slider = 80 }; |
setup = { |
sliderMin = 1; |
sliderMax = 80; |
sliderStep = 1; |
sliderDisplayFunc = function(val) |
return val; |
end; |
}; |
}; |
|
{ |
id = "ASNAP_CloseWindows"; |
type = K_TEXT; |
text = function() return ASNAP_CLOSEWIN end; |
helptext = function() return ASNAP_HELP_CLOSEWIN end; |
difficulty = 1; |
feedback = function(state) |
if (state.checked) then |
return string.format(ASNAP_CLOSEALL, ASNAP_ENABLED); |
else |
return string.format(ASNAP_CLOSEALL, ASNAP_DISABLED); |
end |
end; |
callback = function(state) |
if (state.checked) then |
ASNAP_Options.CloseWindows = 1; |
else |
ASNAP_Options.CloseWindows = 0; |
end |
end; |
check = true; |
default = { checked = false }; |
disabled = { checked = true }; |
}; |
|
{ |
id = "ASNAP_Status"; |
type = K_BUTTON; |
text = function() return ASNAP_STATUS end; |
helptext = function() return ASNAP_HELP_STATUS end; |
difficulty = 1; |
callback = function(state) |
ASNAP_Out.Status() |
end; |
feedback = function(state) end; |
setup = { buttonText = function() return ASNAP_STATUS end; }; |
}; |
|
}; |
}; |
Khaos.registerOptionSet( |
"other", |
optionSet |
); |
|
end; |
|
} |
|
ASNAP_Function = { |
|
TakeScreenshot = function() |
Chronos.schedule(1, TakeScreenshot) |
end; |
|
} |
}, |
|
ASNAP_Out = { |
Out = { |
|
Print = function(msg) |
local color = NORMAL_FONT_COLOR; |
DEFAULT_CHAT_FRAME:AddMessage(ASNAP_TITLE..": "..msg, color.r, color.g, color.b) |
DEFAULT_CHAT_FRAME:AddMessage(ASNAP_TITLE..": "..msg, NORMAL_FONT_COLOR.r, NORMAL_FONT_COLOR.g, NORMAL_FONT_COLOR.b) |
end; |
|
Status = function() |
local active = ASNAP_Color.Green(ASNAP_ENABLED) |
local closeall = ASNAP_Color.Green(ASNAP_ENABLED) |
local active = AchievementSnap.Color.Green(ASNAP_ENABLED) |
local closeall = AchievementSnap.Color.Green(ASNAP_ENABLED) |
|
if (ASNAP_Options.Active == 0) then |
active = ASNAP_Color.Red(ASNAP_DISABLED) |
if (not AchievementSnap_SavedVars.Enabled) then |
active = AchievementSnap.Color.Red(ASNAP_DISABLED) |
end |
if (ASNAP_Options.CloseWindows == 0) then |
closeall = ASNAP_Color.Red(ASNAP_DISABLED) |
if (not AchievementSnap_SavedVars.CloseWindows) then |
closeall = AchievementSnap.Color.Red(ASNAP_DISABLED) |
end |
|
ASNAP_Out.Print("AddOn "..active..". "..string.format(ASNAP_MINMAXSET2, ASNAP_MINIMUM, ASNAP_Color.Green(ASNAP_Options.MinLevel)).." "..string.format(ASNAP_MINMAXSET2, ASNAP_MAXIMUM, ASNAP_Color.Green(ASNAP_Options.MaxLevel)).." "..string.format(ASNAP_CLOSEALL, closeall)) |
end; |
AchievementSnap.Out.Print("AddOn "..active) |
AchievementSnap.Out.Print(format(ASNAP_MINMAXSET2, ASNAP_MINIMUM, AchievementSnap.Color.Green(AchievementSnap_SavedVars.MinLevel))) |
AchievementSnap.Out.Print(format(ASNAP_MINMAXSET2, ASNAP_MAXIMUM, AchievementSnap.Color.Green(AchievementSnap_SavedVars.MaxLevel))) |
AchievementSnap.Out.Print(format(ASNAP_CLOSEALL, closeall)) end; |
|
Version = function() |
local version = ASNAP_Setting.Version.."."..ASNAP_Setting.Revision |
ASNAP_Out.Print(ASNAP_VERSION..": "..ASNAP_Color.Green(version)) |
local version = AchievementSnap.Setting.Version.."."..AchievementSnap.Setting.Revision |
AchievementSnap.Out.Print(ASNAP_VERSION..": "..AchievementSnap.Color.Green(version)) |
end; |
|
} |
}, |
|
ASNAP_Color = { |
Color = { |
|
Green = function(msg) |
return "|cff00cc00"..msg.."|r"; |