Console(コンソール)はデフォルトで有効になっています。何らかの理由で無効となっている場合は、ファイル「settings.ini」で設定を行う必要があります。これは「donotstarve」フォルダにあります:
Windows, Mac: <Documents>\Klei\DoNotstarve\settings.ini Linux: ~/.klei/DoNotStarve/settings.ini
「settings.ini」データをメモ帳で開き、[MISC]
の項目を探します。ENABLECONSOLE = true
であれば問題ありませんがfalse
となっている場合はtrue
に書き換えましょう。
デフォルト設定であればコンソールはゲームプレイ中に「@」キーを押すことで開くことができます。キーは設定で変更可能です。コンソールメニュー及びログはCtrl + Lで消すことができます。
一部のコマンドは入力する前に、前提となるコマンドが必要な場合があります。例えば、c_giveのコマンドがうまく機能しない時は事前に
RunScript("consolecommands")
と入力する必要があります。
- 注意点
- 大文字と小文字が区別される(GetPlayerをgetplayerと書くと無効)
- ,」と「.」を混同しない(文章を区切るときは. 数字を記述する時は,が使われます)
- 事前に別のコマンドが必要な場合がある。後述
Note: Like many other command-line interfaced programs, the user can press the upper arrow key to get access to previously entered commands, with no need to re-type them manually again. However, the player will still have to re-enter every command after re-entering a world.
簡単なコマンド
- オブジェクト生成
c_spawn("prefab", amount)
DebugSpawn("prefab") の拡張版。「prefab」にオブジェクトのコード、「amount」に呼び出すオブジェクトの数を指定できます。
- アイテム取得
c_give("prefab", amount)
「prefab」で指定したアイテムをインベントリ上に呼び出します。バックパックやアイテムのようなインベントリに収めることができるオブジェクトのみ対象です。
- Scenario (Not tested)
c_doscenario(scenario)
Apply a scenario script to the selection and run it.
- Health(体力)の指定
c_sethealth(percent)
「percent」の部分に任意の数値を入れることでそれに応じた現在の体力を指定できます。例:0.90 = 90%
- Sanity(正気度)の指定
c_setsanity(percent)
「percent」の部分に任意の数値を入れることでそれに応じた現在の正気度を指定できます。例:0.90 = 90%
- Hunger(満腹度)の指定
c_sethunger(percent)
「percent」の部分に任意の数値を入れることでそれに応じた現在の満腹度を指定できます。例:0.90 = 90%
- ゴッドモード
c_godmode()
体力、正気度、満腹度が減らなくなり、あらゆるダメージを受けなくなります。ただしワームホールで移動、睡眠をとる、テレポートアイテムの使用、洞窟マップの出入り、マンドレイクを食べるもしくは使用する、その他さまざまなコマンドを使用することでゴッドモードが解除されてしまいます。
- 移動速度変更
c_speed(value)
「value」の部分に任意の数値を入れることでキャラクターの移動速度を変更します。通常のスピードは1になります。10にするとそこそこ速い程度、40にすると壁や海上を突き抜けて歩くことができます。
他にも様々なコマンドがありますがいずれも難しく、ほとんど役に立ちません。
プレイヤーコマンド
- HUDの表示/非表示
GetPlayer().HUD:Hide() GetPlayer().HUD:Show()
HUD(画面上に表示されるステータスやインベントリなどの情報のこと)の非表示/表示を切り替えることができます。
- クリエイティブモード
GetPlayer().components.builder:GiveAllRecipes()
素材を持っていなくても全てのクラフトアイテムを作成できるようになります。
- 最大体力変更
GetPlayer().components.health:SetMaxHealth(value)
「value」に任意の数値を入れることでキャラクターの体力の最大値を変更します。
- 最大正気度変更
GetPlayer().components.sanity:SetMax(value)
「value」に任意の数値を入れることでキャラクターの正気度の最大値を変更します。
- 最大満腹度変更
GetPlayer().components.hunger:SetMax(value)
「value」に任意の数値を入れることでキャラクターの満腹度の最大値を変更します。
- 満腹度ポーズ
GetPlayer().components.hunger:Pause(true)
キャラクターの満腹度が減らなくなります。
- ビーバーに変身
GetPlayer().components.beaverness:SetPercent(1)
Woodieがビーバーに変身します。
ワールドコマンド
- オブジェクト生成
DebugSpawn("prefab")
「prefab」の部分に指定したデバッグコードを入力することでマウスカーソルがある場所にオブジェクトが出現します。
- オブジェクト呼び出し(複数個)
for x=1, y do DebugSpawn("prefab") end
「y」の部分を任意の数字に置き替えることでマウスカーソルがある場所にその数字の分だけオブジェクトが出現します。
- Teleport to Prefab
c_gonext("prefab")
After pressing enter, it teleports you to the first numerical instance of the named prefab. If multiple iterations of the prefab exist, a list of the entity numbers will be displayed in the console log, and each subsequent execution of the same command will transport the player from entity to entity in the order they were generated in the world.
- マウスカーソルと重なったオブジェクトを消す
TheInput:GetWorldEntityUnderMouse():Remove()
ゲーム画面上にあるオブジェクトにマウスカーソルを合わせ、コマンドを入力することでそのオブジェクトが消滅します。
- マップ開示
GetWorld().minimap.MiniMap:ShowArea(0,0,0,10000)
※うまくいかないときは事前にminimap = TheSim:FindFirstEntityWithTag("minimap")を入力する必要があります。
- 時間を進める(1日分)
GetClock():MakeNextDay()
時間がスキップされ次の日になります
- 時間を進める(1日以上)
for x = 1, 50 do GetClock():MakeNextDay() end
上記は50日をスキップする場合の例です。「50」の部分を任意の数字に置き替えることでその数字の日数だけ時間がスキップされます。
注意:あまりにも数値を大きくし過ぎるとパソコン側で処理が追いつかなくなり、フリーズする可能性があります。
- Skip time units and update
LongUpdate(X)
Skips X time units and performs the "LongUpdate" function on world objects
Note: There are 30 time units per segment. To skip a whole day one can either use LongUpdate(480) or use multiplicative values such as LongUpdate(X*16*30) or LongUpdate(X*TUNING.TOTAL_DAY_TIME), with X=days to skip.
- 各時間帯の長さを設定
使用方法:
GetClock():SetSegs(昼,夕方,夜)
「昼」「夕方」「夜」にそれぞれ任意の数字を指定することができます。(ただし、3つの合計値が16を上回らないようにしないとエラーになります)
例:
GetClock():SetSegs(14,1,1)
昼がとても長く、夕方と夜がとても短くなった例
- 時間帯を進める
GetClock():NextPhase()
現在の時間帯が昼であれば夕方へ、夕方なら夜、夜なら昼…のように時間を進めます。
- 季節を夏にする
GetSeasonManager():StartSummer()
夏が始まります
- 季節を冬にする
GetSeasonManager():StartWinter()
冬が始まります
- 季節を秋にする
GetSeasonManager():StartAutumn()
秋が始まります
- 季節を春にする
GetSeasonManager():StartSpring()
春が始まります
- 季節をマイルドシーズンにする
GetSeasonManager():StartMild()
マイルドシーズンが始まります
- 季節をハリケーンシーズンにする
GetSeasonManager():StartWet()
ハリケーンシーズンが始まります
- 季節をモンスーンシーズンにする
GetSeasonManager():StartGreen()
モンスーンシーズンが始まります
- 季節をドライシーズンにする
GetSeasonManager():StartDry()
ドライシーズンが始まります
- 雨を降らせる
GetSeasonManager():StartPrecip()
雨が降ります
- 雨をやませる
GetSeasonManager():StopPrecip()
雨がやみます
- 雷を落とす
GetSeasonManager():DoLightningStrike(Vector3(GetPlayer().Transform:GetWorldPosition()))
プレイヤーの位置に雷を落とします。近くに避雷針がある場合はそちらに落ちます。
- 火山を噴火させる
GetVolcanoManager():StartEruption(煙エフェクト時間,灰エフェクト時間,噴火時間,噴石の量(個/秒))
4つの要素に数値を記述することで任意に火山を噴火させることができます。時間はいずれも秒単位となります。
- 距離の計測
print(math.sqrt(GetPlayer():GetDistanceSqToInst(TheInput:GetWorldEntityUnderMouse())))
オブジェクトにマウスカーソルを重ねた状態でコマンドを入力するとそのオブジェクトとプレイヤーの距離をコンソールのログ上で示してくれます。(デフォルトであればCtrl + Lでログを表示できる)
キャラクターコマンド
キャラクターコマンドは一度行えば今後永続して効果が続きますが、コマンド実行はゲーム内で行う必要があります。このコマンドを実行することで無条件でキャラクターをアンロックさせることができるようになります。
- キャラ変更
GetPlayer().prefab = "character"
「prefab」に任意のキャラクターのコマンドを入れ、一度ゲームを中断/再開することでそのキャラクターに変更することができます。(キャラクター名はprefabネームでなくてはいけません。例:Maxwell→waxwell)
- Willowをアンロックする
GetPlayer().profile:UnlockCharacter("willow") GetPlayer().profile:Save()
Willowをアンロックします。プロファイル設定を失った場合でなければ設定は一度だけで大丈夫です。再度入力する必要はありません。
- Wolfgangをアンロックする
GetPlayer().profile:UnlockCharacter("wolfgang") GetPlayer().profile:Save()
Wolfgangをアンロックします。プロファイル設定を失った場合でなければ設定は一度だけで大丈夫です。再度入力する必要はありません。
- Wendyをアンロックする
GetPlayer().profile:UnlockCharacter("wendy") GetPlayer().profile:Save()
Wendyをアンロックします。プロファイル設定を失った場合でなければ設定は一度だけで大丈夫です。再度入力する必要はありません。
- WX-78をアンロックする
GetPlayer().profile:UnlockCharacter("wx78") GetPlayer().profile:Save()
WX-78をアンロックします。プロファイル設定を失った場合でなければ設定は一度だけで大丈夫です。再度入力する必要はありません。
- Wickerbottomをアンロックする
GetPlayer().profile:UnlockCharacter("wickerbottom") GetPlayer().profile:Save()
Wickerbottomをアンロックします。プロファイル設定を失った場合でなければ設定は一度だけで大丈夫です。再度入力する必要はありません。
- Woodieをアンロックする
GetPlayer().profile:UnlockCharacter("woodie") GetPlayer().profile:Save()
Woodieをアンロックします。プロファイル設定を失った場合でなければ設定は一度だけで大丈夫です。再度入力する必要はありません。
- Wesをアンロックする
GetPlayer().profile:UnlockCharacter("wes") GetPlayer().profile:Save()
Wesをアンロックします。プロファイル設定を失った場合でなければ設定は一度だけで大丈夫です。再度入力する必要はありません。
- Maxwell (character)をアンロックする
GetPlayer().profile:UnlockCharacter("waxwell") GetPlayer().profile:Save()
Maxwellをアンロックします。プロファイル設定を失った場合でなければ設定は一度だけで大丈夫です。再度入力する必要はありません。
- Wigfridをアンロックする
GetPlayer().profile:UnlockCharacter("wigfrid") GetPlayer().profile:Save()
Wigfridをアンロックします。プロファイル設定を失った場合でなければ設定は一度だけで大丈夫です。再度入力する必要はありません。
- Webberをアンロックする
GetPlayer().profile:UnlockCharacter("webber") GetPlayer().profile:Save()
Webberをアンロックします。プロファイル設定を失った場合でなければ設定は一度だけで大丈夫です。再度入力する必要はありません。
- Walaniをアンロックする
GetPlayer().profile:UnlockCharacter("walani") GetPlayer().profile:Save()
Walaniをアンロックします。プロファイル設定を失った場合でなければ設定は一度だけで大丈夫です。再度入力する必要はありません。
- Warlyをアンロックする
GetPlayer().profile:UnlockCharacter("warly") GetPlayer().profile:Save()
Warlyをアンロックします。プロファイル設定を失った場合でなければ設定は一度だけで大丈夫です。再度入力する必要はありません。
- 全てのキャラクターをアンロックする(現在実装されているものに限る)
GetPlayer().profile:UnlockEverything()
その他のコマンド
- モルグのリセット
ErasePersistentString("morgue")
モルグをリセットします。コマンドを反映させるには一度ゲームを中断/再開する必要があります。