使用者: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"