打开/关闭菜单
331
1.7K
131
11.8K
星露谷物语扩展百科
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

模块:Object:修订间差异

来自星露谷物语扩展百科
Sizau留言 | 贡献
物品数据处理
 
Sizau留言 | 贡献
返回 Name
第12行: 第12行:
      
      
     return {
     return {
    Name = item.Name,
         Type = item.Type,
         Type = item.Type,
         Category = item.Category,
         Category = item.Category,

2024年11月10日 (日) 21:06的版本

[ 创建 | 刷新 ]文档页面
当前模块文档缺失,需要扩充。
local Helper = require("Module:Helper")
local FishPondData = Helper.LazyLoad('Module:Object/Data')

local p = {}

-- =p.getFieldsById{ args = { "137"} }
-- mw.logObject(p.getFieldsById{ args = { "137"} })
function p.getFieldsById(frame)
    local id = frame.args[1]
    local item = FishPondData[id]
    if not item then return "Error: ID not found." end
    
    return {
    	Name = item.Name,
        Type = item.Type,
        Category = item.Category,
        Price = item.Price,
        ContextTags = item.ContextTags
    }
end

-- =p.getFirstFishTagById{ args = { "137"} }
-- mw.logObject(p.getFirstFishTagById{ args = { "137"} })
function p.getFirstFishTagById(frame)
    local id = frame.args[1]
    local item = FishPondData[id]
    if not item or not item.ContextTags then return "" end
    
    for _, tag in ipairs(item.ContextTags) do
        if tag:match("^fish_") and tag ~= "fish_has_roe" and tag ~= "fish_pond" then
            return tag
        end
    end
    return ""
end

function p.getIdByName(frame)
    local name = mw.ustring.lower(frame.args[1])
    for id, item in pairs(FishPondData) do
        if mw.ustring.lower(item.Name) == name then
        	mw.logObject(id) -- !!!
            return id
        end
    end
    return "Error: Name not found."
end

-- =p.getFieldsByName{ args = { "Smallmouth Bass"} }
-- mw.logObject(p.getFieldsByName{ args = { "Smallmouth Bass"} })
function p.getFieldsByName(frame)
	local id = p.getIdByName({ args = { frame.args[1] } })
    local name = mw.ustring.lower(frame.args[1])
	if id then
        return p.getFieldsById({ args = { id } })
    end
    return "Error: Name not found."
end

-- mw.logObject(p.getPriceById{ args = { "137"} })
function p.getPriceById(frame)
	return p.getFieldsById({ args = { frame.args[1] } })["Price"]
end

-- mw.logObject(p.getPriceByName{ args = { "Smallmouth Bass"} })
function p.getPriceByName(frame)
	local id = p.getIdByName({ args = { frame.args[1] } })
	return p.getPriceById({ args = { id } })
end

return p