【GTFO】MOD圖制作——WardenObjectiveDataBlock

接著上次的講
本篇主要講關(guān)于MOD圖的任務(wù)部分——WardenObjectiveDataBlock
跟上個(gè)Rundown db一樣,我簡(jiǎn)單的把WardenObjective db的功能分為三部分
一、任務(wù)描述
二、連鎖事件
三、目標(biāo)設(shè)置

先貼個(gè)空框架
老規(guī)矩,按這個(gè)空任務(wù)為例一個(gè)一個(gè)講

"Type": 0,
任務(wù)類型(enum)
每個(gè)類型我都舉了個(gè)例子,不清楚是什么任務(wù)的去對(duì)應(yīng)地圖看一下就行了
"Header": 0,
任務(wù)標(biāo)題(游戲內(nèi)不顯示)
"MainObjective": 0,
主要目標(biāo) Text DB
"WardenObjectiveSpecialUpdateType": 0,
管理員目標(biāo)特殊更新類型(enum,機(jī)翻)
"GenericItemFromStart": 0,
落地運(yùn)送的Item(Item DB)
"DoNotMarkPickupItemsAsWardenObjectives": false,
不要將取貨項(xiàng)目標(biāo)記為管理員目標(biāo)
下面是設(shè)置所有跟任務(wù)有關(guān)的描述,全部的對(duì)應(yīng)db都是Text db
? ? "FindLocationInfo": 0,
查找位置信息(通常提示需要在終端使用query查找任務(wù)目標(biāo)所在位置信息)
? ? "FindLocationInfoHelp": 0,
查找位置信息提示(長(zhǎng)時(shí)間沒(méi)有使用query查找后的提示)
? ? "GoToZone": 0,
前往區(qū)域(正確使用query后更新,通常顯示前往目標(biāo)所在區(qū)域)
? ? "GoToZoneHelp": 0,
前往區(qū)域提示(長(zhǎng)時(shí)間沒(méi)有前往目標(biāo)所在區(qū)域后的提示)
? ? "InZoneFindItem": 0,
區(qū)域內(nèi)查找項(xiàng)目(到達(dá)目標(biāo)所在區(qū)域位置后更新,通常要求找到目標(biāo)項(xiàng)目)
? ? "InZoneFindItemHelp": 0,
區(qū)域內(nèi)查找項(xiàng)目提示(長(zhǎng)時(shí)間沒(méi)有找到任務(wù)目標(biāo)后的提示,通常提示使用ping來(lái)查找)
? ? "SolveItem": 0,
解決項(xiàng)目(找到/完成 任務(wù)目標(biāo)后更新,通常是任務(wù)內(nèi)容提示或撤離點(diǎn)位置)
? ? "SolveItemHelp": 0,
解決項(xiàng)目提示(長(zhǎng)時(shí)間在找到任務(wù)目標(biāo)后沒(méi)有繼續(xù)完成時(shí)更新的提示)
? ? "GoToWinCondition_Elevator": 0,
完成任務(wù)條件_電梯(完成任務(wù)后在撤離點(diǎn)設(shè)定為出生點(diǎn)時(shí)更新)
? ? "GoToWinConditionHelp_Elevator": 0,
完成任務(wù)條件提示_電梯(長(zhǎng)時(shí)間沒(méi)有到達(dá)撤離點(diǎn)時(shí)的提示)
? ? "GoToWinCondition_CustomGeo": 0,
完成任務(wù)條件_自定義地區(qū)(完成任務(wù)后在撤離點(diǎn)設(shè)定為自定義區(qū)域時(shí)更新)
? ? "GoToWinConditionHelp_CustomGeo": 0,
完成任務(wù)條件提示_自定義地區(qū)(長(zhǎng)時(shí)間沒(méi)有到達(dá)撤離點(diǎn)時(shí)的提示)
? ? "GoToWinCondition_ToMainLayer": 0,
完成任務(wù)條件_返回主要層(完成任務(wù)后且此任務(wù)不是主線任務(wù)時(shí)更新,通常為“返回主要目標(biāo)并完成任務(wù)”)
? ? "GoToWinConditionHelp_ToMainLayer": 0,
完成任務(wù)條件提示_返回主要層(長(zhǎng)時(shí)間沒(méi)有返回主線區(qū)域時(shí)更新???不確定,官圖好像沒(méi)有出現(xiàn)過(guò),正常也沒(méi)用過(guò))
? ? "ShowHelpDelay": 180.0,
顯示提示的延遲

