/
--if ( GetLocale() == "enUS" ) then |
LS_TITLE = "LevelSnap"; |
LS_INFO = "Automatically snaps a screen shot when you level."; |
LS_TITLE = "LevelSnap"; |
LS_INFO = "Automatically snaps a screen shot when you level."; |
LS_ENABLED = "Enabled"; |
LS_DISABLED = "Disabled"; |
<Frame name="LevelSnapFrame" hidden="true"> |
<Scripts> |
<OnLoad> |
LS_On.Load(); |
LevelSnap.On.Load(); |
</OnLoad> |
<OnEvent> |
LS_On.Event(event); |
LevelSnap.On.Event(event); |
</OnEvent> |
</Scripts> |
</Frame> |
id = "LevelSnap"; |
options = { |
{ |
id = "LS_Active", |
id = "Enabled", |
text = LS_ENABLED, |
tooltipText = LS_HELP_ONOFF, |
type = CONTROLTYPE_CHECKBOX, |
defaultValue = "1", |
callback = function(value) |
LS_Options.Active = value; |
end; |
}; |
{ |
id = "LS_MinLevel", |
id = "MinLevel", |
text = LS_MINIMUM, |
tooltipText = LS_HELP_MIN, |
type = CONTROLTYPE_SLIDER, |
minText = "Min", |
maxText = "Max", |
defaultValue = LS_Options.MinLevel, |
defaultValue = "1", |
minValue = "1", |
maxValue = "80", |
valueStep = "1", |
callback = function(value) |
if (value >= LS_Options.MaxLevel) then |
LS_Options.MaxLevel = value; |
if (value >= LevelSnap_SavedVars["MaxLevel"]) then |
LevelSnap_SavedVars.MaxLevel(value == value); |
end; |
LS_Options.MinLevel = value; |
end; |
}; |
{ |
id = "LS_MaxLevel", |
id = "MaxLevel", |
text = LS_MAXIMUM, |
tooltipText = LS_HELP_MAX, |
type = CONTROLTYPE_SLIDER, |
minText = "Min", |
maxText = "Max", |
defaultValue = LS_Options.MaxLevel, |
defaultValue = "80", |
minValue = "1", |
maxValue = "80", |
valueStep = "1", |
callback = function(value) |
if (value <= LS_Options.MinLevel) then |
LS_Options.MinLevel = value; |
if (value <= LevelSnap_SavedVars["MinLevel"]) then |
LevelSnap_SavedVars.MinLevel(value == value); |
end; |
LS_Options.MaxLevel = value; |
end; |
}; |
{ |
id = "LS_CloseWindows", |
id = "CloseWindows", |
text = LS_CLOSEWIN, |
tooltipText = LS_HELP_CLOSEWIN, |
type = CONTROLTYPE_CHECKBOX, |
defaultValue = "1", |
callback = function(value) |
LS_Options.CloseWindows = value; |
end; |
}; |
{ |
id = "Status", |
text = LS_STATUS, |
tooltipText = LS_HELP_STATUS, |
type = CONTROLTYPE_BUTTON, |
callback = LevelSnap.Out.Status, |
}; |
}; |
savedVarTable = "LS_Options", |
savedVarTable = "LevelSnap_SavedVars", |
} |
Portfolio.RegisterOptionSet(optionTable) |
]]-- |
LS_Setting = { |
if (not LevelSnap) then |
LevelSnap = {} |
end |
LevelSnap.Setting = { |
Version = GetAddOnMetadata("LevelSnap", "Version"); |
Revision = tonumber(strsub("$Rev$", 7, strlen("$Rev$") - 2)); |
} |
LS_Options = { |
Active = 1; |
MinLevel = 1; |
MaxLevel = 80; |
CloseWindows = 1; |
} |
LevelSnap.On = { |
LS_On = { |
Load = function() |
LS_Register.RegisterEvent("PLAYER_LEVEL_UP") |
LevelSnap.Register.RegisterEvent("PLAYER_LEVEL_UP") |
LS_Register.SlashCommands() |
--LevelSnap.Register.SlashCommands() |
end; |
Event = function(event) |
if (event == "PLAYER_LEVEL_UP" and LS_Options.Active == 1) then |
if (arg1 >= LS_Options.MinLevel and arg1 <= LS_Options.MaxLevel) then |
if (LS_Options.CloseWindows == 1) then |
if (event == "PLAYER_LEVEL_UP" and LevelSnap_SavedVars["Enabled"] == 1) then |
if (arg1 >= LevelSnap_SavedVars["MinLevel"] and arg1 <= LevelSnap_SavedVars["MaxLevel"]) then |
if (LevelSnap_SavedVars["CloseWindows"] == 1) then |
CloseAllWindows() |
RequestTimePlayed() |
LS_Function.TakeScreenshot() |
LevelSnap.Function.TakeScreenshot() |
else |
RequestTimePlayed() |
LS_Function.TakeScreenshot() |
LevelSnap.Function.TakeScreenshot() |
end |
end |
end |
} |
LS_Register = { |
LevelSnap.Register = { |
RegisterEvent = function(event) |
this:RegisterEvent(event) |
SlashCommands = function() |
SLASH_LS_HELP1 = "/ls"; |
SLASH_LS_HELP2 = "/levelsnap"; |
SlashCmdList["LS_HELP"] = LS_Command; |
SlashCmdList["LS_HELP"] = LevelSnap.Command; |
end; |
} |
LS_Function = { |
LevelSnap.Function = { |
TakeScreenshot = function() |
Chronos.schedule(1, TakeScreenshot) |
} |
LS_Out = { |
LevelSnap.Out = { |
Print = function(msg) |
local color = NORMAL_FONT_COLOR; |
DEFAULT_CHAT_FRAME:AddMessage(LS_TITLE..": "..msg, color.r, color.g, color.b) |
end; |
Status = function() |
local active = LS_Color.Green(LS_ENABLED) |
local uihide = LS_Color.Green(LS_ENABLED) |
local closeall = LS_Color.Green(LS_ENABLED) |
Status = function() |
local active = LevelSnap.Color.Green(LS_ENABLED) |
local uihide = LevelSnap.Color.Green(LS_ENABLED) |
local closeall = LevelSnap.Color.Green(LS_ENABLED) |
if (LS_Options.Active == 0) then |
active = LS_Color.Red(LS_DISABLED) |
if (LevelSnap_SavedVars["Enabled"] == 0) then |
active = LevelSnap.Color.Red(LS_DISABLED) |
end |
if (LS_Options.CloseWindows == 0) then |
closeall = LS_Color.Red(LS_DISABLED) |
if (LevelSnap_SavedVars["CloseWindows"] == 0) then |
closeall = LevelSnap.Color.Red(LS_DISABLED) |
end |
LS_Out.Print("AddOn "..active..". "..string.format(LS_MINMAXSET2, LS_MINIMUM, LS_Color.Green(LS_Options.MinLevel)).." "..string.format(LS_MINMAXSET2, LS_MAXIMUM, LS_Color.Green(LS_Options.MaxLevel)).." "..string.format(LS_CLOSEALL, closeall).." "..string.format(LS_SHOWHIDE, uihide)) |
end; |
LevelSnap.Out.Print("AddOn "..active..". "..string.format(LS_MINMAXSET2, LS_MINIMUM, LevelSnap.Color.Green(LevelSnap_SavedVars["MinLevel"])).." "..string.format(LS_MINMAXSET2, LS_MAXIMUM, LevelSnap.Color.Green(LevelSnap_SavedVars["MaxLevel"])).." "..string.format(LS_CLOSEALL, closeall).." "..string.format(LS_SHOWHIDE, uihide)) |
end; |
Version = function() |
local version = LS_Setting.Version.."."..LS_Setting.Revision |
LS_Out.Print(LS_VERSION..": "..LS_Color.Green(version)) |
end; |
Version = function() |
local version = LevelSnap.Setting.Version.."."..LevelSnap.Setting.Revision |
LevelSnap.Out.Print(LS_VERSION..": "..LevelSnap.Color.Green(version)) |
end; |
} |
LS_Color = { |
LevelSnap.Color = { |
Green = function(msg) |
return "|cff00cc00"..msg.."|r"; |
} |
LS_Command = function(msg) |
LevelSnap.Command = function(msg) |
local cmd = string.lower(msg) |
if (cmd == "" or cmd == "help") then |
LS_Out.Print("/ls on|off, "..LS_HELP_ONOFF) |
LS_Out.Print("/ls min #, "..LS_HELP_MIN) |
LS_Out.Print("/ls max #, "..LS_HELP_MAX) |
LS_Out.Print("/ls closewin on|off, "..LS_HELP_CLOSEWIN) |
LS_Out.Print("/ls ui on|off, "..LS_HELP_UI) |
LS_Out.Print("/ls status, "..LS_HELP_STATUS) |
LS_Out.Print("/ls version, "..LS_HELP_VERSION) |
LevelSnap.Out.Print("/ls on|off, "..LS_HELP_ONOFF) |
LevelSnap.Out.Print("/ls min #, "..LS_HELP_MIN) |
LevelSnap.Out.Print("/ls max #, "..LS_HELP_MAX) |
LevelSnap.Out.Print("/ls closewin on|off, "..LS_HELP_CLOSEWIN) |
LevelSnap.Out.Print("/ls ui on|off, "..LS_HELP_UI) |
LevelSnap.Out.Print("/ls status, "..LS_HELP_STATUS) |
LevelSnap.Out.Print("/ls version, "..LS_HELP_VERSION) |
end |
if (cmd == "version") then |
LS_Out.Version() |
LevelSnap.Out.Version() |
end |
if (cmd == "status") then |
LS_Out.Status() |
LevelSnap.Out.Status() |
end |
if (cmd == "on") then |
LS_Options.Active = 1; |
LS_Out.Print(LS_Color.Green(LS_ENABLED)) |
LevelSnap_SavedVars["Enabled"] = 1; |
LevelSnap.Out.Print(LS_Color.Green(LS_ENABLED)) |
end |
if (cmd == "off") then |
LS_Options.Active = 0; |
LS_Out.Print(LS_Color.Red(LS_DISABLED)) |
LevelSnap_SavedVars["Enabled"] = 0; |
LevelSnap.Out.Print(LevelSnap.Color.Red(LS_DISABLED)) |
end |
if (strsub(msg, 1, 3) == "min") then |
local num = tonumber(strsub(msg, 4)) |
LS_Options.MinLevel = num; |
LS_Out.Print(string.format(LS_MINMAXSET2, LS_MINIMUM, LS_Color.Green(num))) |
LevelSnap_SavedVars["MinLevel"] = num; |
LevelSnap.Out.Print(string.format(LS_MINMAXSET2, LS_MINIMUM, LevelSnap.Color.Green(num))) |
end |
if (strsub(msg, 1, 3) == "max") then |
local num = tonumber(strsub(msg, 4)) |
LS_Options.MaxLevel = num; |
LS_Out.Print(string.format(LS_MINMAXSET2, LS_MAXIMUM, LS_Color.Green(num))) |
LevelSnap_SavedVars["MaxLevel"] = num; |
LevelSnap.Out.Print(string.format(LS_MINMAXSET2, LS_MAXIMUM, LevelSnap.Color.Green(num))) |
end |
if (strsub(msg, 1, 8) == "closewin") then |
local state = strsub(msg, 10) |
if (state == "on") then |
LS_Options.CloseWindows = 1; |
LS_Out.Print(string.format(LS_CLOSEALL, LS_ENABLED)) |
LevelSnap_SavedVars["CloseWindows"] = 1; |
LevelSnap.Out.Print(string.format(LS_CLOSEALL, LS_ENABLED)) |
elseif (state == "off") then |
LS_Options.CloseWindows = 0; |
LS_Out.Print(string.format(LS_CLOSEALL, LS_DISABLED)) |
LevelSnap_SavedVars["CloseWindows"] = 0; |
LevelSnap.Out.Print(string.format(LS_CLOSEALL, LS_DISABLED)) |
end |
end |
## Title: LevelSnap |
## Notes: Automatically snaps a screen shot when you level. |
## RequiredDeps: Chronos, Portfolio |
## SavedVariablesPerCharacter: LS_Options |
## SavedVariablesPerCharacter: LevelSnap_SavedVars |
## Author: Ryan "Gryphon" Snook |
## X-Website: http://www.wowinterface.com/downloads/info5028-LevelSnap.html |
LevelSnap.xml |