User:Greykid/参考手册/数据导入
《真·女神转生》大系数据编纂和样式设计统一模块 “模块:Psk” 的参考手册。操作细则和贡献方式,请进入《真·女神转生》大系编辑者群(832689630)寻求进一步帮助。
本文讲述由「Excel 维基化数据库」导入到「Lua 模块化数据库」的具体操作方法。以下以「技能数据库」为例。
数据库格式
skill 区关键字说明 | |
---|---|
技能 索引英文名称 | |
id
|
(自动化工具添加的排序序号) |
name
|
技能 标准英文名称 |
namezh
|
技能 标准中文(繁体)名称 |
namezhsc
|
技能 标准中文(简体)名称 |
namejp
|
技能 标准日文名称 |
spell
|
技能类型 关键字 |
cost
|
技能 消耗(x SP 或 x% HP 或 Passive )
|
effect
|
技能 效果(官方标准说明优先) |
inherit
|
可继承该技能的仲魔/人格面具 |
method
|
可获得该技能卡的方法 |
note
|
注释 |
其中,spell
项填充的「技能类型关键字」,由下表规定:
附表 - 技能类型 关键字對照 | |
---|---|
技能类型 关键字 | 说明 |
物理 | |
phys
|
物理(统合) |
strike / bash
|
打击(统合) |
fist
|
拳擊 |
tech
|
技術 |
rush / havoc
|
衝擊 |
武器 | |
sword / slash
|
斩击(统合) |
1h
|
單手劍 |
2h
|
雙手劍 |
spear
|
长矛 |
axe
|
斧子 |
whip
|
鞭子 |
throw / thrown
|
投擲 |
arrow / bow
|
弓箭 |
枪械 | |
pierce / stab
|
贯通(统合) |
gun / ranged
|
枪械(统合) |
handgun
|
手槍 |
machinegun
|
機槍 |
shotgun
|
霰彈槍 |
rifle
|
步槍 |
元素 | |
fire
|
火炎 |
ice
|
冰冻 |
wind
|
疾风 |
elec
|
雷电 |
water
|
水流 |
earth
|
地動 |
psy
|
念动 |
nuke
|
核热 |
blast
|
爆炸 |
gravity
|
重力 |
光明 | |
expel / light
|
光照(统合) |
miracle
|
奇跡 |
heal / bless
|
治愈/祝福 |
bless
|
祝福(P5) |
sup / prayer
|
辅助/天啓 |
黑暗 | |
dark
|
黑暗(统合) |
death
|
死亡 |
curse
|
咒怨 |
occult
|
覚醒 |
nerve
|
精神 |
万能 | |
alm
|
万能(统合) |
mind
|
理智 |
ail
|
异常状态(统合) |
hiero
|
Hieroglyphein(P1) |
其他 | |
pas
|
被动/自动 |
fusion
|
组合技能 |
aoa
|
总攻击 |
extra
|
附加技能 |
misc / navi
|
杂项/导航 |
other
|
其他技能 |
整理 Excel 直至符合规范
表头按照如下顺序:name,id,spell,name0,namezhsc(如果有),namezh,cost,effect,note,inherit(如果有),method(如果有)。
在表的最右边,空格一列,下一列的第二行起,输入类似如下的公式(仅供参考):
="\t[""" & TRIM(D2) & """] = {\n\t\tid = " & TRIM(B2) & ",\n\t\tspell = '" & TRIM(C2) & "',\n\t\tname = """ & TRIM(A2) & """,\n\t\tnamezhsc = '" & TRIM(E2) & "',\n\t\tnamezh = '" & TRIM(F2) & "',\n\t\tcost = '" & TRIM(G2) & "',\n\t\teffect = """ & TRIM(H2) & """,\n\t\tnote = """ & TRIM(I2) & """,\n\t},\n"
注:尽量选用单引号来表示 Lua 字符串。如果此字符串包含单引号(例如,英文名称;技能描述;注释),则使用双引号(总之要让代码能运行)。
运用 Excel 快速填充,拓展直到最后一行。生成效果类似如下(仅供参考):
\t["Lunge"] = {\n\t\tid = 1,\n\t\tspell = 'phys',\n\t\tname = "Lunge",\n\t\tnamezhsc = '突击',\n\t\tnamezh = '突撃',\n\t\tcost = '10% HP',\n\t\teffect = "給予範圍內敵人物理屬性的小量傷害。",\n\t\tnote = "",\n\t},\n
复制到文本编辑器进一步整理
将整列代码复制到文本编辑器(推荐:Notepad++ 或 Vim)。
使用正则表达式或类似替换方法,将 \\n
替换为 \n
;将 \\t
替换为 \t
。
使用正则表达式或类似替换方法,将空数据项删去(例如 note = "",
这样的整行)并去重,保证数据的简洁性。
整理完毕的代码类似如下(仅供参考):
["Lunge"] = { id = 1, spell = 'phys', name = "Lunge", namezhsc = '突击', namezh = '突撃', cost = '10% HP', effect = "給予範圍內敵人物理屬性的小量傷害。", },
整理完毕后,即可复制进入 Lua 数据库。
Lua 数据库导入
打开对应缩写(全大写)的技能数据库(如果没有,请新建,新建的格式参考已有数据库)。缩写由下表规定:
附表 - 《真·女神转生》大系全作品 维基标准英文缩写对照表 | ||
---|---|---|
中文标题 | 英文标题 | 维基缩写 |
数码恶魔物语 女神转生I | Megami Tensei | mt1 |
数码恶魔物语 女神转生II | Megami Tensei II | mt2 |
旧约·女神转生 | Kyūyaku Megami Tensei | kmt |
女神转生I | Megami Tensei | kmt1 |
女神转生II | Megami Tensei II | kmt2 |
伪典·女神转生 东京默示录 | Giten Megami Tensei: Tokyo Mokushiroku | giten / gmt |
真·女神转生I | Shin Megami Tensei | smt1 |
真·女神转生II | Shin Megami Tensei II | smt2 |
真·女神转生if… | Shin Megami Tensei: if... | smtif |
真·女神转生if… 哈扎马篇 | Shin Megami Tensei: if... Hazama's Chapter | smtifhc |
真·女神转生20XX | Shin Megami Tensei: 20XX | 20xx |
真·女神转生20XX 恶魔角斗场 | Shin Megami Tensei: 20XX Devil's Colosseum | 20xxdc |
真·女神转生III—夜曲 | Shin Megami Tensei III: Nocturne | smt3 |
真·女神转生 奇妙之旅 | Shin Megami Tensei: Strange Journey | smtsj |
真·女神转生IV | Shin Megami Tensei IV | smt4 |
真·女神转生IV FINAL | Shin Megami Tensei IV Apocalypse | smt4a / smt4f |
真·女神转生IMAGINE | Shin Megami Tensei IMAGINE | smtim |
真·女神转生NINE | Shin Megami Tensei NINE | smt9 |
D×2 真·女神转生 解放 | Shin Megami Tensei: Liberation Dx2 | ldx2 |
最后的圣经 | Last Bible | lb1 |
最后的圣经II | Last Bible II | lb2 |
最后的圣经III | Last Bible III | lb3 |
另一部圣经 | Another Bible | ab |
最后的圣经 特别版 | Last Bible Special | lbs |
魔神转生 | Majin Tensei | majin1 |
魔神转生II 螺旋因果 | Majin Tensei II: Spiral Nemesis | majin2 |
RONDE —轮舞曲— | Ronde | ronde |
真·女神转生 恶魔召唤师 | Shin Megami Tensei: Devil Summoner | smtds |
恶魔召唤师 灵魂黑客 | Devil Summoner: Soul Hackers | sh |
恶魔召唤师 葛叶雷道对超力军团 | Devil Summoner: Raidou Kuzunoha vs. The Soulless Army | raidou1 |
恶魔召唤师 葛叶雷道对阿巴顿王 | Devil Summoner: Raidou Kuzunoha vs. King Abaddon | raidou2 |
恶魔之子 黑之书/红之书 | Devil Children Black/Red Book | dkb / dkr |
恶魔之子 白之书 | Devil Children White Book | dkw |
恶魔之子 光之书/暗之书 | DemiKids Light/Dark Version | dkl / dkd |
恶魔之子 火之书/冰之书 | Devil Children Fire/Ice Book | dkf / dki |
恶魔之子 弥赛亚辐射 | Devil Children Messiah Riser | dkmr |
女神异闻录Persona | Megami Ibunroku Persona | p1 |
女神异闻录2 罪 | Persona 2: Innocent Sin | p2is |
女神异闻录2 罚 | Persona 2: Eternal Punishment | p2ep |
女神异闻录3 | Persona 3 | p3 |
女神异闻录3 FES | Persona 3 FES | p3f |
女神异闻录3 FES 艾吉斯篇 | Persona 3 FES: The Answer | p3ta |
女神异闻录3 携带版 | Persona 3 Portable | p3p |
女神异闻录 圣洁之魂 | Persona -trinity soul- | pts |
女神异闻录4 | Persona 4 | p4 |
女神异闻录4 黄金版 | Persona 4 Golden | p4g |
女神异闻录4 终极深夜斗技场 | Persona 4 Arena | p4a / p4u |
女神异闻录4 无敌究极后桥背摔 | Persona 4 Arena Ultimax | p4au / p4u2 |
女神异闻录4 通宵热舞 | Persona 4: Dancing All Night | p4d |
女神异闻录Q 迷宫暗影 | Persona Q: Shadow of the Labyrinth | pq |
女神异闻录Q2 迷宫电影院 | Persona Q2: New Cinema Labyrinth | pq2 |
女神异闻录5 | Persona 5 | p5 |
女神异闻录5 皇家版 | Persona 5 Royal | p5r |
女神异闻录5 乱战:魅影攻手 | Persona 5 Strikers | p5s |
真·女神转生 卡牌召唤师 | Shin Megami Tensei Trading Card: Card Summoner | cs |
数码恶魔传说 同调化身 | Digital Devil Saga: Avatar Tuner | ddsaga1 |
数码恶魔传说 同调化身2 | Digital Devil Saga: Avatar Tuner 2 | ddsaga2 |
女神异闻录 恶魔幸存者 | Devil Survivor | desu1 |
恶魔幸存者 超时极限 | Devil Survivor Overclocked | desu1oc |
恶魔幸存者2 | Devil Survivor 2 | desu2 |
恶魔幸存者2 记录突破 | Devil Survivor 2 Record Breaker | desu2rb |
魔剑X | Maken X | mx |
幻影异闻录♯FE | Tokyo Mirage Sessions ♯FE | tmsfe |
例如,我们打开 模块:Psk/P5R 数据库。进入编辑界面。
将
local skills = {
与
-- 未知技能佔位符 ["unknown"] = { name = ' ? ', namezh = ' ? ', cost = ' ? ', effect = ' ? ', }, }
之间的所有行,替换为刚刚在文本编辑器中整理完毕的数据代码。
注意:在保存之前,点击「显示差异」,确认本次数据库修改的内容是否符合预期。如果符合预期、且代码无错误,即可保存。
更多
容易注意到:Lua 技能数据库最下方,还有 aliases、colours 两个项目。这两个项目分别是提供「英文技能名称消歧义」和「技能名称颜色渲染」。
导出到 Excel?运用正则表达式,对扒下来的代码进行整理,然后粘贴到 Excel 进一步整理。为避免麻烦,建议对所有直接在 Lua 数据库中做出的改动,都手动同步至 Excel 数据库中(请将 Excel 数据库推送到 QQ 群,方便版本控制)。
致 Lua 初学者:技能数据库和主程序存在对接关系,主程序中有正确调用数据库,方能显示出预期效果。
Grey:使用 Excel 是为了方便更多零基础贡献者参与整理和维护。当然也是为了方便 Control + C / V 啦~
附录
恶魔全书数据库 公式1:
= "\t[""" & A2 & """] = {\n\t\tnamezh = '" & C2 & "',\n\t\tnamezhsc = '" & B2 & "',\n\t\tnamejp = '" & I2 & "',\n\t\tlink = '" & J2 & "',\n\t\tnote = '" & K2 & "',\n\t},\n"
恶魔全书数据库 公式2:
= "\t[""" & B2 & """] = """ & IF(ISBLANK(B2), "", A2) & """,\n\t[""" & IF(B2=C2, "", C2) & """] = """ & IF(OR(ISBLANK(C2), B2=C2), "", A2) & """,\n\t[""" & D2 & """] = """ & IF(ISBLANK(D2), "", A2) & """,\n\t[""" & E2 & """] = """ & IF(ISBLANK(E2), "", A2) & """,\n\t[""" & IF(E2=F2, "", F2) & """] = """ & IF(OR(ISBLANK(F2), E2=F2), "", A2) & """,\n\t[""" & G2 & """] = """ & IF(ISBLANK(G2), "", A2) & """,\n\t[""" & IF(G2=H2, "", H2) & """] = """ & IF(OR(ISBLANK(H2), G2=H2), "", A2) & """,\n\t[""" & I2 & """] = """ & IF(ISBLANK(I2), "", A2) & """,\n"