„Modul:ServiceAward” változatai közötti eltérés
[nem ellenőrzött változat] | [nem ellenőrzött változat] |
Tartalom törölve Tartalom hozzáadva
Dani (vitalap | szerkesztései) Nincs szerkesztési összefoglaló |
Dani (vitalap | szerkesztései) Nincs szerkesztési összefoglaló |
||
13. sor: | 13. sor: | ||
{ 12, "Level XII", 5500, 110000, }, |
{ 12, "Level XII", 5500, 110000, }, |
||
} |
} |
||
statistics = { |
statistics = { |
A lap 2020. január 5., 13:59-kori változata
ServiceAward[mi ez?] • [dokumentáció: mutat, ] • [tesztek: létrehozás]
ranks = {
{ 1, "Level I", 30, 600, },
{ 2, "Level II", 60, 1200, },
{ 3, "Level III", 115, 2300, },
{ 4, "Level IV", 210, 4200, },
{ 5, "Level V", 360, 7200, },
{ 6, "Level VI", 585, 11700, },
{ 7, "Level VII", 910, 18200, },
{ 8, "Level VIII", 1370, 27400, },
{ 9, "Level IX", 2010, 40200, },
{ 10, "Level X", 2880, 57600, },
{ 11, "Level XI", 4030, 80600, },
{ 12, "Level XII", 5500, 110000, },
}
statistics = {
["Dani"] = { 7, 1251, 26255, 8 },
["Samat"] = { 12, 5503, 110005, -1 },
["Tgr"] = { 8, 3253, 31972, 9 },
["NoRank"] = { -1, 15, 505, 1 },
}
local RANKS_RANK_NAME_INDEX = 2;
local RANKS_NEEDED_ACTIVE_DAYS_INDEX = 3;
local RANKS_NEEDED_TOTAL_EDITS_INDEX = 4;
local USER_STATISTICS_RANK_INDEX = 1;
local USER_STATISTICS_ACTIVE_DAYS_INDEX = 2;
local USER_STATISTICS_TOTAL_EDITS_INDEX = 3;
local USER_STATISTICS_NEXT_RANK_INDEX = 4;
local p = {}
function p.serviceAwardStatus(frame)
local args = frame.args
local userName = args.userName
if not(userName) then
return "No username specified"
end
local ret = userName .. "\n\n"
local templateParams = {}
local userData = statistics[userName]
if userData then
templateParams.userName = userName
local currentRank = nil
if not(userData[USER_STATISTICS_RANK_INDEX] == -1) then
currentRank = ranks[userData[USER_STATISTICS_RANK_INDEX]]
templateParams.currentRank = currentRank[RANKS_RANK_NAME_INDEX]
end
local nextRank = nil
if not(userData[USER_STATISTICS_NEXT_RANK_INDEX] == -1) then
nextRank = ranks[userData[USER_STATISTICS_NEXT_RANK_INDEX]]
templateParams.nextRank = nextRank[RANKS_RANK_NAME_INDEX]
end
if nextRank then
local daysToNextRank = nextRank[RANKS_NEEDED_ACTIVE_DAYS_INDEX]
local editsToNextRank = nextRank[RANKS_NEEDED_TOTAL_EDITS_INDEX]
local userActiveDays = userData[USER_STATISTICS_ACTIVE_DAYS_INDEX]
local userEdits = userData[USER_STATISTICS_TOTAL_EDITS_INDEX]
if currentRank then
daysToNextRank = daysToNextRank - currentRank[RANKS_NEEDED_ACTIVE_DAYS_INDEX]
editsToNextRank = editsToNextRank - currentRank[RANKS_NEEDED_TOTAL_EDITS_INDEX]
userActiveDays = userActiveDays - currentRank[RANKS_NEEDED_ACTIVE_DAYS_INDEX]
userEdits = userEdits - currentRank[RANKS_NEEDED_TOTAL_EDITS_INDEX]
end
local editsStillNeeded = editsToNextRank - userEdits
local editsStillNeededPercentage = editsStillNeeded / editsToNextRank
local daysStillNeeded = daysToNextRank - userActiveDays
local daysStillNeededPercentage = daysStillNeeded / daysToNextRank
templateParams.userActiveDaysInRank = userActiveDays
templateParams.activeDaysToNextRank = daysToNextRank
templateParams.userEditsInRank = userEdits
templateParams.editsToNextRank = editsToNextRank
local editPercentage = userEdits / editsToNextRank
local daysPercentage = userActiveDays / daysToNextRank
local percentage = math.floor(((editPercentage + daysPercentage) / 2) * 1000) / 1000
templateParams.percentage = percentage
end
-- ret = ret .. " / Active days: "
-- ret = ret .. userData[USER_STATISTICS_ACTIVE_DAYS_INDEX]
-- ret = ret .. " / Total edits: "
-- ret = ret .. userData[USER_STATISTICS_TOTAL_EDITS_INDEX]
end
ret = ret .. frame:expandTemplate{
title = "Szolgálati érdemérem/Előrehaladás/Keret",
args = templateParams,
}
return ret
end
return p