Added new stat 'real time since begin'
This commit is contained in:
parent
8bf4ebfbd5
commit
85c7569f2c
@ -13,7 +13,7 @@
|
||||
|
||||
|
||||
# These are the settings values.
|
||||
## SavedVariablesPerCharacter: Trackster_deathOffset, Trackster_killsOffset, Trackster_questsOffset, Trackster_dmgOffset, Trackster_jumpOffset, Trackster_IlvlOffset, Trackster_castOffset, Trackster_critOffset, Trackster_loginOffset, Trackster_bossOffset, Trackster_chatOffset, Trackster_itemOffset, Trackster_timeOffset, Trackster_goldOffset, Trackster_distanceTravelledOffset
|
||||
## SavedVariablesPerCharacter: Trackster_deathOffset, Trackster_killsOffset, Trackster_questsOffset, Trackster_dmgOffset, Trackster_jumpOffset, Trackster_IlvlOffset, Trackster_castOffset, Trackster_critOffset, Trackster_loginOffset, Trackster_bossOffset, Trackster_chatOffset, Trackster_itemOffset, Trackster_timeOffset, Trackster_goldOffset, Trackster_distanceTravelledOffset, Trackster_timestampRunBegin
|
||||
|
||||
# These are internal values. Just don't touch those.
|
||||
## SavedVariablesPerCharacter: Trackster_showMainframe, Trackster_frameScale
|
||||
|
37
main.lua
37
main.lua
@ -95,7 +95,9 @@ local fsItem = mainFrame:CreateFontString(nil, "OVERLAY", textFont);
|
||||
Trackster_itemOffset = 0;
|
||||
|
||||
local fsTime = mainFrame:CreateFontString(nil, "OVERLAY", textFont);
|
||||
local fsAbsTime = mainFrame:CreateFontString(nil, "OVERLAY", textFont);
|
||||
Trackster_timeOffset = 0;
|
||||
Trackster_timestampRunBegin = 0;
|
||||
local lastConfirmedTime = 0;
|
||||
local internalTimeOffset = 0;
|
||||
|
||||
@ -121,22 +123,23 @@ mainFrame:SetBackdrop({
|
||||
fsKills:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (0 * textMarginB)));
|
||||
fsDeaths:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (1 * textMarginB)));
|
||||
fsTime:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (2 * textMarginB)));
|
||||
fsDist:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (3 * textMarginB)));
|
||||
fsQuests:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (4 * textMarginB)));
|
||||
fsPlvl:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (5 * textMarginB)));
|
||||
fsIlvl:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (6 * textMarginB)));
|
||||
fsAbsTime:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (3 * textMarginB)));
|
||||
fsDist:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (4 * textMarginB)));
|
||||
fsQuests:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (5 * textMarginB)));
|
||||
fsPlvl:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (6 * textMarginB)));
|
||||
fsIlvl:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (7 * textMarginB)));
|
||||
--fsDmg:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (5 * textMarginB)));
|
||||
fsGold:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (7 * textMarginB)));
|
||||
fsBoss:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (8 * textMarginB)));
|
||||
fsCasts:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (9 * textMarginB)));
|
||||
fsCrits:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (10 * textMarginB)));
|
||||
fsLogins:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (11 * textMarginB)));
|
||||
fsGold:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (8 * textMarginB)));
|
||||
fsBoss:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (9 * textMarginB)));
|
||||
fsCasts:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (10 * textMarginB)));
|
||||
fsCrits:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (11 * textMarginB)));
|
||||
fsLogins:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (12 * textMarginB)));
|
||||
--fsItem:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (12 * textMarginB)));
|
||||
fsChat:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (12 * textMarginB)));
|
||||
fsJump:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (13 * textMarginB)));
|
||||
fsChat:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (13 * textMarginB)));
|
||||
fsJump:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (14 * textMarginB)));
|
||||
|
||||
mainFrame:SetWidth(220 + textMarginL);
|
||||
mainFrame:SetHeight((textMarginT * 2) + (textMarginB * 14));
|
||||
mainFrame:SetHeight((textMarginT * 2) + (textMarginB * 15));
|
||||
mainFrame:EnableMouse(true);
|
||||
mainFrame:SetPoint("CENTER", 480, 0, UIParent);
|
||||
mainFrame:SetMovable(true);
|
||||
@ -364,7 +367,10 @@ local function UpdateTime()
|
||||
|
||||
local d, h, m, s = select(1, FormatTime(lastConfirmedTime + internalTimeOffset + Trackster_timeOffset));
|
||||
|
||||
fsTime:SetText("Time played: " .. d .. ":" .. h .. ":" .. m .. ":" .. s);
|
||||
fsTime:SetText("Time played: " .. d .. " days, " .. h .. ":" .. m .. ":" .. s);
|
||||
|
||||
local d, h, m, s = select(1, FormatTime(time() - Trackster_timestampRunBegin));
|
||||
fsAbsTime:SetText("Time (real): " .. d .. " days, " .. h .. ":" .. m .. ":" .. s);
|
||||
end
|
||||
|
||||
|
||||
@ -648,6 +654,10 @@ local function eventHandler(self, event, ...)
|
||||
local addonName = select(1, ...);
|
||||
|
||||
if(addonName == "Trackster") then
|
||||
if (Trackster_timestampRunBegin == 0) then
|
||||
Trackster_timestampRunBegin = time();
|
||||
end
|
||||
|
||||
mainFrame:SetUserPlaced(true);
|
||||
Trackster.SetFrameScale(Trackster_frameScale);
|
||||
Trackster.SetRenderMainFrame(Trackster_showMainframe);
|
||||
@ -668,6 +678,7 @@ Trackster.ResetAllStats = function()
|
||||
Trackster_bossCounter = 0;
|
||||
Trackster_chatCounter = 0;
|
||||
Trackster_itemCounter = 0;
|
||||
Trackster_timestampRunBegin = time();
|
||||
|
||||
UpdateAll();
|
||||
end
|
||||
|
67
options.lua
67
options.lua
@ -103,7 +103,7 @@ local editboxMarginL = 150;
|
||||
|
||||
local fsInfo = optionsFrame:CreateFontString(nil, "OVERLAY", "GameFontNormal");
|
||||
fsInfo:SetText("Thanks for using Trackster!\nPlease note, that some stats are only tracked by this AddOn, hence only count\n upwards from the point of installation. If you want some stats to be tracked\naccount wide, just change them in the .toc file in the AddOn folder!\nHave fun! -Allpi");
|
||||
fsInfo:SetPoint("CENTER", 0, -200);
|
||||
fsInfo:SetPoint("CENTER", 0, -230);
|
||||
|
||||
local fsKills = optionsFrame:CreateFontString(nil, "OVERLAY", textFont);
|
||||
local fsDeaths = optionsFrame:CreateFontString(nil, "OVERLAY", textFont);
|
||||
@ -119,29 +119,32 @@ local fsItem = optionsFrame:CreateFontString(nil, "OVERLAY", textFont);
|
||||
local fsChat = optionsFrame:CreateFontString(nil, "OVERLAY", textFont);
|
||||
local fsJump = optionsFrame:CreateFontString(nil, "OVERLAY", textFont);
|
||||
local fsTime = optionsFrame:CreateFontString(nil, "OVERLAY", textFont);
|
||||
local fsTimeRunBegin = optionsFrame:CreateFontString(nil, "OVERLAY", textFont);
|
||||
local fsScale = optionsFrame:CreateFontString(nil, "OVERLAY", textFont);
|
||||
|
||||
fsKills:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (0 * textMarginB)))
|
||||
fsDeaths:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (1 * textMarginB)))
|
||||
fsTime:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (2 * textMarginB)))
|
||||
fsDist:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (3 * textMarginB)))
|
||||
fsQuests:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (4 * textMarginB)))
|
||||
fsTimeRunBegin:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (3 * textMarginB)))
|
||||
fsDist:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (4 * textMarginB)))
|
||||
fsQuests:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (5 * textMarginB)))
|
||||
--fsDmg:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (4 * textMarginB)))
|
||||
fsBoss:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (5 * textMarginB)))
|
||||
fsCasts:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (6 * textMarginB)))
|
||||
fsGold:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (7 * textMarginB)))
|
||||
fsCrits:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (8 * textMarginB)))
|
||||
fsLogins:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (9 * textMarginB)))
|
||||
fsItem:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (10 * textMarginB)))
|
||||
fsChat:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (11 * textMarginB)))
|
||||
fsJump:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (12 * textMarginB)))
|
||||
fsScale:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (13 * textMarginB)))
|
||||
fsBoss:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (6 * textMarginB)))
|
||||
fsCasts:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (7 * textMarginB)))
|
||||
fsGold:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (8 * textMarginB)))
|
||||
fsCrits:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (9 * textMarginB)))
|
||||
fsLogins:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (10 * textMarginB)))
|
||||
fsItem:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (11 * textMarginB)))
|
||||
fsChat:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (12 * textMarginB)))
|
||||
fsJump:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (13 * textMarginB)))
|
||||
fsScale:SetPoint("TOPLEFT", textMarginL, -(textMarginT + (14 * textMarginB)))
|
||||
|
||||
buttonReset:SetPoint("TOPLEFT", textMarginL - 5, -(textMarginT + ((14 + 0.2) * textMarginB)));
|
||||
buttonReset:SetPoint("TOPLEFT", textMarginL - 5, -(textMarginT + ((15 + 0.2) * textMarginB)));
|
||||
|
||||
fsKills:SetText("Kills offset:");
|
||||
fsDeaths:SetText("Deaths offset:");
|
||||
fsTime:SetText("Time played offset:");
|
||||
fsTimeRunBegin:SetText("Started run at:");
|
||||
fsDist:SetText("Distance(m) offset:");
|
||||
fsQuests:SetText("Quests offset:");
|
||||
--fsDmg:SetText("Damage offset:");
|
||||
@ -257,6 +260,13 @@ ebTime:SetMaxLetters(maxCharacters);
|
||||
ebTime:SetAutoFocus(false);
|
||||
ebTime:SetNumeric(false);
|
||||
|
||||
local ebTimeRunStarted = CreateFrame("EditBox", "editboxOffsetTime", optionsFrame, "InputBoxTemplate");
|
||||
ebTimeRunStarted:SetFrameStrata("DIALOG");
|
||||
ebTimeRunStarted:SetSize(ebWidth,21);
|
||||
ebTimeRunStarted:SetMaxLetters(maxCharacters);
|
||||
ebTimeRunStarted:SetAutoFocus(false);
|
||||
ebTimeRunStarted:SetNumeric(false);
|
||||
|
||||
local ebReset = CreateFrame("EditBox", "editboxConfirmReset", optionsFrame, "InputBoxTemplate");
|
||||
ebReset:SetFrameStrata("DIALOG");
|
||||
ebReset:SetSize(ebWidth,21);
|
||||
@ -281,22 +291,23 @@ fsTimeUNIT:SetText("seconds");
|
||||
ebKills:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (0 * textMarginB)));
|
||||
ebDeaths:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (1 * textMarginB)));
|
||||
ebTime:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (2 * textMarginB)));
|
||||
ebDist:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (3 * textMarginB)));
|
||||
ebQuests:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (4 * textMarginB)));
|
||||
ebTimeRunStarted:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (3 * textMarginB)));
|
||||
ebDist:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (4 * textMarginB)));
|
||||
ebQuests:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (5 * textMarginB)));
|
||||
--ebDmg:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (4 * textMarginB)));
|
||||
ebBoss:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (5 * textMarginB)));
|
||||
ebCast:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (6 * textMarginB)));
|
||||
ebGold:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (7 * textMarginB)));
|
||||
ebCrit:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (8 * textMarginB)));
|
||||
ebLogin:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (9 * textMarginB)));
|
||||
ebItem:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (10 * textMarginB)));
|
||||
ebChat:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (11 * textMarginB)));
|
||||
ebJumps:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (12 * textMarginB)));
|
||||
ebScale:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (13 * textMarginB)));
|
||||
ebBoss:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (6 * textMarginB)));
|
||||
ebCast:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (7 * textMarginB)));
|
||||
ebGold:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (8 * textMarginB)));
|
||||
ebCrit:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (9 * textMarginB)));
|
||||
ebLogin:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (10 * textMarginB)));
|
||||
ebItem:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (11 * textMarginB)));
|
||||
ebChat:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (12 * textMarginB)));
|
||||
ebJumps:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (13 * textMarginB)));
|
||||
ebScale:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + (14 * textMarginB)));
|
||||
|
||||
ebReset:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + ((14 + 0.2) * textMarginB)));
|
||||
ebReset:SetPoint("TOPLEFT", editboxMarginL, -(textMarginT + ((15 + 0.2) * textMarginB)));
|
||||
fsTimeUNIT:SetPoint("TOPLEFT", editboxMarginL * 1.75, -(textMarginT + ((2 + 0.2) * textMarginB) - 2));
|
||||
fsResetInfo:SetPoint("TOPLEFT", editboxMarginL * 1.85, -(textMarginT + ((14 + 0.2) * textMarginB) + 5));
|
||||
fsResetInfo:SetPoint("TOPLEFT", editboxMarginL * 1.85, -(textMarginT + ((15 + 0.2) * textMarginB) + 5));
|
||||
|
||||
local function CheckIfICanPrimeReset()
|
||||
|
||||
@ -351,6 +362,7 @@ local function LoadDefaultTexts(doAnways)
|
||||
ebChat:SetText(Trackster.OffsetChat());
|
||||
ebJumps:SetText(Trackster.OffsetJumps());
|
||||
ebTime:SetText(Trackster.OffsetTime());
|
||||
ebTimeRunStarted:SetText(Trackster_timestampRunBegin);
|
||||
ebScale:SetText(Trackster_frameScale);
|
||||
|
||||
areDefValsLoaded = true;
|
||||
@ -389,6 +401,7 @@ local function UpdateOffsets()
|
||||
ebChat:ClearFocus();
|
||||
ebJumps:ClearFocus();
|
||||
ebTime:ClearFocus();
|
||||
ebTimeRunStarted:ClearFocus();
|
||||
ebScale:ClearFocus();
|
||||
|
||||
Trackster.SetFrameScale(ebScale:GetNumber());
|
||||
@ -406,6 +419,7 @@ local function UpdateOffsets()
|
||||
Trackster.OffsetChat(ebChat:GetNumber());
|
||||
Trackster.OffsetJumps(ebJumps:GetNumber());
|
||||
Trackster.OffsetTime(ebTime:GetNumber());
|
||||
Trackster_timestampRunBegin = ebTimeRunStarted:GetNumber();
|
||||
|
||||
|
||||
LoadDefaultTexts(true);
|
||||
@ -424,6 +438,7 @@ ebGold:SetScript("OnEnterPressed", UpdateOffsets);
|
||||
ebCrit:SetScript("OnEnterPressed", UpdateOffsets);
|
||||
ebLogin:SetScript("OnEnterPressed", UpdateOffsets);
|
||||
ebItem:SetScript("OnEnterPressed", UpdateOffsets);
|
||||
ebTimeRunStarted:SetScript("OnEnterPressed", UpdateOffsets);
|
||||
ebChat:SetScript("OnEnterPressed", UpdateOffsets);
|
||||
ebJumps:SetScript("OnEnterPressed", UpdateOffsets);
|
||||
ebScale:SetScript("OnEnterPressed", UpdateOffsets);
|
||||
|
Loading…
x
Reference in New Issue
Block a user