菜鳥的只狼Talk詳細教程(一)

大家好,我是Last孤影眾后面還有一個點,今天專門列個專欄寫一下只狼中的talk教程。
注意:閱讀本文需要讀者擁有魂系列參數(shù)編輯能力和最基礎(chǔ)的事件編輯能力,想學習的可以移步瑣帝BND的參數(shù)編輯教程和我的事件編輯教程。

一、什么是Talk
talk是組成游戲的一個部分,他和ai并列,都放在script文件中,但是硬要說的話,talk反而和事件更像,因為他和事件都是很直接的去達成某個目標,可以說游戲中大部分的結(jié)果都是事件和talk組成的。
talk從狹義理解,可以看成是游戲中的對話,例如我和商人對話購買道具;也可以看作是我和鬼佛的對話,鬼佛給我對話欄提供一系列選項,我選擇其中的一個就會達成對應的效果。
從廣義上來講,talk和事件同理,代表著交互,代表著達成條件導致某一擬定的結(jié)果,很多事情事件能做,talk也能做,但是一般來講這類結(jié)果用事件來表達會簡潔很多,我們用talk不是為了取代事件的作用,而是使用它的獨特的功能,兩者都擁有對方?jīng)]有的作用,結(jié)合起來使用才能起到最佳效果。
二、Talk文件的解包,封包
最基礎(chǔ)的uxm解包我就不講了,能看到這篇文章的我相信都是清楚的。
我們在根目錄的script文件夾中可以找到talk文件,打開如下:

一共十個文件,其中第一個文件m00代表著全局talk,也就是在每張地圖中都能使用的,例如每張地圖中的鬼佛的talk文件就放在m00中。
其他九個文件根據(jù)其編號,分別對應地圖如下:

這些文件里的talk文件只會在自己的地圖中生效,如果我們把蘆葦?shù)匾恍牡膖alk放到水生村,就算滿足觸發(fā)條件,talk也不會觸發(fā),因為talk生效的地區(qū)不符合,這一點ai倒是和它很像。
我們用把任意一個文件拖動到y(tǒng)abber解包,可以生成一個文件夾,打開如下:

這里面的文件就是talk文件了,但是我們需要使用esdtool對其進行再解包,將文件拖動到esdtool.exe上:

根據(jù)自己的需求選擇,第一個選sdt代表只狼,第二個選擇游戲根目錄,你只要復制下來然后shift+右鍵就能粘貼上去,最后一個就是問你要不要備份,我自己是不用備份的選的n,新手mod對自己不夠自信的可以選擇y。
敲下回車,等待文件解包成功,就會發(fā)現(xiàn)文件夾里多了一個py文件(python)

當然還多了一個json文件,這個文件的作用就是記住你剛剛的選擇,只要有它在,以后你解包就是默認剛剛的三個選擇答案,直接解包。
如果我們將py文件修改后,想讓他生效就必須封包。直接把py文件拖到esdtool.exe上進行一個封包即可
然后我們還要退回到最初的解包位置,對你解包對應地圖的talk文件進行二次封包,將其拖到y(tǒng)abber上即可:

三、如何在地圖編輯器中找到對應的talk
眾所周知,ai與人物的鏈接是通過地圖編輯器達成的,dsm將ai賦予對應的人物,這樣敵人才有了ai。
而talk的鏈接是相對來說比較困難的,當然魂系列是很簡單的,talk選項就和npcparam一樣填一個數(shù)字就行了,而只狼則需要我們鏈接,具體原因我也不清楚。
查看npc的talk
假設(shè)這里我們要看看茅草地一心的talk文件,因為一心進入二階段時說了一句話,所以肯定是用到了talk。
打開地圖編輯器,m11_02的貯水城區(qū)地圖,移動到茅草地點開一心,右邊的狀態(tài)欄拉到最下面就可以看到改敵人鏈接的各種events,其中可以看到talk:

點開后可以看到以下界面:

其中,name指的是talk項目的名稱:

而enemy name指的是他鏈接的敵人的名稱,這個是talk和人物鏈接的關(guān)鍵點

我們可以在人物狀態(tài)欄查看人物的名稱,只要對應就可以鏈接

下面的talk id對應的就是敵人擁有的talk,我們可以直接在對應地圖talk文件中找到編號相同的文件,當然他的命名也是和地圖有關(guān)的:

當然我們還有一種方法直接找到talk,從左邊的菜單欄可以這樣找到:

所有存在的talk都會在這里顯示,我們可以快速找到它們,甚至通過它們找到它們鏈接的敵人。
四、新建Talk
新建talk,一般新手用不到,但是也是一個很基礎(chǔ)的操作,既然講到地圖編輯器了就順便把這個寫了。
首先我們從最上面的一欄中找到create,按照我標紅的步驟即可找到talk:

點開就會發(fā)現(xiàn)你右邊的菜單欄變了,然后左邊菜單欄多了一個talk


這樣我們就新建了一個talk,talk是沒有位置的,我們只需要填入敵人名稱和對應的talk id即可。
這里要著重說的兩個點:一是unkt00,這個選項代表的是改talk的適用范圍,當然前提是你這個talk鏈接的人物已經(jīng)被刷新了。
例如你把這個unkt00改成5,那么你只有在一心5米內(nèi)才能聽到他進入二階段的對話,更遠就不會加載,那也不是說設(shè)置成越大越好,例如設(shè)置成2000,這么遠的距離可能劍圣都還沒刷新出來,當然這些都是可以控制的,目前我也在研究。

二是后面三個參數(shù),這三個參數(shù)我也沒摸清楚,但最后兩項都設(shè)置成-1是可以讓某些條件觸發(fā)對話生效多次的,這個我們下面幾篇文章再說。
刪除talk也很簡單,我們選中想刪除的talk,點擊中間的畫面,然后按下del按鍵即可刪除。
五、其他
其實看到這里大家都對talk有個很基礎(chǔ)的理解了,talk其實是獨立于人物的,玩過隨機的朋友都知道,如果蘆葦?shù)叵乙焕苫蛘咭恍碾S即成其他敵人,照樣會有對話出現(xiàn),這就是talk的相對獨立性,但又不是完全獨立的,talk肯定在內(nèi)容上是最適配原裝人物的,例如一心最后的不死斬處決說的話,換其他boss來就無法觸發(fā),這就是talk的獨立性體現(xiàn)。
這篇文章幾乎全是基礎(chǔ)介紹了準備工作,下篇文章我將會正式進入talk進行講解,帶來全網(wǎng)最詳細的talk教程,一鍵三連鼓勵懶狗作者更新文章,感謝各位觀看。
