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

模块:NPC:修订间差异

来自星露谷物语扩展百科
Sizau留言 | 贡献
无编辑摘要
Sizau留言 | 贡献
重构
第1行: 第1行:
local p = {}
local p = {}


p.ZH = {
-- 使用单一数据源,避免重复维护
     ["亚历克斯"] = "Alex",
local characters = {
     ["艾利欧特"] = "Elliott",  
     {"亚历克斯", "Alex"},
     ["哈维"] = "Harvey",
     {"艾利欧特", "Elliott"},
     ["山姆"] = "Sam",
     {"哈维", "Harvey"},
     ["塞巴斯蒂安"] = "Sebastian",
     {"山姆", "Sam"},
     ["谢恩"] = "Shane",
     {"塞巴斯蒂安", "Sebastian"},
     ["阿比盖尔"] = "Abigail",
     {"谢恩", "Shane"},
     ["艾米丽"] = "Emily",
     {"阿比盖尔", "Abigail"},
     ["海莉"] = "Haley",
     {"艾米丽", "Emily"},
     ["莉亚"] = "Leah",
     {"海莉", "Haley"},
     ["玛鲁"] = "Maru",
     {"莉亚", "Leah"},
     ["潘妮"] = "Penny",
     {"玛鲁", "Maru"},
     ["卡洛琳"] = "Caroline",
     {"潘妮", "Penny"},
     ["克林特"] = "Clint",
     {"卡洛琳", "Caroline"},
     ["德米特里厄斯"] = "Demetrius",
     {"克林特", "Clint"},
     ["矮人"] = "Dwarf",
     {"德米特里厄斯", "Demetrius"},
     ["艾芙琳"] = "Evelyn",
     {"矮人", "Dwarf"},
     ["乔治"] = "George",
     {"艾芙琳", "Evelyn"},
     ["格斯"] = "Gus",
     {"乔治", "George"},
     ["贾斯"] = "Jas",
     {"格斯", "Gus"},
     ["乔迪"] = "Jodi",
     {"贾斯", "Jas"},
     ["肯特"] = "Kent",
     {"乔迪", "Jodi"},
     ["科罗布斯"] = "Krobus",
     {"肯特", "Kent"},
     ["刘易斯"] = "Lewis",
     {"科罗布斯", "Krobus"},
     ["莱纳斯"] = "Linus",
     {"刘易斯", "Lewis"},
     ["玛妮"] = "Marnie",
     {"莱纳斯", "Linus"},
     ["潘姆"] = "Pam",
     {"玛妮", "Marnie"},
     ["皮埃尔"] = "Pierre",
     {"潘姆", "Pam"},
     ["罗宾"] = "Robin",
     {"皮埃尔", "Pierre"},
     ["桑迪"] = "Sandy",
     {"罗宾", "Robin"},
     ["文森特"] = "Vincent",
     {"桑迪", "Sandy"},
     ["威利"] = "Willy",
     {"文森特", "Vincent"},
     ["法师"] = "Wizard",
     {"威利", "Willy"},
     ["吉尔"] = "Gil",
     {"法师", "Wizard"},
     ["冈瑟"] = "Gunther",
     {"吉尔", "Gil"},
     ["仆从"] = "Henchman",
     {"冈瑟", "Gunther"},
     ["马龙"] = "Marlon",
     {"仆从", "Henchman"},
     ["莫里斯"] = "Morris",
     {"马龙", "Marlon"},
     ["齐先生"] = "Mr. Qi",
     {"莫里斯", "Morris"},
     ["雷欧"] = "Leo",
     {"齐先生", "Mr. Qi"},
     ["贝啼"] = "Birdie",
     {"雷欧", "Leo"},
     ["蜗牛教授"] = "Professor Snail",
     {"贝啼", "Birdie"},
     ["姜岛商人"] = "Island Trader",
     {"蜗牛教授", "Professor Snail"},
     ["沙漠商人"] = "Desert Trader",
     {"姜岛商人", "Island Trader"},
     ["女巫"] = "Witch",
     {"沙漠商人", "Desert Trader"},
     ["州长"] = "Governer",
     {"女巫", "Witch"},
     ["门卫"] = "Bouncer",
     {"州长", "Governer"},
     ["菲兹"] = "Fizz",
     {"门卫", "Bouncer"},
     ["老水手"] = "Mariner",
     {"菲兹", "Fizz"},
     ["爷爷"] = "Grandpa"
     {"老水手", "Mariner"},
     {"爷爷", "Grandpa"}
}
}