第二部分 連鎖事件
? ? "WavesOnElevatorLand": [],
落地時(shí)的警報(bào)(GenericEnemyWaveData)

"EventsOnElevatorLand": [],
落地時(shí)觸發(fā)的事件(WardenObjectiveEventData)
這個(gè)事件很長(zhǎng),我分開來(lái)寫
? ? ? ? "Type": 0,
事件類型(enum)
? ? ? ? "Condition": {
? ? ? ? ? "ConditionIndex": -1,
? ? ? ? ? "IsTrue": false
? ? ? ? },
條件設(shè)置,具體用法不知道,問(wèn)高手
? ? ? ? "Trigger": 0,
事件觸發(fā)階段,已反應(yīng)堆驗(yàn)證為例:在開始就是反應(yīng)堆預(yù)熱階段剛開始,在中間就是驗(yàn)證階段剛開始,在結(jié)束就是完成驗(yàn)證之后。
? ? ? ? "ChainPuzzle": 0,
連鎖掃描,對(duì)應(yīng)persistentID為 ChainedPuzzleDataBlock
? ? ? ? "UseStaticBioscanPoints": false,
使用靜態(tài)生物掃描點(diǎn),為true后掃描點(diǎn)固定
? ? ? ? "Layer": 0,
事件發(fā)生所在層
? ? ? ? "DimensionIndex": 0,
事件發(fā)生所在維度
? ? ? ? "LocalIndex": 0,
事件發(fā)生所在區(qū)域
? ? ? ? "Delay": 0.0,
延遲觸發(fā)時(shí)間
? ? ? ? "Duration": 0.0,
持續(xù)時(shí)間
? ? ? ? "ClearDimension": false,
清除維度敵人,會(huì)將設(shè)定維度的敵人全部清除,包括原生怪
? ? ? ? "WardenIntel": 0,
任務(wù)信息,對(duì)應(yīng)persistentID為?Text DataBlock
? ? ? ? "CustomSubObjectiveHeader": 0,
自定義子目標(biāo)標(biāo)題,對(duì)應(yīng)persistentID為?Text?DataBlock
? ? ? ? "CustomSubObjective": 0,
自定義子目標(biāo),對(duì)應(yīng)persistentID為?Text?DataBlock
? ? ? ? "SoundID": 0,
聲音ID
? ? ? ? "SoundSubtitle": 0,
聲音字幕,對(duì)應(yīng)persistentID為?Text?DataBlock
? ? ? ? "DialogueID": 0,
對(duì)話ID,對(duì)應(yīng)persistentID為?PlayerDialog?DataBlock
? ? ? ? "FogSetting": 0,
霧設(shè)置,對(duì)應(yīng)persistentID為?FogSettings?DataBlock
這個(gè)霧設(shè)置的db后面會(huì)講
? ? ? ? "FogTransitionDuration": 0.0,
霧過(guò)渡持續(xù)時(shí)間
? ? ? ? "EnemyWaveData": {},
警報(bào)設(shè)置見(jiàn)上面的GenericEnemyWaveData
? ? ? ? "EnemyID": 0,
敵人ID
? ? ? ? "Position": {
? ? ? ? ? "x": 0.0,
? ? ? ? ? "y": 0.0,
? ? ? ? ? "z": 0.0,
? ? ? ? ? "magnitude": 0.0,
? ? ? ? ? "sqrMagnitude": 0.0
? ? ? ? },
位置
? ? ? ? "Count": 0,
計(jì)數(shù)
? ? ? ? "Enabled": false,
是否啟用
? ? ? ? "TerminalCommand": 0,
終端命令
?? ? ? ?"TerminalCommandRule": 0,
終端命令規(guī)則
? ? ? ? "WorldEventObjectFilter":""
世界事件對(duì)象篩選器
用來(lái)觸發(fā)一些世界事件(游戲內(nèi)置有,我不懂,別問(wèn)我)

