《曠野之息》中的Flag和gamedata科普
本人目前致力于研究《曠野之息》的MOD相關(guān)制作技術(shù),并對Flag和gamedata有一定的了解
正好在yuda大大的番外48中涉及了這兩個術(shù)語,故順便在此科普一下
Flag
Flag,即為旗標(biāo),它的值可以為true或false,true是打開,false則是關(guān)閉
在《曠野之息》中,大多數(shù)的操作都涉及到了對Flag的設(shè)置
舉個例子,復(fù)蘇神廟傳送點(diǎn)的Flag為Open_StartPoint

當(dāng)它的值為true時,傳送點(diǎn)激活,為false時,傳送點(diǎn)關(guān)閉
事件SDemo_D-6觸發(fā)后,將它的值設(shè)置為true

也就是說,只要Open_StartPoint的值為true時,這個傳送點(diǎn)就可以被使用
那么,我們可以通過修改存檔文件中的Flag值使其一開始就可以被使用

換作旗標(biāo)繼承的話,這個例子就是把值為true的Flag繼承了過來
除了傳送點(diǎn),F(xiàn)lag還用于判斷某個道具是否已經(jīng)拿過、boss是否已被擊殺、是否處于大師模式中等等......總而言之,F(xiàn)lag就是用來判斷是或否的
gamedata
gamedata用來表示一個東西的數(shù)量
比如某個道具有多少個,玩家多少次傳送到了這個傳送點(diǎn)
在道具的gamedata中,名稱是和數(shù)量分開記錄的
這個道具在第N行,那么對應(yīng)的數(shù)量也在第N行


如果旗標(biāo)繼承中的兩個存檔道具格數(shù)不一致,那么就會導(dǎo)致道具與數(shù)量的位置發(fā)生差異
這就是為什么箭的數(shù)量會暴增的原因,海利亞盾的數(shù)值轉(zhuǎn)移到了古代箭上

關(guān)于Flag和gamedata的科普大概就是這些
希望這篇科普能幫助大家更好地理解yuda大大的番外48
因?yàn)楸救艘仓皇侨腴T,如果有什么錯誤,歡迎大佬們提出