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

模块:NPC:修订间差异

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


-- 使用单一数据源,避免重复维护
p.ZH = {
local characters = {
["亚历克斯"] = "Alex",
["艾利欧特"] = "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 = {
local zh_to_en = {}
["Alex"] = "亚历克斯",
local en_to_zh = {}
["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"] = "爷爷"
}


for _, pair in ipairs(characters) do
function p.getEnglishName(input)
zh_to_en[pair[1]] = pair[2]
local chineseName
en_to_zh[pair[2]] = pair[1]
end

-- 统一的参数提取函数
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)
return en_to_zh[name] or name
if type(input) == "string" then
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