FANDOM


指令控制台默認是啟用狀態。如果它因為任何原因沒有處於開啟狀態,你首先要做的就是調整你存檔中的 settings.ini文件。它可以在 "donotstarve" 文件夾里被找到,位於以下路徑:

Windows, Mac: <Documents>\Klei\DoNotstarve\settings.ini

Linux:         ~/.klei/DoNotStarve/settings.ini

找到 settings.ini 然後用記事本打開,接著找到寫著 [MISC]ENABLECONSOLE = false 的部分,然後將它修改為 [MISC]ENABLECONSOLE = true ,然後保存。

然後在遊戲中打開控制台,英文鍵盤下默認按 "~" 鍵。這可以隨時在控制菜單中修改。你也可以通過按 Ctrl + L 來隱藏控制台。

你需要運行一次以下命令才能啟用控制台命令:

RunS​cript("consolecommands")

註:和許多其他命令行介面程序一樣,用戶可以按上箭頭鍵來獲取之前所輸入的命令,而不需要重新手動輸入。另一方面,玩家重新進入世界後,仍然必須重新輸入命令。

簡單命令编辑

  • 生成預設
c_spawn("prefab", amount)

利用 DebugSpawn("預設") 命令,在滑鼠所指處生成一定數量被指定的"預設"。

  • 獲得物品
c_give("prefab", amount)

在你的物品欄中生成一定數量被指定的"預設"。只適用於可以被儲存在物品欄的背包物品

  • 腳本(未測試)
c_doscenario(scenario)

應用一個選擇的腳本並執行它。

  • 生命值
c_sethea​lth(percent)

用百分比設置你的生命值。註:使用分數 0.90 = 90%

  • 理智值
c_setsanit​y(percent)

用百分比設置你的理智值。註:使用分數 0.90 = 90%

  • 飢餓值
c_sethunger(pe​rcent)

用百分比設置你的飢餓值。註:使用分數 0.90 = 90%

  • 上帝模式
c_godmode()

上帝模式下,玩家的理智值、飢餓值和被攻擊時生命值不再下降。注意,你在通過一個蟲洞後、睡覺後、傳送後、進入或者退出一個洞穴系統後、吃曼德拉草後或者使用多次結構複雜的命令後都需要重新開啟它。

  • 設置移動速度
c_speedmult(value,"me")

標準的移動速度為1。設置為10可以使你更快一點移動,設置為40可以使你穿過牆和"越過"水。

這兒有其他一些命令,但是它們很難使用而且用處不大。

玩家命令编辑

  • 隱藏和顯示HUD
GetPlayer().HUD:Hide()
GetPlayer().HUD:Show()

隱藏或顯示(隱藏後可以使用顯示)完整的遊戲HUD(界面)。


  • 創造模式
GetPlayer().components.builder:GiveAllRecipes()

你可以合成任何東西,包括你之前從未合成過的東西。


  • 生命值上限
GetPlayer().components.health:SetMaxHealth(value)

改變你的角色生命 值上限


  • 理智值上限
GetPlayer().components.sanity:SetMax(value)

改變你的角色 的理智 值上限


  • 飢餓值上限
GetPlayer().components.hunger:SetMax(value)

改變你的角色 的飢餓 值上限


  • 暫停飢餓
GetPlayer().components.hunger:Pause(true)

你的角色 不再降低飢餓值。


  • 海狸
GetPlayer().components.beaverness:SetPercent(1)

伍迪 變成海狸

世界命令编辑

  • 傳送到預設
c_gonext("prefab")

輸入該命令後,你將被傳送到第一個預設的實體.如果存在多個預設的實體,控制台日誌將會顯示實體數量的列表,再次執行相同的命令將會傳送玩家到下一個在世界中生成的預設的實體。

  • 刪除滑鼠下的實體
TheInput:GetWorldEntityUnderMouse():Remove()

輸入該命令後,將會刪除你滑鼠下的物品。

  • 顯示地圖
GetWorld().​minimap.MiniMap:ShowArea(0,0,0,10000)

註:退出遊戲後或更改地圖後地圖將恢復正常狀態,但探索過的新區域將會保留。

  • 跳過一天
​GetClock():MakeNextDay()

跳過當前的一天。

  • 跳過更多天數
for x = 1, 50 do GetClock():MakeNextDay() end

這個例子為跳過50天。如果想要跳過其他天數可以將50替換為其他數字。

