No edit summary |
No edit summary |
||
(19 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
-- 1: Currency = (Currency,count) |
-- 1: Currency = (Currency,count) |
||
-- count is optional |
-- count is optional |
||
+ | -- count can include "," only first "," separates fields |
||
-- multiple separated by "!" (exclamation mark) |
-- multiple separated by "!" (exclamation mark) |
||
-- 2: Include Name/Text Link (Optional) |
-- 2: Include Name/Text Link (Optional) |
||
-- N = Currency Name |
-- N = Currency Name |
||
-- E = "Event Currency" |
-- E = "Event Currency" |
||
− | -- |
+ | -- e = "event currency" |
+ | -- A = Alternate Text |
||
+ | -- L = Currency Name link (without Icon) |
||
+ | -- uses Alternate Text if present |
||
+ | -- T = Currency Name text only (without Icon) |
||
-- 3: Alternate Text (Optional) |
-- 3: Alternate Text (Optional) |
||
-- 4: Icon or Image (Optional) |
-- 4: Icon or Image (Optional) |
||
Line 71: | Line 76: | ||
local cName, count = mw.ustring.match(cur, |
local cName, count = mw.ustring.match(cur, |
||
− | "^([^,]-)%s*, |
+ | "^([^,]-)%s*,%s*([%/%,%d%?%-]*)$") |
if not cName then cName = cur end |
if not cName then cName = cur end |
||
+ | -- strip "EC-" from start of name |
||
+ | cName = mw.ustring.gsub(cName, "^ec%-", "") |
||
local imageFile = "[[File:work_in_progress" |
local imageFile = "[[File:work_in_progress" |
||
local imageLink = cName .. "|link=Work In Progress]]" |
local imageLink = cName .. "|link=Work In Progress]]" |
||
− | local nameText = " |
+ | local nameText = "Work In Progress" |
if currencyData[cName] then |
if currencyData[cName] then |
||
Line 85: | Line 92: | ||
end |
end |
||
− | + | if currencyData[cName]["N"] then |
|
− | + | nameText = currencyData[cName]["N"] |
|
− | + | imageLink = nameText |
|
− | + | .. "|link=" |
|
− | + | .. nameText |
|
− | + | .. "]]" |
|
− | + | end |
|
+ | end |
||
+ | |||
+ | local nameLink = "" |
||
+ | local dispIcon = 1 |
||
+ | local bracket = nil |
||
+ | |||
+ | if mw.ustring.match(inclName, "^[NEeALT]$") then |
||
+ | if inclName == "N" then |
||
+ | nameLink = "[[" .. nameText .. "]]" |
||
+ | elseif inclName == "E" then |
||
+ | nameLink = "[[" .. nameText .. "|Event Currency]]" |
||
+ | elseif inclName == "e" then |
||
+ | nameLink = "[[" .. nameText .. "|event currency]]" |
||
+ | elseif inclName == "T" then |
||
+ | nameLink = nameText |
||
+ | elseif inclName == "A" or inclName == "L" then |
||
+ | nameLink = "[[" .. nameText |
||
+ | if altText ~= "" then |
||
+ | nameLink = nameLink .. "|" .. altText |
||
+ | end |
||
+ | nameLink = nameLink .. "]]" |
||
+ | end |
||
+ | |||
+ | if inclName == "L" or inclName == "T" then |
||
+ | dispIcon = nil |
||
+ | else |
||
+ | bracket = 1 |
||
+ | end |
||
end |
end |
||
currencyFileAll = currencyFileAll .. space |
currencyFileAll = currencyFileAll .. space |
||
− | .. |
+ | .. nameLink |
− | if |
+ | if dispIcon then |
+ | if bracket then |
||
⚫ | |||
+ | currencyFileAll = currencyFileAll .. " (" |
||
+ | end |
||
+ | |||
+ | currencyFileAll = currencyFileAll |
||
+ | .. imageFile .. imgSize .. imageLink |
||
+ | |||
+ | if bracket then |
||
+ | currencyFileAll = currencyFileAll .. ")" |
||
+ | end |
||
+ | |||
+ | if count and count ~= "" then |
||
⚫ | |||
+ | end |
||
end |
end |
||
+ | |||
+ | -- if nameLink ~= "" then |
||
+ | -- currencyFileAll = currencyFileAll .. ")" |
||
+ | -- end |
||
space = " " |
space = " " |
||
Line 107: | Line 159: | ||
return p |
return p |
||
+ | |||
+ | -- </nowiki> |
||
+ | -- [[Category:Lua Modules]] |
Revision as of 09:29, 30 June 2020
Description
This module is the Lua back-end for {{EC}}, to display information about in-game currencies.
Usage
{{#invoke:EC|getEC|<parameter list>}}
For parameter details see Template:EC/doc
------
-- LUA script to get Currency Icon
--
-- Parameters:
-- 1: Currency = (Currency,count)
-- count is optional
-- count can include "," only first "," separates fields
-- multiple separated by "!" (exclamation mark)
-- 2: Include Name/Text Link (Optional)
-- N = Currency Name
-- E = "Event Currency"
-- e = "event currency"
-- A = Alternate Text
-- L = Currency Name link (without Icon)
-- uses Alternate Text if present
-- T = Currency Name text only (without Icon)
-- 3: Alternate Text (Optional)
-- 4: Icon or Image (Optional)
-- Display Image file if present
-- 5: Size in pixels (Optional)
-- for Icon default 22
-- for Image default 50
--
-- The list of available currency is kept in the module data
--
-- Unknown Currency is returned if Currency Type is not in data.
------
local p = {}
local currencyData = mw.loadData( 'Module:EC/data' )
function p.getEC(frame)
local tArgs
if frame == mw.getCurrentFrame() then
fParent = frame:getParent()
tArgs = fParent.args
if (fParent.args[1]) then
tArgs = fParent.args
else
tArgs = frame.args
end
else
tArgs = frame
end
local currency = tArgs[1] or ""
local inclName = tArgs[2] or ""
local altText = tArgs[3] or ""
local imgType = tArgs[4] or ""
local size = tArgs[5]
if not size or size == "" then
size = "22"
if imgType ~= "" then size = "50" end
end
local imgSize = ".png|x" .. size .. "px|"
if imgType ~= "" then
imgType = "F"
else
imgType = "I"
end
currency = mw.ustring.gsub(mw.ustring.lower(currency),
"^%s*(.-)%s*$", "%1") or ''
local currencyFileAll = ""
local space = ""
for cur in mw.text.gsplit(currency, "%s*!%s*") do
local cName, count = mw.ustring.match(cur,
"^([^,]-)%s*,%s*([%/%,%d%?%-]*)$")
if not cName then cName = cur end
-- strip "EC-" from start of name
cName = mw.ustring.gsub(cName, "^ec%-", "")
local imageFile = "[[File:work_in_progress"
local imageLink = cName .. "|link=Work In Progress]]"
local nameText = "Work In Progress"
if currencyData[cName] then
if currencyData[cName][imgType] then
imageFile = "[[File:"
.. mw.ustring.gsub(currencyData[cName][imgType], " ", "_")
end
if currencyData[cName]["N"] then
nameText = currencyData[cName]["N"]
imageLink = nameText
.. "|link="
.. nameText
.. "]]"
end
end
local nameLink = ""
local dispIcon = 1
local bracket = nil
if mw.ustring.match(inclName, "^[NEeALT]$") then
if inclName == "N" then
nameLink = "[[" .. nameText .. "]]"
elseif inclName == "E" then
nameLink = "[[" .. nameText .. "|Event Currency]]"
elseif inclName == "e" then
nameLink = "[[" .. nameText .. "|event currency]]"
elseif inclName == "T" then
nameLink = nameText
elseif inclName == "A" or inclName == "L" then
nameLink = "[[" .. nameText
if altText ~= "" then
nameLink = nameLink .. "|" .. altText
end
nameLink = nameLink .. "]]"
end
if inclName == "L" or inclName == "T" then
dispIcon = nil
else
bracket = 1
end
end
currencyFileAll = currencyFileAll .. space
.. nameLink
if dispIcon then
if bracket then
currencyFileAll = currencyFileAll .. " ("
end
currencyFileAll = currencyFileAll
.. imageFile .. imgSize .. imageLink
if bracket then
currencyFileAll = currencyFileAll .. ")"
end
if count and count ~= "" then
currencyFileAll = currencyFileAll .. "'''" .. count .. "'''"
end
end
-- if nameLink ~= "" then
-- currencyFileAll = currencyFileAll .. ")"
-- end
space = " "
end
return currencyFileAll
end
return p
-- </nowiki>
-- [[Category:Lua Modules]]