|
|
(48 intermediate revisions by the same user not shown) |
Line 2: |
Line 2: |
| local cargo = mw.ext.cargo | | local cargo = mw.ext.cargo |
|
| |
|
| function p.decode(frame) | | function p.a(seed) |
| local subtype = string.sub(frame.args[1],0,1)
| | math.randomseed(tonumber(seed)) |
| local stats = string.sub(frame.args[1],2,8) | | local count = cargo.query('Characters=C, GeneralData=GD', 'TRIM(COUNT(C._pageName))=Number', {join='C.ObjectID=GD.ObjectID', where='C._pageNamespace="0" AND (NOT GD.ParentObject WITHIN "Wall" AND NOT GD.PlainName LIKE "* door")'})[1]['Number'] |
| local statsstring = "U"
| | local offsetin = math.random(0 , tonumber(count)-2) |
| local subtypetable = {['A'] = "Truekin", ['B'] = "Mutant"}
| | local tables = 'Characters=C, GeneralData=GD' |
| local statstable = {
| | local fields = 'GD.PlainName=Name, GD._pageName=Page' |
| ['A'] = "6",
| | local args ={join='C._pageName=GD._pageName', where='GD._pageNamespace="0" AND (NOT GD.ParentObject WITHIN "Wall" AND NOT GD.PlainName LIKE "* door")', offset=offsetin,limit = 1} |
| ['B'] = "7",
| | local result = cargo.query(tables, fields, args) |
| ['C'] = "8",
| | if not next(result) then |
| ['D'] = "9",
| | error('?????') |
| ['E'] = "10",
| | end |
| ['F'] = "11", | | return '[[' .. result[1]['Page'] .. '|'.. result[1]['Name'] .. ']]' |
| ['G'] = "12", | |
| ['H'] = "13",
| |
| ['I'] = "14",
| |
| ['J'] = "15",
| |
| ['K'] = "16",
| |
| ['L'] = "17",
| |
| ['M'] = "18",
| |
| ['N'] = "19",
| |
| ['O'] = "20",
| |
| ['P'] = "21",
| |
| ['Q'] = "22", | |
| ['R'] = "23", | |
| ['S'] = "24", | |
| ['T'] = "25",
| |
| ['U'] = "26", | |
| ['V'] = "27"} | |
| | |
| for i=0,4,1
| |
| do
| |
| statsstring = statsstring .. " " .. statstable[string.sub(stats,i,1+i)]
| |
| end | | end |
|
| |
|
| return statsstring | | function p.getRandomChara(frame) |
| | return p.a(frame.args.seed) |
| end | | end |
|
| |
|
| function p.nonxmlparse(frame) | | function p.test(seed) |
| local a = string.gsub(frame.args[1],"(&)(%w)([^&\n]*)", function(_,color,text)
| | return p.a(tostring(seed)) |
| local luatable = {
| |
| ['r'] = "#a64a2e",
| |
| ['R'] = "#d74200",
| |
| ['g'] = "#009403",
| |
| ['G'] = "#00c420",
| |
| ['b'] = "#0048bd",
| |
| ['B'] = "#0096ff",
| |
| ['c'] = "#40a4b9",
| |
| ['C'] = "#77bfcf",
| |
| ['m'] = "#b154cf",
| |
| ['M'] = "#da5bd6",
| |
| ['w'] = "#98875f",
| |
| ['W'] = "#cfc041",
| |
| ['k'] = "#0f3b3a",
| |
| ['K'] = "#155352",
| |
| ['y'] = "#b1c9c3",
| |
| ['Y'] = "#FFFFFF",
| |
| ['o'] = "#f15f22",
| |
| ['O'] = "#e99f10"
| |
| }
| |
| | |
| return "<span style=\"color: " .. luatable[color] .. ";\">" .. text .. "</span>"
| |
| end)
| |
| return a
| |
| end | | end |
|
| |
|
| |
| function p.parse(frame)
| |
| local b = string.gsub(frame.args[1],"([{}])", "")
| |
| local b = string.gsub(b,"(~J211)", "")
| |
| local a = string.gsub(b,"(&)(%w)(%^?%w?)([^&\n]*)", function(_,color,background,text)
| |
| local luatable = {
| |
| ['r'] = "#a64a2e",
| |
| ['R'] = "#d74200",
| |
| ['g'] = "#009403",
| |
| ['G'] = "#00c420",
| |
| ['b'] = "#0048bd",
| |
| ['B'] = "#0096ff",
| |
| ['c'] = "#40a4b9",
| |
| ['C'] = "#77bfcf",
| |
| ['m'] = "#b154cf",
| |
| ['M'] = "#da5bd6",
| |
| ['w'] = "#98875f",
| |
| ['W'] = "#cfc041",
| |
| ['k'] = "#0f3b3a",
| |
| ['K'] = "#155352",
| |
| ['y'] = "#b1c9c3",
| |
| ['Y'] = "#FFFFFF",
| |
| ['o'] = "#f15f22",
| |
| ['O'] = "#e99f10"
| |
| }
| |
| local bgluatable = {
| |
| ["^r"] = "#a64a2e",
| |
| ["^R"] = "#d74200",
| |
| ["^g"] = "#009403",
| |
| ["^G"] = "#00c420",
| |
| ["^b"] = "#0048bd",
| |
| ["^B"] = "#0096ff",
| |
| ["^c"] = "#40a4b9",
| |
| ["^C"] = "#77bfcf",
| |
| ["^m"] = "#b154cf",
| |
| ["^M"] = "#da5bd6",
| |
| ["^w"] = "#98875f",
| |
| ["^W"] = "#cfc041",
| |
| ["^k"] = "#0f3b3a",
| |
| ["^K"] = "#155352",
| |
| ["^y"] = "#b1c9c3",
| |
| ["^Y"] = "#FFFFFF",
| |
| ["^o"] = "#f15f22",
| |
| ["^O"] = "#e99f10",
| |
| }
| |
| local c = bgluatable[background]
| |
| if (c == nil or c == '')
| |
| then
| |
| c = "transparent"
| |
| end
| |
| return "<span style=\"color: " .. luatable[color] .. "; background: " .. c ..";\">" .. text .. "</span>"
| |
| end)
| |
| return a
| |
| end
| |
|
| |
| return p | | return p |