前言
這是第四篇 "求人不如求己" 系列,讓你不用看模組作者的臉色也能自己做出語言文本。這次我要分享幾個有別於其他篇的案例。如果你還沒看過前面幾篇,可以先去看一看:物品篇、配方篇、環境選單篇。尤其是環境選單篇你最好有先看過,因為本篇分享的案例會提到環境選單篇提過的東西,你如果沒有先看過那篇,我怕你會看不懂。如果之後還有什麼發現,我會再補充上去。
以下為本篇章節:
1. 模組設定選項的翻譯
2. 圖片的導入
模組設定選項的翻譯
模組設定這件事情我在基礎篇有提到過,通常模組作者只要有跟Mod Options (Build 41)搭配,或是自己本來就有設定的話,那麼通常就會有一個模組設定的英文文本,所以我很驚訝我居然還會遇到沒有寫文本的案例。這次要拿來示範的模組就是Eggon's Have I Found This Book???,在之前的環境選單篇也有拿來示範過,是一個可以用來輕鬆辨識哪些技能書你是否已經拿過了的模組,而實際上可以套用的功能甚至已經不只有技能書,也能套用在錄影帶和CD上面,可以在設定的地方做調整。
我發現模組設定的文本導向跟之前教給大家的方法稍微有點不同,最大特徵就是設定選項內容的地方99%是"name ="開頭的,而且還有以下兩個特點:
1. 可以不需要用到getText("")
沒錯,你沒看錯。這裡很特別,只要是"name = "開頭的,可以不需要用getText("")就能把文本導向出去。但是該給的文本名稱和文本ID也還是要給。
2. 導向目標的文本名稱只能是UI
我有試過把文本導向到一個我創立的文本,叫做"Options_CH.txt",結果沒辦法成功把文本導向過去:
然後我就去參考其他有設定模組選項的模組之後,把文本導向改成UI,它就生效了,所以我認為這種 "name = " 開頭的設定,導向目標的文本名稱只能是UI_CH.txt。
綜合以上發現的部分來看,雖然我不是寫程式出生的,但我可以猜想這是一個跟物品和配方一樣性質的機制,是PZ本來就設定好的,所以才會不需要用到getText("")就能引導遊戲去讀取文本。
但是也別忘了這也僅止於"name = "開頭的文本,所以像是這裡的這個地方,就還是一樣要用我之前分享過的getText("")才能翻譯:
(這就是為什麼我剛剛說99%是"name ="開頭的,因為就是有這麼1%是另外這種的。)
注意事項
原則上這樣就可以了。但如果你有打算把這些翻譯跟別的翻譯放在一起變成屬於自己的翻譯合輯的話,我會強烈建議在文本ID的前面多加一個模組的縮寫名稱,這樣就不太可能會出現跟別的模組重複的文本ID了(也別忘了Lua檔案那邊的也要跟著改)。像這樣:
此外,因為有很多東西都可以放進UI文本,所以通常還會在文本ID那邊再多加 "Options",用來快速辨識哪幾項是出現在模組設定的字串(也別忘了Lua檔案那邊的也要跟著改)。像這樣:
圖片的導入
你可能很好奇:為什麼會需要翻譯圖片?我跟你說,我自己也是第一次遇到翻譯會翻到圖片的東西,所以這應該算是罕見案例。好巧不巧我是平面設計師,所以改圖對我來說很簡單,你也才有這個章節可以看。
這個案例就發生在Paint Your Ride,是一個汽車塗裝模組,我有特別寫了一篇文去介紹它,所以就不多說了。這裡要提到的就是這個模組裡面有一種類似產品目錄的東西,把它放在角色身上的時候可以滑鼠右鍵選擇查看它,然後畫面上就會出現指定的圖片,功能很類似地圖,我現在就是要分享我是怎麼搞定裡面的圖片導入。
如果我只是單純地把我改好的CH版圖片直接跟其他語言放在一起,似乎不會有任何作用,在遊戲裡面打開來依然是英文:
要慶幸這模組是俄羅斯人做的,所以模組裡面同時有英語和俄語,產品目錄圖片當然也同時有英語和俄語。因此我已經可以猜想到:如果要讓圖片的讀取從英語版導向到其他語言的版本話,模組作者一定也會為此特別寫了一段語法,於是我就直接把模組裡面所有的Lua檔案全部在Notepad++打開,然後用俄文版的產品目錄圖片名稱下去找,果不其然在一個叫做 "PaintCatalogueMenu.lua" 的檔案裡面找到了語法。
我說過了我不是寫程式出生的,所以我根本不知道這到底要怎麼改,只是看了老半天覺得這些語法好像是在寫:"如果偵測到玩家用的語言代碼是RU,那就去讀取CataloguePaintTints_RU.png 這張圖;如果不是,那就讀取 "CataloguePaintTints.png" 這張圖。而且因為這模組有兩個目錄,所以它寫了兩次一樣的語法在裡面。
因此我就在想:那我是不是只要拷貝了關鍵的那兩行之後,把語言代碼改成CH就行了?所以我就這樣改,把語法各別加放在俄語的下面(紅框處):
然後帶著姑且一試的心情進去遊戲裡面看,結果不但沒有成功,甚至連本來的 "查看目錄" 這個環境選單都不見了,所以看樣子語法不是這樣直接加上去的。
於是我腦洞大開,做了另一個嘗試,那就是直接拷貝整個語法,然後貼在原本語法的下面,並且改成CH,看看能不能奏效:
結果還真的就這樣被我弄好了!可以正常顯示我改的圖片,我也是覺得滿意外的:
這就是我如何誤打誤撞解決圖片導向的問題,給未來如果有遇到類似情況的人一個參考。
沒有留言 :
張貼留言
矮控的FB粉專已經被駭客搶走,有事可以改去巴哈私信給我(帳號名稱是eva08maicy02)。