本WIKI编辑权限开放,建议收藏起来防止迷路
部分页面还在施工中,欢迎可爱的小伙伴来一起建设,可以加群讨论~ 幻兽帕鲁WIKI交流群:674595109
编辑帮助:目录 • BWIKI反馈留言板
本WIKI编辑权限开放,建议收藏起来防止迷路
部分页面还在施工中,欢迎可爱的小伙伴来一起建设,可以加群讨论~ 幻兽帕鲁WIKI交流群:674595109
模块:Data
此模块的文档可以在模块:Data/doc创建
local p = {}
p["expandTable"] = function (t, pk, pt)
if pk == nil then
pt = pt or {}
for k, v in pairs(t) do
if type (v) == "table" then
p["expandTable"](v, k, pt)
t[k] = nil
end
end
for k, v in pairs(pt) do
t[k] = v
end
else
if t[1] ~= nil then
for k, v in ipairs(t) do
if type (v) == "table" then
p["expandTable"](v, pk .. "." .. k, pt)
t[k] = nil
else
pt[pk .. "." .. k] = v
end
end
else
for k, v in pairs(t) do
if type (v) == "table" then
p["expandTable"](v, pk .. "." .. k, pt)
t[k] = nil
else
pt[pk .. "." .. k] = v
end
end
end
end
end
-- p["json"]({args={json="build", jsonformat="map", key="Name", Name="野莓农园"}})
p["json"] = function (frame)
local data = mw.text.jsonDecode(mw.title.new('Mediawiki:'.. frame.args["json"] .. '.json'):getContent() or '[]')
local name = frame.args[frame.args["key"]]
for i, item in pairs(data) do
if frame.args["jsonformat"] == "map" then
item = data[i]
end
if name == item[frame.args["key"]] then
p["expandTable"](item)
for k, v in pairs(frame.args) do
item[k] = v
end
-- mw.log(mw.text.jsonEncode(item))
return frame:expandTemplate{ title = frame.args["template"], args = item }
end
end
end
--[[
模板:帕鲁图鉴
--]]
p["pal"] = function (frame)
local pals = mw.text.jsonDecode(mw.title.new('Mediawiki:Pals.json'):getContent() or '[]')
local name = frame.args["帕鲁名称"]
for i, pal in ipairs(pals) do
if name == pal["名字"] and string.find (pal["ID"], "BOSS") == frame.args["BOSS"] then
for k, v in pairs(pal) do
if type (v) == "table" then
for ck, cv in pairs(v) do
pal[k .. "." .. ck] = cv
end
pal[k] = nil
end
end
for k, v in pairs(frame.args) do
pal[k] = v
end
return frame:expandTemplate{ title = frame.args["模板"] or "帕鲁模块", args = pal }
end
end
end
--[[
模板:科技树
--]]
p["tech"] = function (frame)
local techs = mw.text.jsonDecode(mw.title.new('Mediawiki:Tech.json'):getContent() or '[]')
local name = frame.args["科技名称"]
for i, tech in ipairs(techs) do
if name == tech["Name"] then
for k, v in pairs(tech) do
if type (v) == "table" then
for ck, cv in pairs(v) do
tech[k .. "." .. ck] = cv
end
tech[k] = nil
end
end
for k, v in pairs(frame.args) do
tech[k] = v
end
return frame:expandTemplate{ title = frame.args["模板"] or "科技树", args = tech }
end
end
end
--[[
模板:图标
--]]
p["icon"] = function (frame)
local icons = mw.text.jsonDecode(mw.title.new('MediaWiki:Icon.json'):getContent() or '[]')
local name = frame.args[1]
return icons[name]
end
p["map"] = function (frame)
local data = mw.text.jsonDecode(mw.title.new('Mediawiki:'.. frame.args["json"] .. '.json'):getContent() or '[]')[1]["Rows"]
local points = {}
for i, p in ipairs(data) do
local point = {
id = frame.args["json"] .. i,
markType = 100,
point = {
lat = p.Location.X / 46,
lng = p.Location.Y / 46
}
}
table.insert (points, point)
end
return mw.text.jsonEncode(points)
end
p["map"] = function (frame)
local data = mw.text.jsonDecode(mw.title.new('Mediawiki:'.. frame.args["json"] .. '.json'):getContent() or '[]')
local points = {}
for i, p in ipairs(data) do
local point = {
id = frame.args["json"] .. i,
markType = 100,
point = {
lat = p.X / 450 + 250,
lng = p.Y / 450 - 320
}
}
table.insert (points, point)
end
return mw.text.jsonEncode(points)
end
p["map2"] = function (frame)
--mw.log(1,frame.args["json"])
local data = mw.text.jsonDecode(frame.args["json"])
--mw.logObject(data)
local pointBox = {}
--mw.log(ipairs(data))
for boxi, boxp in pairs(data) do
local points = {}
for i, p in pairs(boxp) do
local point = {
id = p.id,
title = p.title,
markType = p.markType,
point = {
lat = p.point.lat / 450 + 280,
lng = p.point.lng / 450 - 350
},
uid = p.uid,
time = p.time,
layer = p.layer,
}
table.insert (points, point)
end
table.insert (pointBox,boxi ,points)
end
return mw.text.jsonEncode(pointBox)
end
p["道具筛选"] = function (frame)
local data = mw.text.jsonDecode(mw.title.new('MediaWiki:Item.json'):getContent() or '{}')
local allrows = ""
for i, item in pairs(data) do
if item['图标'] ~= '' and item['名称'] ~= 'zh-hans text' then
allrows = allrows .. "\n" .. frame:expandTemplate{
title ='道具筛选',
args = {
Name = item['名称'],
Icon = item['图标'],
Type = item['TypeB'],
String = item['说明']
}
}
end
end
return allrows
end
return p