? ? "WaveOnElevatorWardenIntel": 0,
電梯降落中的任務(wù)提示信息,對(duì)應(yīng)persistentID為?Text?DataBlock
? ? "FogTransitionDataOnElevatorLand": 0,
電梯著陸時(shí)的霧過(guò)渡數(shù)據(jù),對(duì)應(yīng)persistentID為?FogSettings?DataBlock
? ? "FogTransitionDurationOnElevatorLand": 0.0,
電梯著陸上的霧過(guò)渡持續(xù)時(shí)間
? ? "OnActivateOnSolveItem": false,
在解決項(xiàng)目時(shí)激活,為true時(shí)和事件999搭配使用
? ? "WavesOnActivate": [],
激活時(shí)的警報(bào)(GenericEnemyWaveData)
? ? "EventsOnActivate": [],
激活時(shí)的事件(WardenObjectiveEventData)
? ? "StopAllWavesBeforeGotoWin": false,
完成任務(wù)后關(guān)閉所有警報(bào)(包有限警報(bào)括欠的怪?哦,我關(guān)于警報(bào)的視頻鴿了來(lái)著)
? ? "WavesOnGotoWin": [],
完成任務(wù)后觸發(fā)的警報(bào)(GenericEnemyWaveData)
? ? "WaveOnGotoWinTrigger": 0,
完成任務(wù)后的警報(bào)觸發(fā)階段
? ? "EventsOnGotoWin": [],
完成任務(wù)后觸發(fā)的事件(WardenObjectiveEventData)
? ? "EventsOnGotoWinTrigger": 0,
完成任務(wù)后的事件觸發(fā)階段
? ? "FogTransitionDataOnGotoWin": 0,
完成任務(wù)后的霧過(guò)渡數(shù)據(jù),對(duì)應(yīng)persistentID為?FogSettings?DataBlock
? ? "FogTransitionDurationOnGotoWin": 0.0,
完成任務(wù)后的霧過(guò)渡持續(xù)時(shí)間
? ? "ChainedPuzzleToActive": 0,
激活時(shí)的連鎖掃描,對(duì)應(yīng)persistentID為?ChainedPuzzleDataBlock
? ? "ChainedPuzzleMidObjective": 0,
中間目標(biāo)的連鎖掃描,目前只出現(xiàn)在關(guān)閉反應(yīng)堆任務(wù),對(duì)應(yīng)persistentID為?ChainedPuzzleDataBlock
? ? "ChainedPuzzleAtExit": 11,
撤離點(diǎn)連鎖掃描,對(duì)應(yīng)persistentID為?ChainedPuzzleDataBlock
? ? "ChainedPuzzleAtExitScanSpeedMultiplier": 1.0,
撤離點(diǎn)連鎖掃描速度設(shè)置