p.EN = {
-- 动态构建映射表
    ["Alex"] = "亚历克斯",
local zh_to_en = {}
    ["Elliott"] = "艾利欧特",
local en_to_zh = {}
    ["Harvey"] = "哈维",
 
     ["Sam"] = "山姆",
for _, pair in ipairs(characters) do
    ["Sebastian"] = "塞巴斯蒂安",
     zh_to_en[pair[1]] = pair[2]
    ["Shane"] = "谢恩",
     en_to_zh[pair[2]] = pair[1]
    ["Abigail"] = "阿比盖尔",
end
     ["Emily"] = "艾米丽",
    ["Haley"] = "海莉",
    ["Leah"] = "莉亚",
    ["Maru"] = "玛鲁",
    ["Penny"] = "潘妮",
    ["Caroline"] = "卡洛琳",
    ["Clint"] = "克林特",
    ["Demetrius"] = "德米特里厄斯",
    ["Dwarf"] = "矮人",
    ["Evelyn"] = "艾芙琳",
    ["George"] = "乔治",
    ["Gus"] = "格斯",
    ["Jas"] = "贾斯",
    ["Jodi"] = "乔迪",
    ["Kent"] = "肯特",
    ["Krobus"] = "科罗布斯",
    ["Lewis"] = "刘易斯",
    ["Linus"] = "莱纳斯",
    ["Marnie"] = "玛妮",
    ["Pam"] = "潘姆",
    ["Pierre"] = "皮埃尔",
    ["Robin"] = "罗宾",
    ["Sandy"] = "桑迪",
    ["Vincent"] = "文森特",
    ["Willy"] = "威利",
    ["Wizard"] = "法师",
    ["Gil"] = "吉尔",
    ["Gunther"] = "冈瑟",
    ["Henchman"] = "仆从",
    ["Marlon"] = "马龙",
    ["Morris"] = "莫里斯",
    ["Mr. Qi"] = "齐先生",
    ["Leo"] = "雷欧",
    ["Birdie"] = "贝啼",
    ["Professor Snail"] = "蜗牛教授",
    ["Island Trader"] = "姜岛商人",
    ["Desert Trader"] = "沙漠商人",
    ["Witch"] = "女巫",
    ["Governer"] = "州长",
    ["Bouncer"] = "门卫",
    ["Fizz"] = "菲兹",
    ["Mariner"] = "老水手",
    ["Grandpa"] = "爷爷"
}


function p.getEnglishName(input)
-- 统一的参数提取函数
    local chineseName
local function getArg(input)
     if type(input) == "string" then
     if type(input) == "string" then
         chineseName = input
         return input
    else
        chineseName = input.args[1] or input:getParent().args[1]
     end
     end
     return p.ZH[chineseName] or chineseName
     return input.args[1] or input:getParent().args[1]
end
 
-- 简化的函数
function p.getEnglishName(input)
    local name = getArg(input)
    return zh_to_en[name] or name
end
end


function p.getChineseName(input)
function p.getChineseName(input)
     local englishName
     local name = getArg(input)
    if type(input) == "string" then
     return en_to_zh[name] or name
        englishName = input
    else
        englishName = input.args[1] or input:getParent().args[1]
    end
     return p.EN[englishName] or englishName
end
end


function p.isValidNPC(name)
function p.isValidNPC(input)
     if p.ZH[name] or p.EN[name] then
    local name = getArg(input)
        return "true"
     return (zh_to_en[name] or en_to_zh[name]) and "true" or "false"
    else
        return "false"
    end
end
end
-- 保持向后兼容性
p.ZH = zh_to_en
p.EN = en_to_zh


return p
return p

2025年8月31日 (日) 22:47的版本

[ 创建 | 刷新 ]文档页面
当前模块文档缺失,需要扩充。
local p = {}

-- 使用单一数据源,避免重复维护
local characters = {
    {"亚历克斯", "Alex"},
    {"艾利欧特", "Elliott"},
    {"哈维", "Harvey"},
    {"山姆", "Sam"},
    {"塞巴斯蒂安", "Sebastian"},
    {"谢恩", "Shane"},
    {"阿比盖尔", "Abigail"},
    {"艾米丽", "Emily"},
    {"海莉", "Haley"},
    {"莉亚", "Leah"},
    {"玛鲁", "Maru"},
    {"潘妮", "Penny"},
    {"卡洛琳", "Caroline"},
    {"克林特", "Clint"},
    {"德米特里厄斯", "Demetrius"},
    {"矮人", "Dwarf"},
    {"艾芙琳", "Evelyn"},
    {"乔治", "George"},
    {"格斯", "Gus"},
    {"贾斯", "Jas"},
    {"乔迪", "Jodi"},
    {"肯特", "Kent"},
    {"科罗布斯", "Krobus"},
    {"刘易斯", "Lewis"},
    {"莱纳斯", "Linus"},
    {"玛妮", "Marnie"},
    {"潘姆", "Pam"},
    {"皮埃尔", "Pierre"},
    {"罗宾", "Robin"},
    {"桑迪", "Sandy"},
    {"文森特", "Vincent"},
    {"威利", "Willy"},
    {"法师", "Wizard"},
    {"吉尔", "Gil"},
    {"冈瑟", "Gunther"},
    {"仆从", "Henchman"},
    {"马龙", "Marlon"},
    {"莫里斯", "Morris"},
    {"齐先生", "Mr. Qi"},
    {"雷欧", "Leo"},
    {"贝啼", "Birdie"},
    {"蜗牛教授", "Professor Snail"},
    {"姜岛商人", "Island Trader"},
    {"沙漠商人", "Desert Trader"},
    {"女巫", "Witch"},
    {"州长", "Governer"},
    {"门卫", "Bouncer"},
    {"菲兹", "Fizz"},
    {"老水手", "Mariner"},
    {"爷爷", "Grandpa"}
}

-- 动态构建映射表
local zh_to_en = {}
local en_to_zh = {}

for _, pair in ipairs(characters) do
    zh_to_en[pair[1]] = pair[2]
    en_to_zh[pair[2]] = pair[1]
end

-- 统一的参数提取函数
local function getArg(input)
    if type(input) == "string" then
        return input
    end
    return input.args[1] or input:getParent().args[1]
end

-- 简化的函数
function p.getEnglishName(input)
    local name = getArg(input)
    return zh_to_en[name] or name
end

function p.getChineseName(input)
    local name = getArg(input)
    return en_to_zh[name] or name
end

function p.isValidNPC(input)
    local name = getArg(input)
    return (zh_to_en[name] or en_to_zh[name]) and "true" or "false"
end

-- 保持向后兼容性
p.ZH = zh_to_en
p.EN = en_to_zh

return p