警告:數值太大可能會凍結遊戲。(取決於電腦的運算速度

  • 跳過時間單元並更新
LongUpdate(X)

對世界對象執行 "LongUpdate" 事件並跳過X個時間單元

註:每一個時間部分有30個時間單元。想要跳過一天可以使用 LongUpdate(480) 或者用乘法計算,例如 LongUpdate(X*16*30) 或者 LongUpdate(X*TUNING.TOTAL_DAY_TIME) X 為想要跳過的天數。

譯者註:每天有16個小部分,每部分有30個時間單元,每單元為現實中的一秒,所以一天為現實中的8分鐘。(詳見日夜周期


  • 設置時間階段

用法:

​GetClock():SetSegs(day,dusk,night)

為白天、黃昏、夜晚設置時間部分的數量。如果三者相加超過16則錯誤。例子:

​GetClock():SetSegs(14,1,1)

擁有非常長的白天,非常短的黃昏和夜晚(只給黃昏一個時間部分和夜晚一個時間部分)


  • 跳過時間階段
GetClock():NextPhase()

跳過當前時間階段。

  • 進入夏季
GetSeasonManager():StartSummer()

進入夏季

  • 進入冬季
GetSeasonManager():StartWinter()

進入冬季

  • 進入秋季 Reign of Giants icon
GetSeasonManager():StartAutumn()

進入秋季

  • 進入春季 Reign of Giants icon
GetSeasonManager():StartSpring()

進入春季

  • 進入溫和季節 Shipwrecked icon
GetSeasonManager():StartMild()

進入溫和季節

  • 進入颶風季節 Shipwrecked icon
GetSeasonManager():StartWet()

進入颶風季節

  • 進入雨季 Shipwrecked icon
GetSeasonManager():StartGreen()

進入雨季

  • 進入旱季 Shipwrecked icon
GetSeasonManager():StartDry()

進入旱季

  • 開始下雨
GetSeasonManager():StartPrecip()

開始下雨

  • 停止下雨
GetSeasonManager():StopPrecip()

停止下雨

  • 生成閃電
GetSeasonManager():DoLightningStrike(Vector3(GetPlayer().Transform:GetWorldPosition()))

閃電擊中玩家,如果靠近避雷針的話,則擊中避雷針。

  • 火山爆發 Shipwrecked icon
GetVolcanoManager():StartEruption(smokeduration,ashduration,firerainduration,firerockspersecond)

火山爆發。注意火雨會緩慢地持續數秒。

  • 測量距離
print(math.sqrt(GetPlayer():GetDistanceSqToInst(TheInput:GetWorldEntityUnderMouse())))

在控制台日誌中輸出玩家和鼠

標指著的物體(默認情況下按Ctrl + L顯示控制台日誌)。

配置命令编辑

雖然配置命令是永久的並且不需要每次都執行,但它們必須在遊戲中才能執行。你可以逐次輸入解鎖多個角色的命令而不需要每次都保存,直到最後再執行保存命令。

  • 改變角色
GetPlayer().prefab = "character"

更改當前角色為命令中輸入的角色名(預設名,例如,麥斯威爾為 waxwell )。需要保存並退出遊戲該命令才會生效。

GetPlayer().profile:UnlockCharacter("willow")
GetPlayer().profile:Save()

解鎖薇洛。第一次輸入後不需要重新輸入,除非丟失了你的配置設置。

GetPlayer().profile:UnlockCharacter("wolfgang")
GetPlayer().profile:Save()

解鎖沃爾夫岡。第一次輸入後不需要重新輸入,除非丟失了你的配置設置。

GetPlayer().profile:UnlockCharacter("wendy")
GetPlayer().profile:Save()

解鎖溫蒂。第一次輸入後不需要重新輸入,除非丟失了你的配置設置。

GetPlayer().profile:UnlockCharacter("wx78")
GetPlayer().profile:Save()

解鎖WX-78。第一次輸入後不需要重新輸入,除非丟失了你的配置設置。

GetPlayer().profile:UnlockCharacter("wickerbottom")
GetPlayer().profile:Save()

解鎖薇克伯頓。第一次輸入後不需要重新輸入,除非丟失了你的配置設置。

GetPlayer().profile:UnlockCharacter("woodie")
GetPlayer().profile:Save()

解鎖伍迪。第一次輸入後不需要重新輸入,除非丟失了你的配置設置。

GetPlayer().profile:UnlockCharacter("wes")
GetPlayer().profile:Save()

解鎖維斯。第一次輸入後不需要重新輸入,除非丟失了你的配置設置。

GetPlayer().profile:UnlockCharacter("waxwell")
GetPlayer().profile:Save()

解鎖麥斯威爾。第一次輸入後不需要重新輸入,除非丟失了你的配置設置。

GetPlayer().profile:UnlockCharacter("wigfrid")
GetPlayer().profile:Save()

解鎖薇格弗德。第一次輸入後不需要重新輸入,除非丟失了你的配置設置。

GetPlayer().profile:UnlockCharacter("webber")
GetPlayer().profile:Save()

解鎖韋伯。第一次輸入後不需要重新輸入,除非丟失了你的配置設置。

GetPlayer().profile:UnlockCharacter("walani")
GetPlayer().profile:Save()

解鎖瓦拉尼。第一次輸入後不需要重新輸入,除非丟失了你的配置設置。

GetPlayer().profile:UnlockCharacter("warly")
GetPlayer().profile:Save()

解鎖沃利。第一次輸入後不需要重新輸入,除非丟失了你的配置設置。

  • 解鎖一切(當前所有角色)
​GetPlayer().profile:UnlockEverything()

雜項命令编辑

  • 清空停屍房
ErasePersistentString("morgue")

清空停屍房。執行該命令後需要關閉並重新打開遊戲。

除了特别提示,社区内容遵循CC-BY-SA 授权许可。