第三部分 目標(biāo)設(shè)置
我按任務(wù)分開了進(jìn)行說(shuō)明,在寫代碼的時(shí)候不需要的代碼都可以省略
type 3 收集小物品
type 6 收集大物品
type 1/2 開啟/關(guān)閉反應(yīng)堆
如果你要寫任務(wù)為反應(yīng)堆的關(guān)卡,需要在?LevelLayoutDatablock?
中指定特定地形來(lái)生成反應(yīng)堆
官圖目前有四個(gè)反應(yīng)堆地形
Mining Reactor Open HA 1
"Assets/AssetPrefabs/Complex/Mining/Geomorphs/geo_64x64_mining_reactor_open_HA_01.prefab"
Mining Reactor HA 2
"Assets/AssetPrefabs/Complex/Mining/Geomorphs/geo_64x64_mining_reactor_HA_02.prefab"
Lab Reactor HA 1
"Assets/AssetPrefabs/Complex/Tech/Geomorphs/geo_64x64_lab_reactor_HA_01.prefab"
Lab Reactor HA 2
"Assets/AssetPrefabs/Complex/Tech/Geomorphs/geo_64x64_lab_reactor_HA_02.prefab"
如果是關(guān)閉反應(yīng)堆任務(wù)除非你有相關(guān)的插件不然只能使用只能使用?Mining Reactor HA 2這一個(gè)地形
type 5 特殊終端命令
type 7 運(yùn)送動(dòng)力電池
如果使用此類任務(wù)類型為主線(MAIN)時(shí), 所需數(shù)量的電池將在電梯貨物集裝箱中給出
如果用作支線/附加(EX/OV)時(shí),電池將在進(jìn)入支線/附加的第一個(gè)區(qū)域生成
如果沒(méi)有生成在該區(qū)域?qū)?yīng)的LeveLayout db中找到?ForceBigpickupDistribution?
并將其設(shè)置為?true
如果不想在電梯落地時(shí)給電池,需要下載MOD插件?Tweaker?來(lái)調(diào)整電梯貨物
別忘了在目標(biāo)區(qū)域的 LevelLayoutDatablock
中生成所需數(shù)量的電樁,任務(wù)目標(biāo)會(huì)自動(dòng)選擇沒(méi)被使用的電樁
type 8/13 上行鏈路
此類目標(biāo)需要在目標(biāo)區(qū)域的?LevelLayoutDatablock
?中生成所需數(shù)量的終端,在任務(wù)目標(biāo)為雙終端的情況下,兩臺(tái)子母終端必須在同一個(gè)大區(qū)內(nèi)
關(guān)于上行鏈路終端刷怪類型,通常官圖都是type1,即在終端所在的區(qū)域內(nèi)生成,而type 2/3 的用法,反正我是看不懂,原文放這了,官圖也沒(méi)有用type 2/3 刷怪的例子。
type 9 中央發(fā)電機(jī)組
和反應(yīng)堆一樣,需要在目標(biāo)區(qū)域的?LevelLayoutDatablock
?中指定特殊的地形來(lái)生成中央發(fā)電機(jī)組,自定義地形我就不寫了,在介紹 Layout 的時(shí)候在說(shuō)
此任務(wù)類型需要在目標(biāo)區(qū)域的?LevelLayoutDatablock
?中找到?GeneratorClustersInZone 并將其設(shè)置為?1
type?10?激活小型HSU
此類任務(wù)是將大物品放入指定地形的機(jī)器中的任務(wù),包括打開cargo(R5B3 MAIN)
和反應(yīng)堆一樣,需要在目標(biāo)區(qū)域的?LevelLayoutDatablock
?中指定特殊的地形來(lái)生成目標(biāo)交換機(jī)器,自定義地形我就不寫了,在介紹 Layout 的時(shí)候在說(shuō)
type 11 生存
此任務(wù)類型若為主線(MAIN),則在落地時(shí)觸發(fā)倒計(jì)時(shí)。若為支線/附加(EX/OV)則在開啟對(duì)應(yīng)任務(wù)膠囊門后觸發(fā)倒計(jì)時(shí)
任務(wù)目標(biāo)在生存倒計(jì)時(shí)結(jié)束后完成
可以使用?WardenObjectiveEventData?中的type 12,強(qiáng)制完成任務(wù)目標(biāo)來(lái)提前結(jié)束倒計(jì)時(shí)
type 12 收集終端
參考R6D2 MAIN,不解釋
type 15 限時(shí)驗(yàn)證子母終端
沒(méi)研究過(guò),參考R7D1 MAIN 寫法
關(guān)于任務(wù)的全部?jī)?nèi)容就介紹到這里了,以后關(guān)于警報(bào)和事件的嵌套類型我直接省略為GenericEnemyWaveData?和?WardenObjectiveEventData 了,忘了的話可以來(lái)這篇看,或者找官圖的json自己參考
有什么問(wèn)題都可以評(píng)論或者私信我

這里是黎明,我們下回再見(jiàn)
網(wǎng)頁(yè)或app長(zhǎng)按點(diǎn)贊即可一鍵三連
感謝各位的支持!