Console/ja: Difference between revisions
Pastrami246 (talk | contribs) (英語版のページにあるスクリプトを一部移植。) |
(updated for latest version.) |
||
Line 1: | Line 1: | ||
{{Languages}} | {{Languages}}{{Translation verification|revisionID=199188}} | ||
'''コンソール'''はFactorioのゲーム内コマンドラインインターフェースである。Factorio起動時のコマンドラインインターフェースについては、[[command line parameters/ja|コマンドラインパラメータ]]を参照すること。 | |||
'''コンソール | |||
ゲーム内コンソールは以下に用いられる。 | |||
* 他プレイヤーとのチャット | * 他プレイヤーとのチャット | ||
* 時々の近況報告(ゲームの状況を知らせるメッセージのこと) | |||
* コマンド/スクリプト/チートの実行 | * コマンド/スクリプト/チートの実行 | ||
以下の3種のコマンドがある。 | 以下の3種のコマンドがある。 | ||
* ''' | * '''[[#通常コマンド|通常]]''' - ゲームに関する情報を表示し、ゲーム体験をカスタマイズする。 | ||
* ''' | * '''[[#マルチプレイヤーコマンド|マルチプレイヤー]]''' - メッセージフィルタ、ユーザの禁止など。 | ||
* ''' | * '''[[#スクリプトとチートコマンド|スクリプト/チート]]''' - 小さなLuaスクリプトを実行する。(ただし、<span style="color:#FF0000">このゲームでは実績が無効化される</span>) | ||
__TOC__ | |||
=== コンソールの利用 === | === コンソールの利用 === | ||
コンソール窓は、{{Keybinding|grave}}(全角/半角)キーで表示を切り替えられる。このキーは、<code>1</code>キーの左側か、<code>Tab</code>の上にある。 | |||
このキーは、'''設定メニュー → コントロール → チャット(Luaコンソール)の表示'''から変更できる。 | |||
コンソールが開いている間、スクリーン下部でカーソルが点滅する。メッセージやコマンドを入力して'''Return''' | コンソールが開いている間、スクリーン下部でカーソルが点滅する。メッセージやコマンドを入力して'''Return'''を押すと送信する(また、コンソールも閉じる)。 | ||
メッセージやコマンドプレフィックスに関するドキュメントはこのページの更に下にある。 | メッセージやコマンドプレフィックスに関するドキュメントはこのページの更に下にある。 | ||
コンソールでは[[rich text/ja|リッチテキスト]]タグが使用できる。これらのタグは、建設計画を共有したり、マップの場所に印をつけたり、マーカーや駅のアイコンをマップに追加したりするのに役立つ。Ctrl + Alt を押しながらマップや地面をクリックすると、自動的にGPSタグが挿入され、コンソールに送信される。コンソールを開いた状態で、大半のものをShiftを押しながらクリックすると、クリックしたもののタグがコンソールに挿入される。 | |||
コンソールを閉じると最後のメッセージ/コマンドだけが表示されるが、徐々に消えていく(コンソールを開き直すと即座に直近のメッセージすべてが再表示される)。 | コンソールを閉じると最後のメッセージ/コマンドだけが表示されるが、徐々に消えていく(コンソールを開き直すと即座に直近のメッセージすべてが再表示される)。 | ||
デフォルトでは、全ての実行されたコマンドは全ユーザに見える。消える時間は''' | デフォルトでは、全ての実行されたコマンドは全ユーザに見える。消える時間は'''設定メニュー → インターフェース → 会話メッセージ表示時間'''から設定できる。 | ||
コンソールは'''/clear'''コマンドでクリアできる。 | コンソールは'''/clear'''コマンドでクリアできる。 | ||
履歴内を移動するには、{{keybinding|↑}}と{{keybinding|↓}}キーを使用する。{{keybinding|Tab}}キーはコマンドやプレイヤー名をオートコンプリートする。 | |||
== 通常コマンド == | |||
{ | {| class="wikitable" | ||
|- | |||
! style="width:25%"| コマンド | |||
! style="width:25%"| 例 | |||
! style="width:46%"| 説明 | |||
! style="width:4%"| 管理者のみ | |||
|- | |||
| /alerts <enable/disable/mute/unmute> <alert> | |||
| /alerts disable turret_fire | |||
| 指定した[[alerts/ja|警報]]種別を有効化・無効化・ミュート・ミュート解除する。以下の種類が指定できる。entity_destroyed, entity_under_attack, not_enough_construction_robots, no_material_for_construction, not_enough_repair packs, turret_fire, custom, no_storage, train_out_of_fuel, fluid_mixing | |||
| No | |||
|- | |||
| /clear | |||
| /clear | |||
| コンソールをクリアする。 | |||
| No | |||
|- | |||
| /color <color> | |||
| /color 20 255 255 | |||
| あなたの色を変更する。事前に決まっている色か、“# # #”形式の[[:Wikipedia:ja:色空間|RGB値]]のどちらでもよい。以下の色が利用できる。default, red, green, blue, orange, yellow, pink, purple, white, black, gray, brown, cyan, acid | |||
| No | |||
|- | |||
| /enable-research-queue | |||
| /enable-research-queue | |||
| [[research/ja|研究]]の待ち行列を有効化する。 | |||
| Yes | |||
|- | |||
| /evolution | |||
| /evolution | |||
| [[enemies/ja#進化|敵]]の進化因子を表示する。 | |||
| No | |||
|- | |||
| /help [コマンド] | |||
| /help | |||
| 利用可能なコマンドの一覧を表示する。オプション引数のコマンド名を指定すると、詳細な説明が表示される。 | |||
| No | |||
|- | |||
| /h [コマンド] | |||
| /h | |||
| /help と同じ。 | |||
| No | |||
|- | |||
| /mute-programmable-speaker <mute/unmute> <local/everyone> | |||
| /mute-programmable-speaker mute local | |||
| [[Programmable speaker/ja|プログラマブルスピーカー]]が発するグローバル音声をミュートまたはミュート解除する。"local"を使用すると、自分自身にのみ適用される。管理者は "everyone" を使用する事ができ、サーバ上の全員に対して音声をミュートできる。 | |||
| No | |||
|- | |||
| /perf-avg-frames <number> | |||
| /perf-avg-frames 100 | |||
| 平均的な性能を計測するために使用する、指定したティック数の間の更新回数。既定値は100である。すばやく収束させるには、5-10の値が推奨だが、数値はもっと小刻みに変動する。 | |||
| No | |||
|- | |||
| /permissions | |||
| /permissions | |||
| [[permissions/ja|権限]]のGUIを開く。 | |||
| Yes | |||
|- | |||
| /permissions <action> <parameters> | |||
| /permissions add-player DeveloperGroup kovarex | |||
| 利用可能な action は以下の通り。add-player <group> <player>, create-group <name>, delete-group <group>, edit-group <group> <input_action> <true/false>, get-player-group <player>, remove-player <group> <player>, rename-group <group> <new_name>, reset | |||
| Yes | |||
|- | |||
| /reset-tips | |||
| /reset-tips | |||
| ヒントの状態を、初めてゲームを開始したかのような状態にリセットする。 | |||
| No | |||
|- | |||
| /screenshot [x 解像度] [y 解像度] [倍率] | |||
| /screenshot | |||
| GUIを非表示にし、プレイヤーを中心にしてスクリーンショットを撮影する。画像は、[[Application directory/ja#ユーザーデータディレクトリ|ユーザーデータディレクトリ]]の中の"script-output"フォルダに保存される。解像度はオプションで、既定値は現在のウィンドウサイズとなる。倍率も任意で、規定値は1である。 | |||
| No | |||
|- | |||
| /seed | |||
| /seed | |||
| 開始マップのシード値を表示する。 | |||
| No | |||
|- | |||
| /time | |||
| /time | |||
| このマップをプレイしている時間を表示する。 | |||
| No | |||
|- | |||
| /toggle-action-logging | |||
| /toggle-action-logging | |||
| ゲームでの入力操作をすべて記録するモードを切り替える。この設定は、ゲームを再開すると消えてしまい、マルチプレイヤーでは自分自身にしか作用しない。 | |||
| Yes | |||
|- | |||
| /toggle-heavy-mode | |||
| /toggle-heavy-mode | |||
| [[Desynchronization#Using_heavy_mode_command|非同期化(英語)]]の調査のために使用する。ゲームが低速化し、マルチプレイヤーは遊べなくなる。 | |||
| Yes | |||
|- | |||
| /unlock-shortcut-bar | |||
| /unlock-shortcut-bar | |||
| 建設計画のインポート・コピー&ペースト・解体プランナー・アップグレードプランナーを含む、すべての[[shortcut bar/ja|ショートカットバー]]アイテムを解放する。 | |||
| No | |||
|- | |||
| /unlock-tips | |||
| /unlock-tips | |||
| すべてのヒントを解放する。 | |||
| No | |||
|- | |||
| /version | |||
| /version | |||
| 現在のゲームバージョンを表示する。 | |||
| No | |||
|- | |||
|} | |||
{ | == マルチプレイヤーコマンド == | ||
{| class="wikitable" | |||
|- | |||
! style="width:25%"| コマンド | |||
! style="width:25%"| 例 | |||
! style="width:46%"| 説明 | |||
! style="width:4%"| 管理者のみ | |||
|- | |||
| <message> | |||
| Hello team! | |||
| {{keybinding|/}}で始まらない入力は、チャットメッセージとして自分のチームに表示される。 | |||
| No | |||
|- | |||
| /admin | |||
| /admin | |||
| プレイヤー管理GUIを開く。 | |||
| Yes | |||
|- | |||
| /admins | |||
| /admins | |||
| ゲーム管理者の一覧を表示する。 | |||
| No | |||
|- | |||
| /ban <player> <reason> | |||
| /ban xTROLLx Throwing grenades in base | |||
| 特定のプレイヤーをBANする。 | |||
| Yes | |||
|- | |||
| /banlist <add/remove/get/clear> <player> | |||
| /banlist get | |||
| プレイヤーをBANリストに追加または削除する。/ban や /unban と同じ。 | |||
| No | |||
|- | |||
| /config | |||
| /config | |||
| サーバ管理GUIを開く。 | |||
| Yes | |||
|- | |||
| /config <get/set> <option> <value> | |||
| /config set password hunter2 | |||
| マルチプレイヤーゲーム設定の変数を取得または設定する。以下の設定が使える。afk-auto-kick, allow-commands, allow-debug-settings, autosave-interval, autosave-only-on-server, ignore-player-limit-for-returning-players, max-players, max-upload-speed, only-admins-can-pause, password, require-user-verification, visibility-lan, visibility-public afk-auto-kickとautosave-intervalオプションの単位は分である。 | |||
| Yes | |||
|- | |||
| /delete-blueprint-library <player> | |||
| /delete-blueprint-library everybody confirm | |||
| 指定されたオフラインプレイヤーの建設計画のライブラリをセーブファイルから削除する。"everybody confirm" を入力すると、すべてのオフラインプレイヤーのデータが削除される。 | |||
| Yes | |||
|- | |||
| /demote <player> | |||
| /demote AzureDiamond | |||
| プレイヤーを管理者から降格させる。 | |||
| Yes | |||
|- | |||
| /ignore <player> | |||
| /ignore Cthon98 | |||
| プレイヤーからのメッセージ表示を抑止する。管理者のメッセージは表示される。 | |||
| No | |||
|- | |||
| /ignores | |||
| /ignores | |||
| 無視された(メッセージ表示を抑止された)プレイヤーの一覧を表示する。 | |||
| No | |||
|- | |||
| /kick <player> <reason> | |||
| /kick xTROLLx Throwing grenades in base | |||
| 特定のプレイヤーを追放する。 | |||
| Yes | |||
|- | |||
| /mute <player> | |||
| /mute Cthon98 | |||
| プレイヤーがチャットで発言することを禁止する。 | |||
| Yes | |||
|- | |||
| /open <player> | |||
| /open AzureDiamond | |||
| 他のプレイヤーのインベントリを開く。 | |||
| Yes | |||
|- | |||
| /o <player> | |||
| /o AzureDiamond | |||
| /open と同じ。 | |||
| Yes | |||
|- | |||
| /players [online/o/count/c] | |||
| /players | |||
| ゲーム中のプレイヤーリストを表示する。(online/o パラメータはオンラインのプレイヤーのみ、count/c は人数のみ表示する) | |||
| No | |||
|- | |||
| /p [online/o/count/c] | |||
| /p o c | |||
| /players と同じ。 | |||
| No | |||
|- | |||
| /promote <player> | |||
| /promote AzureDiamond | |||
| プレイヤーを管理者に昇格させる。 | |||
| Yes | |||
|- | |||
| /purge <player> | |||
| /purge Cthon98 | |||
| このプレイヤーからのすべてのメッセージをチャットログから削除する。 | |||
| Yes | |||
|- | |||
| /reply <message> | |||
| /reply oh, really? | |||
| 最後にあなたに囁いたプレイヤーに返信する。 | |||
| No | |||
|- | |||
| /r <message> | |||
| /r oh, really? | |||
| /reply と同じ。 | |||
| No | |||
|- | |||
| /server-save | |||
| /server-save | |||
| サーバ上にマルチプレイヤーゲームを保存する。 | |||
| Yes | |||
|- | |||
| /shout <message> | |||
| /shout Hello world! | |||
| 他の勢力も含めて、全プレイヤーにメッセージを送信する。 | |||
| No | |||
|- | |||
| /s <message> | |||
| /s Hello world! | |||
| /shout と同じ。 | |||
| No | |||
|- | |||
| /swap-players <player> [player] | |||
| /swap-players AzureDiamond | |||
| あなたのキャラクターと指定したプレイヤーのキャラクターを入れ替える。プレイヤーを2つ指定した場合、2人のプレイヤーキャラクターを入れ替える。 | |||
| Yes | |||
|- | |||
| /unban <player> | |||
| /unban xTROLLx | |||
| 特定のプレイヤーのBANを解除する。 | |||
| Yes | |||
|- | |||
| /unignore <player> | |||
| /unignore Cthon98 | |||
| 指定したプレイヤーのメッセージが表示されるようにする。 | |||
| No | |||
|- | |||
| /unmute <player> | |||
| /unmute Cthon98 | |||
| プレイヤーがチャットで会話できるようにする。 | |||
| Yes | |||
|- | |||
| /whisper <player> <message> | |||
| /whisper AzureDiamond that's what I see | |||
| 特定のプレイヤーにメッセージを送信する。 | |||
| No | |||
|- | |||
| /w <player> <message> | |||
| /w AzureDiamond that's what I see | |||
| /whisper と同じ。 | |||
| No | |||
|- | |||
| /whitelist <add/remove/get/clear> [player] | |||
| /whitelist get | |||
| ホワイトリストにプレイヤーを追加または削除する。ホワイトリストに入っているプレイヤーのみゲームに参加できる。"get"を使用するとき、"player"に何も入れないと、ホワイトリストに入っているプレイヤーの一覧を表示する。ホワイトリストが空になると、ホワイトリストの機能が無効化され、誰でも参加可能になる。 | |||
| No | |||
|} | |||
{ | == スクリプトとチートコマンド == | ||
{| class="wikitable" | |||
|- | |||
! コマンド | |||
! 説明 | |||
|- | |||
| /cheat <all> | |||
| すべてのテクノロジーを研究し、チートモードを有効化する。'''all'' オプションを使うと、プレイヤーに追加のアイテムを与える。 | |||
|- | |||
| /command <command> | |||
| (可能なら) Luaコマンドを実行する。 | |||
|- | |||
| /c <command> | |||
| (可能なら) Luaコマンドを実行する。 | |||
|- | |||
| /editor | |||
| マップエディタを切り替える。 | |||
|- | |||
| /measured-command <command> | |||
| (可能なら) Luaコマンドを実行し、かかった時間を計測する。 | |||
|- | |||
| /mc <command> | |||
| (可能なら) Luaコマンドを実行し、かかった時間を計測する。 | |||
|- | |||
| /silent-command <command> | |||
| (可能なら) Luaコマンドを実行し、コンソールには何も出力しない。 | |||
|- | |||
| /sc <command> | |||
| (可能なら) Luaコマンドを実行し、コンソールには何も出力しない。 | |||
|} | |||
これは非常に強力な機能だが、不正行為も可能であるため、スクリプト・コマンドを使用した時点で、<span style="color:#FF0000">セーブ中の実績は永久に無効</span>となる。 | |||
== 基本的なコマンドと例 == | == 基本的なコマンドと例 == | ||
=== | === 計算機として使う === | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game. | /c game.player.print(1234*5678) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== 通常よりズームアウトする === | |||
ズームアウトしすぎるとパフォーマンスに問題を起こしかねないので注意。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game. | /c game.player.zoom=0.1 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 147: | Line 368: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
次節のコマンドでUndoできる。 | |||
注:特定のテクノロジーは、[[map editor/ja|マップエディタ]]を使って、テクノロジーのGUIで「研究開始」をShift+クリックすることで研究できる。 | |||
=== 全研究を未研究に === | === 全研究を未研究に === | ||
Line 154: | Line 377: | ||
/c for _, tech in pairs(game.player.force.technologies) do | /c for _, tech in pairs(game.player.force.technologies) do | ||
tech.researched=false | tech.researched=false | ||
end | end | ||
</syntaxhighlight> | </syntaxhighlight> | ||
注:特定のテクノロジーは、[[map editor/ja|マップエディタ]]を使って、テクノロジーのGUIで「未研究に」をクリックすることで未研究にできる。 | |||
=== 強さリセット === | === 強さリセット === | ||
キル数、生産統計、技術、ボーナス、マップ状況を含む強さを全リセットする。 | キル数、生産統計、技術、ボーナス、マップ状況を含む強さを全リセットする。 | ||
Line 163: | Line 388: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === 常にレールブロック視覚化を表示する === | ||
列車用信号を手に持っているときだけでなく、レールブロックの視覚化を恒久的に表示する。trueをfalseに置き換えて無効にする。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.player. | /c game.player.game_view_settings.show_rail_block_visualisation = true | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === すべての列車を自動モードにセットする === | ||
すべての列車を自動モードにセットする。例えば、建設計画から配置したあとなど。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/ | /c for key,ent in pairs (game.player.surface.find_entities_filtered{name="locomotive"}) do | ||
ent.train.manual_mode = false | |||
end | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== | == インベントリ操作スクリプト == | ||
=== チートモード === | |||
無限・無料製作を可能にする。trueをfalseにすれば無効化できる。 | |||
<syntaxhighlight lang="lua"> | |||
/c game.player.cheat_mode=true | |||
</syntaxhighlight> | |||
=== 資源の補充( | === 資源の補充(油、鉄などの補充) === | ||
ゲーム内の資源タイルにマウスオーバーした状態で実行する。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.player.selected.amount=7500 | /c game.player.selected.amount=7500 | ||
</syntaxhighlight> | |||
以下のコマンドで、マップ上のすべての資源を補充する。ore.amount を希望する値に変更すること。 | |||
<syntaxhighlight lang="lua"> | |||
/c surface = game.player.surface | |||
for _, ore in pairs(surface.find_entities_filtered({type="resource"})) do | |||
ore.amount = 10000 | |||
end | |||
</syntaxhighlight> | </syntaxhighlight> | ||
=== プレイヤーのインベントリにアイテム追加 === | === プレイヤーのインベントリにアイテム追加 === | ||
iron- | iron-plateの部分を欲しいアイテムの[[data.raw|内部名称(英語)]]に置換して使うべし。 | ||
(内部名称を知りたい場合、Wikiでそのアイテムのページに行き、Internal name の項目を見る) | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.player.insert{name="iron-plate", count=100} | /c game.player.insert{name="iron-plate", count=100} | ||
</syntaxhighlight> | </syntaxhighlight> | ||
例えば、エネルギーシステムの神モードインタフェースは以下のようにする。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.player.insert{name="electric-energy-interface"} | /c game.player.insert{name="electric-energy-interface"} | ||
</syntaxhighlight> | </syntaxhighlight> | ||
神モードアイテムは、以下のものがある。 | |||
* <code>infinity-chest</code> | |||
* <code>infinity-pipe</code> | |||
* <code>electric-energy-interface</code> | |||
* <code>heat-interface</code> | |||
装備品付きで強力アーマーゲットだぜ。 | 装備品付きで強力アーマーゲットだぜ。 | ||
Line 214: | Line 464: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === プレイヤーのインベントリスロットを増やす === | ||
あなたの勢力のプレイヤー全員のインベントリに100スロット追加する。[[Toolbelt (research)/ja|ツールベルト]]でも使用している。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.player. | /c game.player.force.character_inventory_slots_bonus=100 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | == ワールド操作スクリプト == | ||
=== | === プレイヤー周辺のマップを表示 === | ||
[[radar/ja|レーダー]] | [[radar/ja|レーダー]]風にプレイヤー周辺のマップを表示する。 | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c local radius=150 | /c local radius=150 | ||
game.player.force.chart(game.player.surface, {{game.player.position.x-radius, game.player.position.y-radius}, {game.player.position.x+radius, game.player.position.y+radius}}) | game.player.force.chart(game.player.surface, {{game.player.position.x-radius, game.player.position.y-radius}, {game.player.position.x+radius, game.player.position.y+radius}}) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
もしくはスタート地点から | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.forces.player.chart(game.player.surface, {{x = -2000, y = -2000}, {x = 2000, y = 2000}}) | /c game.forces.player.chart(game.player.surface, {{x = -2000, y = -2000}, {x = 2000, y = 2000}}) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
150は好きな半径に変更して構わない。大きくすればするほど時間食うけど。 | 150は好きな半径に変更して構わない。大きくすればするほど時間食うけど。 | ||
=== 表示されたマップを隠す === | |||
マップ表示の逆で、表示されたすべてのチャンクを隠す。 | |||
<syntaxhighlight lang="lua"> | |||
/c local surface = game.player.surface | |||
local force = game.player.force | |||
for chunk in surface.get_chunks() do | |||
force.unchart_chunk({x = chunk.x, y = chunk.y}, surface) | |||
end | |||
</syntaxhighlight> | |||
=== 生成済みのマップをすべて表示 === | |||
プレイヤーのチームに、生成済みのマップ全てを表示する。 | |||
<syntaxhighlight lang="lua"> | |||
/c game.player.force.chart_all() | |||
</syntaxhighlight> | |||
=== チャンクを削除 === | === チャンクを削除 === | ||
表示されたマップが大きくなるとセーブファイルのサイズも増える。以下のコマンドで現在キューされているチャンク生成をすべてキャンセルし 0,0 周辺の半径32チャンク以外を除去する。当該チャンク内のプレイヤーのものも除去される事に注意。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c local surface = game.player.surface; | /c local surface = game.player.surface; | ||
Line 248: | Line 515: | ||
end | end | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== 非表示のチャンクを削除 === | |||
このコマンドは、プレイヤーに表示されていないチャンクを削除する。[[#表示されたマップを隠す|表示されたマップを隠す]]コマンドのあとに使うと、レーダーがカバーしていないチャンクを削除できる。 | |||
<syntaxhighlight lang="lua">/c local surface = game.player.surface | |||
local force = game.player.force | |||
for chunk in surface.get_chunks() do | |||
if not force.is_chunk_charted(surface, chunk) then | |||
surface.delete_chunk(chunk) | |||
end | |||
end</syntaxhighlight> | |||
=== 夜をオフ === | === 夜をオフ === | ||
Line 261: | Line 538: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === 時間停止 === | ||
時間の進行を止める。"true"を"false"にすると凍結解除する。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.player.surface.freeze_daytime= | /c game.player.surface.freeze_daytime=true | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === 全ての汚染を消去 === | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.player.surface.clear_pollution() | /c game.player.surface.clear_pollution() | ||
Line 295: | Line 557: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === 汚染を大量に追加 === | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.player.surface.pollute(game.player.position, 1000000) | /c game.player.surface.pollute(game.player.position, 1000000) | ||
</syntaxhighlight> | |||
=== スピーカーの場所と設置者を表示 === | |||
<syntaxhighlight lang="lua"> | |||
/c local speakers = game.player.surface.find_entities_filtered{force = game.player.force, type="programmable-speaker"} | |||
for key, speaker in pairs(speakers) do | |||
game.player.print(speaker.last_user.name .. " placed a speaker at " .. speaker.gps_tag) | |||
end | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 306: | Line 576: | ||
=== 新たな資源パッチを追加 === | === 新たな資源パッチを追加 === | ||
プレイヤーキャラクターを中心に11×11の範囲で、水場でない地面に新たな資源パッチを生成する。 | |||
パッチは完全な正方形だが、埋蔵量は自然生成と同様にランダムで中心部は多くの資源がある。 | パッチは完全な正方形だが、埋蔵量は自然生成と同様にランダムで中心部は多くの資源がある。 | ||
デフォルトでは2500-3000鉱石となる。 | デフォルトでは2500-3000鉱石となる。 | ||
より大きなパッチが欲しいなら、「local size = | より大きなパッチが欲しいなら、「local size = 5」をより大きな数字に変更する。 | ||
大きなパッチは指数的に多くの鉱石を含む。 | 大きなパッチは指数的に多くの鉱石を含む。 | ||
30以上の数字は推奨できない。 | 30以上の数字は推奨できない。 | ||
より潤沢なパッチが欲しいなら、「local density = | より潤沢なパッチが欲しいなら、「local density = 10」をより大きな数字に変更する。 | ||
大きすぎる数字を入れても害はないが、100以上が必要なことはまずないだろう。 | 大きすぎる数字を入れても害はないが、100以上が必要なことはまずないだろう。 | ||
生成される資源を選ぶには、下の方の「stone」を「iron-ore」「copper-ore」「coal」「uranium- | 生成される資源を選ぶには、下の方の「stone」を「iron-ore」「copper-ore」「coal」「uranium-ore」に変更すること。 | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
Line 339: | Line 609: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | より柔軟にするには、[[map editor/ja|マップエディタ]] で資源パッチの生成・変更・削除ができる。 | ||
=== プレイヤーの周りの資源を除去 === | |||
プレイヤーの周り50 x 50の範囲の全ての資源パッチを除去する。 | |||
<syntaxhighlight lang="lua"> | |||
/c local surface=game.player.surface | |||
local size=50 | |||
local pos=game.player.position | |||
for _, e in pairs(surface.find_entities_filtered{area={{pos.x-size, pos.y-size},{pos.x+size, pos.y+size}}, type="resource"}) | |||
do e.destroy() | |||
end | |||
</syntaxhighlight> | |||
=== 原油パッチを追加 === | |||
3x3の9原油パッチを生成する。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c for y=0,2 do | /c for y=0,2 do | ||
Line 360: | Line 645: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === 資源を再生する === | ||
鉄のような固形資源の場合、すべての資源エンティティを破壊し、元のマップ生成と同じように資源エンティティを作成する。石油のような流体資源の場合、既存のすべての資源エンティティの収量を元の量に設定する。世界全体の資源を再生成する。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c local surface=game.player.surface | /c local surface = game.player.surface | ||
for _, e in pairs(surface.find_entities_filtered{type="resource"}) do | |||
if e.prototype.infinite_resource then | |||
e.amount = e.initial_amount | |||
for _, e in pairs(surface.find_entities_filtered{ | else | ||
e.destroy() | |||
end | |||
end | |||
local non_infinites = {} | |||
for resource, prototype in pairs(game.get_filtered_entity_prototypes{{filter="type", type="resource"}}) do | |||
if not prototype.infinite_resource then | |||
table.insert(non_infinites, resource) | |||
end | |||
end | end | ||
surface.regenerate_entity(non_infinites) | |||
for _, e in pairs(surface.find_entities_filtered{type="mining-drill"}) do | |||
e.update_connections() | |||
for | |||
end | end | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === エンティティを数える === | ||
local | local entity の文字列を名前に含むエンティティを数える。 | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c local entity="belt" | /c local entity="belt" | ||
Line 397: | Line 681: | ||
end | end | ||
game.player.print(count) | game.player.print(count) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== 崖の生成をオフにする === | === 崖の生成をオフにする === | ||
このコマンドは、実行した後に生成されるチャンクにのみ効果を発揮する。すでに生成されているチャンクの崖を除去したい場合[[# | このコマンドは、実行した後に生成されるチャンクにのみ効果を発揮する。すでに生成されているチャンクの崖を除去したい場合[[#すべての崖を消去]]のコマンドを使う。 | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
Line 424: | Line 692: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === すべての崖を消去 === | ||
世界中の崖を全て消去する。新しいチャンクで崖が生成されないようにするには[[#崖の生成をオフにする]]のコマンドを使う。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
Line 433: | Line 701: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | === 全ての装飾を消去 === | ||
=== | 世界中に存在する装飾を消去する。 | ||
"/c" | |||
<syntaxhighlight lang="lua"> | |||
/c game.player.surface.destroy_decoratives({})</syntaxhighlight> | |||
=== マップ生成設定の変更 === | |||
これは新しいチャンクのマップ生成設定を変更するもので、すでに生成されたチャンクは変更されません。すでに生成されたチャンクは変更されません。[[#チャンクを削除|削除されたチャンク]]は、再び探索されたときに新しく生成されるため、設定変更の影響を受けます。 | |||
資源生成の設定を変更するには、以下のコマンドの "iron-ore" を変更したい[[Data.raw#resource|資源]]に置き換え、"very-high" を希望の [https://lua-api.factorio.com/latest/Concepts.html#MapGenSize MapGenSize] に置き換える。"iron-ore" を "enemy-base" に置き換えると敵の巣の生成設定を変更できる。 | |||
<syntaxhighlight lang="lua"> | |||
/c local surface = game.player.surface | |||
local resource = "iron-ore" | |||
local mgs = surface.map_gen_settings | |||
mgs.autoplace_controls[resource].size = "very-high" | |||
mgs.autoplace_controls[resource].frequency = "very-high" | |||
mgs.autoplace_controls[resource].richness = "very-high" | |||
surface.map_gen_settings = mgs</syntaxhighlight> | |||
水生成の設定を変更するには、以下のコマンドで "very-high" を希望の [https://lua-api.factorio.com/latest/Concepts.html#MapGenSize MapGenSize] に置き換えること。 | |||
<syntaxhighlight lang="lua"> | |||
/c local surface = game.player.surface | |||
local mgs = surface.map_gen_settings | |||
mgs.water = "very-high" --[[ size]] | |||
mgs.terrain_segmentation = "very-high" --[[ frequency]] | |||
surface.map_gen_settings = mgs </syntaxhighlight> | |||
=== 構造物を破壊不能にする === | |||
バイターなどによって、エンティティにダメージを与えたり殺したりできなくする。エンティティにカーソルを合わせて実行すること。 | |||
<syntaxhighlight lang="lua"> | |||
/c game.player.selected.destructible = false | |||
</syntaxhighlight> | |||
=== linked beltの接続 === | |||
少なくとも2つの[[Prototype/LinkedBelt|linked belt]]が存在する場合、それらの1つは"エンティティタグ"<code>in</code> を持ち、もう1つは"エンティティタグ" <code>out</code> を持っている。以下のコマンドは、それら2つのlinked beltをリンクする。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/ | /c local i = game.get_entity_by_tag('in') | ||
local o = game.get_entity_by_tag('out') | |||
i.linked_belt_type = 'input' | |||
o.linked_belt_type = 'output' | |||
i.connect_linked_belts(o) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | == 敵/進化のスクリプト == | ||
=== 進化因子を設定 === | |||
範囲は0(ゲーム開始時)から1。 | 範囲は0(ゲーム開始時)から1。 | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
Line 446: | Line 755: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === 時間による進化を無効化しつつ汚染による進化を加速 === | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.map_settings.enemy_evolution.time_factor=0 | /c game.map_settings.enemy_evolution.time_factor=0 | ||
Line 452: | Line 761: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
最後の「2」はデフォルト汚染因子を2倍にしている。他の数字に変えれば汚染ファクターをもっと大きく(小さく)できる。 | |||
=== | === 「敵」勢力バイターを全滅させる === | ||
機動部隊とワームだけを殺し、巣は殺されないことに注意。 | 機動部隊とワームだけを殺し、巣は殺されないことに注意。 | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
Line 461: | Line 770: | ||
=== 敵を鏖殺 === | === 敵を鏖殺 === | ||
バイター、ワーム、巣のすべてを殺す。敵であるものすべてが完全に殲滅される。探査済みの世界に存在する敵にのみ影響し、マップの未探索で生成されていない部分にはまだ敵がいる。望むなら、[[#新しく生成されるチャンクにバイターを発生させない|新しく生成されるチャンクにバイターを発生させない]]こともできる。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c local surface=game.player.surface | /c local surface=game.player.surface | ||
Line 469: | Line 779: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === 付近の敵を殺す === | ||
設定した半径内のバイター、ワーム、巣のすべてを殺す。デフォルトは250タイルで、概ねFullHDで2段階ズームアウトした画面の幅である。破壊後に、破壊したオブジェクトの数を表示する。 | |||
<syntaxhighlight lang="lua"> | |||
/c local surface=game.player.surface | |||
local pp = game.player.position | |||
local cnt = 0 | |||
for key, entity in pairs(surface.find_entities_filtered({force="enemy", radius=250, position=pp })) do | |||
cnt = cnt+1 | |||
entity.destroy() | |||
end | |||
game.player.print(cnt) | |||
</syntaxhighlight> | |||
=== ピースフルモードの有効化/無効化 === | |||
ピースフルモードを有効にすると、バイターは挑発されるまで攻撃しない。trueをfalseにすれば無効化される。すでに存在しているバイターは、このコマンドの影響を受けないので、ピースフルモードを有効にしたあとも、攻撃は暫く続くことがある。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.player.surface.peaceful_mode=true | /c game.player.surface.peaceful_mode=true | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === バイターの拡大を有効化/無効化 === | ||
バイターの拡大を有効化すると、バイターは新たな巣を作る。デフォルトで有効。trueをfalseに変えると無効化される。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.map_settings.enemy_expansion.enabled=false | /c game.map_settings.enemy_expansion.enabled=false | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | === 新しく生成されるチャンクにバイターを発生させない === | ||
新しく生成されたチャンクにはバイターは存在しないが、既存のバイターは影響を受けない。マップ設定の敵の設定で敵の巣のサイズ設定をNoneに設定するのと同じことだが、ゲーム中に[[#マップ生成設定の変更|マップ生成設定の変更]]することで実現できる。 | |||
<syntaxhighlight lang="lua"> | |||
/c local surface = game.player.surface | |||
local mgs = surface.map_gen_settings | |||
mgs.autoplace_controls["enemy-base"].size = "none" | |||
surface.map_gen_settings = mgs | |||
</syntaxhighlight> | |||
コマンドの代わりに、ゲーム中に[[map editor/ja|マップ設定]]のGUIで設定を変更することでも可能である。マップ設定は <code>/editor</code> で開くことができ、"地形"タブから"マップ生成設定の編集"をクリックする。 | |||
== プレイヤーキャラクターのスクリプト == | |||
プレイヤーに直接的に関わるコマンド。 | プレイヤーに直接的に関わるコマンド。 | ||
=== プレイヤーの位置を取得 === | === プレイヤーの位置を取得 === | ||
現在の座標を表示する。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.player.print(game.player.position | /c game.player.print(game.player.position) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== テレポート === | === テレポート === | ||
プレイヤーを指定した場所に移動する。前述したコマンドでプレイヤーの座標を取得すれば、特定のプレイヤーがいる場所にテレポートできる。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.player.teleport({X, Y}) | /c game.player.teleport({X, Y}) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
世界の原点にテレポートするなら、座標に0,0を使用する。 | |||
=== | === 神モードの有効化 === | ||
神モードはプレイヤーキャラクターをなくし、障害物を飛び越えられたりダメージを受けないようにしたりできる。 | |||
操作をプレイヤーから切り離す。 | 操作をプレイヤーから切り離す。 | ||
Line 522: | Line 852: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | === リーチを長くする === | ||
=== | リーチを長くすると、プレイヤーは遠く離れたエンティティでも操作することができる。既定値は10である。 | ||
<syntaxhighlight lang="lua"> | |||
/c local reach = 10000 | |||
game.player.force.character_build_distance_bonus = reach | |||
game.player.force.character_reach_distance_bonus = reach | |||
</syntaxhighlight> | |||
=== プレイヤーの死体を探す === | |||
プレイヤーの死体がある場所をマップに表示する。 | |||
<syntaxhighlight lang="lua"> | |||
/c local found_corpses = game.player.surface.find_entities_filtered{type="character-corpse"} | |||
for _,corpse in pairs(found_corpses) do | |||
local player = game.get_player(corpse.character_corpse_player_index) | |||
local name = player and player.name or "????" | |||
game.player.print(name .. " --> " .. corpse.gps_tag) | |||
end | |||
</syntaxhighlight> | |||
=== 移動を高速化 === | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.player. | /c game.player.character_running_speed_modifier=3 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== 研究のスクリプト == | |||
=== 高速な研究を可能にする === | === 高速な研究を可能にする === | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.player.force.laboratory_speed_modifier=1 | /c game.player.force.laboratory_speed_modifier=1 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
-0.5は半分の速度、0は通常速度、1で倍速、2は3倍速。 | |||
=== 特定の技術を研究 === | === 特定の技術を研究 === | ||
技術の内部名称は各ページのinfoboxで確認できる。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.player.force.technologies['electric-energy-distribution-1'].researched=true | /c game.player.force.technologies['electric-energy-distribution-1'].researched=true | ||
/c game.player.force.technologies['steel-processing'].researched=true | /c game.player.force.technologies['steel-processing'].researched=true | ||
</syntaxhighlight> | |||
無限テクノロジーの高いレベルを研究するときは、そのレベルを設定する。 | |||
<syntaxhighlight lang="lua"> | |||
/c game.player.force.technologies['worker-robots-speed-6'].level = 100 | |||
/c game.player.force.technologies['mining-productivity-4'].level = 100 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
=== 特定の技術を未研究に === | === 特定の技術を未研究に === | ||
技術の内部名称は各ページのinfoboxで確認できる。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.player.force.technologies['electric-energy-distribution-1'].researched=false; game.player.force.set_saved_technology_progress('electric-energy-distribution-1', 0) | /c game.player.force.technologies['electric-energy-distribution-1'].researched=false; game.player.force.set_saved_technology_progress('electric-energy-distribution-1', 0) | ||
Line 550: | Line 904: | ||
=== 特定のレシピを解禁 === | === 特定のレシピを解禁 === | ||
技術の内部名称は各ページのinfoboxで確認できる。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c game.player.force.recipes["electric-energy-interface"].enabled=true | /c game.player.force.recipes["electric-energy-interface"].enabled=true | ||
/c game.player.force.recipes["rocket-silo"].enabled=true | /c game.player.force.recipes["rocket-silo"].enabled=true | ||
/c game.player.force.recipes.loader.enabled=true | /c game.player.force.recipes.loader.enabled=true | ||
/c game.player.force.recipes["fast-loader"].enabled = true | |||
/c game.player.force.recipes["express-loader"].enabled = true | |||
</syntaxhighlight> | </syntaxhighlight> | ||
全レシピを解禁 | === 全レシピを解禁 === | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c for name, recipe in pairs(game.player.force.recipes) do recipe.enabled = true end | /c for name, recipe in pairs(game.player.force.recipes) do recipe.enabled = true end | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === テクノロジーの効果を既定値にリセットする === | ||
すべてのレシピの有効/ロック解除状態が、現在研究されている技術に純粋に基づいた状態にリセットされ、採掘速度などの他の技術効果もリセットされる。これらの効果やレシピのアンロックに対する手動修正はすべて取り消される。 | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
/c | /c game.player.force.reset_technology_effects() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
注:MODを追加・変更した後、レシピのロックを解除する技術がすでに研究されているにもかかわらず、レシピが使用できない場合の迅速な回避策として使用できる。 | |||
== | == MOD作成ツール == | ||
バニラのゲームに存在するだいたいのものの内部名称のリストは[[data.raw]]で確認できる。 | |||
=== MODのデータにアクセスする === | |||
コマンドの最初の単語が __MODの名前__ の場合、コマンドは同名のMODのコンテキストで実行される。例えば、このコマンドは Even Distribution MODのデータを表示する。 | |||
<syntaxhighlight lang="lua"> | |||
/c __even-distribution__ game.player.print(serpent.dump(global)) | |||
</syntaxhighlight> | |||
=== プレイヤーがいる位置のタイルをコンソールに表示する === | === プレイヤーがいる位置のタイルをコンソールに表示する === | ||
Line 723: | Line 959: | ||
end | end | ||
game.write_file("recipes.lua", serpent.block(list) .. "\n", true) | game.write_file("recipes.lua", serpent.block(list) .. "\n", true) | ||
</syntaxhighlight> | |||
=== MODの一覧をファイルに書き込む === | |||
現在有効な全てのMODとバージョンを、[[application directory/ja#ユーザーデータディレクトリ|ユーザーデータディレクトリ]]の script-output/mods.txt ファイルに書き込む。 | |||
<syntaxhighlight lang="lua"> | |||
/c game.write_file("mods.txt", serpent.block(game.active_mods)) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== 関連項目 == | == 関連項目 == | ||
* [[Command line parameters/ja|コマンドラインパラメータ]] | |||
* http://lua-api.factorio.com/latest/ - 最新版のFactorio APIリファレンス(英語) | |||
{{C|Modding}} |
Revision as of 11:06, 25 August 2024
コンソールはFactorioのゲーム内コマンドラインインターフェースである。Factorio起動時のコマンドラインインターフェースについては、コマンドラインパラメータを参照すること。
ゲーム内コンソールは以下に用いられる。
- 他プレイヤーとのチャット
- 時々の近況報告(ゲームの状況を知らせるメッセージのこと)
- コマンド/スクリプト/チートの実行
以下の3種のコマンドがある。
- 通常 - ゲームに関する情報を表示し、ゲーム体験をカスタマイズする。
- マルチプレイヤー - メッセージフィルタ、ユーザの禁止など。
- スクリプト/チート - 小さなLuaスクリプトを実行する。(ただし、このゲームでは実績が無効化される)
コンソールの利用
コンソール窓は、GRAVE(全角/半角)キーで表示を切り替えられる。このキーは、1
キーの左側か、Tab
の上にある。
このキーは、設定メニュー → コントロール → チャット(Luaコンソール)の表示から変更できる。 コンソールが開いている間、スクリーン下部でカーソルが点滅する。メッセージやコマンドを入力してReturnを押すと送信する(また、コンソールも閉じる)。 メッセージやコマンドプレフィックスに関するドキュメントはこのページの更に下にある。
コンソールではリッチテキストタグが使用できる。これらのタグは、建設計画を共有したり、マップの場所に印をつけたり、マーカーや駅のアイコンをマップに追加したりするのに役立つ。Ctrl + Alt を押しながらマップや地面をクリックすると、自動的にGPSタグが挿入され、コンソールに送信される。コンソールを開いた状態で、大半のものをShiftを押しながらクリックすると、クリックしたもののタグがコンソールに挿入される。
コンソールを閉じると最後のメッセージ/コマンドだけが表示されるが、徐々に消えていく(コンソールを開き直すと即座に直近のメッセージすべてが再表示される)。 デフォルトでは、全ての実行されたコマンドは全ユーザに見える。消える時間は設定メニュー → インターフェース → 会話メッセージ表示時間から設定できる。
コンソールは/clearコマンドでクリアできる。
履歴内を移動するには、↑と↓キーを使用する。Tabキーはコマンドやプレイヤー名をオートコンプリートする。
通常コマンド
コマンド | 例 | 説明 | 管理者のみ |
---|---|---|---|
/alerts <enable/disable/mute/unmute> <alert> | /alerts disable turret_fire | 指定した警報種別を有効化・無効化・ミュート・ミュート解除する。以下の種類が指定できる。entity_destroyed, entity_under_attack, not_enough_construction_robots, no_material_for_construction, not_enough_repair packs, turret_fire, custom, no_storage, train_out_of_fuel, fluid_mixing | No |
/clear | /clear | コンソールをクリアする。 | No |
/color <color> | /color 20 255 255 | あなたの色を変更する。事前に決まっている色か、“# # #”形式のRGB値のどちらでもよい。以下の色が利用できる。default, red, green, blue, orange, yellow, pink, purple, white, black, gray, brown, cyan, acid | No |
/enable-research-queue | /enable-research-queue | 研究の待ち行列を有効化する。 | Yes |
/evolution | /evolution | 敵の進化因子を表示する。 | No |
/help [コマンド] | /help | 利用可能なコマンドの一覧を表示する。オプション引数のコマンド名を指定すると、詳細な説明が表示される。 | No |
/h [コマンド] | /h | /help と同じ。 | No |
/mute-programmable-speaker <mute/unmute> <local/everyone> | /mute-programmable-speaker mute local | プログラマブルスピーカーが発するグローバル音声をミュートまたはミュート解除する。"local"を使用すると、自分自身にのみ適用される。管理者は "everyone" を使用する事ができ、サーバ上の全員に対して音声をミュートできる。 | No |
/perf-avg-frames <number> | /perf-avg-frames 100 | 平均的な性能を計測するために使用する、指定したティック数の間の更新回数。既定値は100である。すばやく収束させるには、5-10の値が推奨だが、数値はもっと小刻みに変動する。 | No |
/permissions | /permissions | 権限のGUIを開く。 | Yes |
/permissions <action> <parameters> | /permissions add-player DeveloperGroup kovarex | 利用可能な action は以下の通り。add-player <group> <player>, create-group <name>, delete-group <group>, edit-group <group> <input_action> <true/false>, get-player-group <player>, remove-player <group> <player>, rename-group <group> <new_name>, reset | Yes |
/reset-tips | /reset-tips | ヒントの状態を、初めてゲームを開始したかのような状態にリセットする。 | No |
/screenshot [x 解像度] [y 解像度] [倍率] | /screenshot | GUIを非表示にし、プレイヤーを中心にしてスクリーンショットを撮影する。画像は、ユーザーデータディレクトリの中の"script-output"フォルダに保存される。解像度はオプションで、既定値は現在のウィンドウサイズとなる。倍率も任意で、規定値は1である。 | No |
/seed | /seed | 開始マップのシード値を表示する。 | No |
/time | /time | このマップをプレイしている時間を表示する。 | No |
/toggle-action-logging | /toggle-action-logging | ゲームでの入力操作をすべて記録するモードを切り替える。この設定は、ゲームを再開すると消えてしまい、マルチプレイヤーでは自分自身にしか作用しない。 | Yes |
/toggle-heavy-mode | /toggle-heavy-mode | 非同期化(英語)の調査のために使用する。ゲームが低速化し、マルチプレイヤーは遊べなくなる。 | Yes |
/unlock-shortcut-bar | /unlock-shortcut-bar | 建設計画のインポート・コピー&ペースト・解体プランナー・アップグレードプランナーを含む、すべてのショートカットバーアイテムを解放する。 | No |
/unlock-tips | /unlock-tips | すべてのヒントを解放する。 | No |
/version | /version | 現在のゲームバージョンを表示する。 | No |
マルチプレイヤーコマンド
コマンド | 例 | 説明 | 管理者のみ |
---|---|---|---|
<message> | Hello team! | /で始まらない入力は、チャットメッセージとして自分のチームに表示される。 | No |
/admin | /admin | プレイヤー管理GUIを開く。 | Yes |
/admins | /admins | ゲーム管理者の一覧を表示する。 | No |
/ban <player> <reason> | /ban xTROLLx Throwing grenades in base | 特定のプレイヤーをBANする。 | Yes |
/banlist <add/remove/get/clear> <player> | /banlist get | プレイヤーをBANリストに追加または削除する。/ban や /unban と同じ。 | No |
/config | /config | サーバ管理GUIを開く。 | Yes |
/config <get/set> <option> <value> | /config set password hunter2 | マルチプレイヤーゲーム設定の変数を取得または設定する。以下の設定が使える。afk-auto-kick, allow-commands, allow-debug-settings, autosave-interval, autosave-only-on-server, ignore-player-limit-for-returning-players, max-players, max-upload-speed, only-admins-can-pause, password, require-user-verification, visibility-lan, visibility-public afk-auto-kickとautosave-intervalオプションの単位は分である。 | Yes |
/delete-blueprint-library <player> | /delete-blueprint-library everybody confirm | 指定されたオフラインプレイヤーの建設計画のライブラリをセーブファイルから削除する。"everybody confirm" を入力すると、すべてのオフラインプレイヤーのデータが削除される。 | Yes |
/demote <player> | /demote AzureDiamond | プレイヤーを管理者から降格させる。 | Yes |
/ignore <player> | /ignore Cthon98 | プレイヤーからのメッセージ表示を抑止する。管理者のメッセージは表示される。 | No |
/ignores | /ignores | 無視された(メッセージ表示を抑止された)プレイヤーの一覧を表示する。 | No |
/kick <player> <reason> | /kick xTROLLx Throwing grenades in base | 特定のプレイヤーを追放する。 | Yes |
/mute <player> | /mute Cthon98 | プレイヤーがチャットで発言することを禁止する。 | Yes |
/open <player> | /open AzureDiamond | 他のプレイヤーのインベントリを開く。 | Yes |
/o <player> | /o AzureDiamond | /open と同じ。 | Yes |
/players [online/o/count/c] | /players | ゲーム中のプレイヤーリストを表示する。(online/o パラメータはオンラインのプレイヤーのみ、count/c は人数のみ表示する) | No |
/p [online/o/count/c] | /p o c | /players と同じ。 | No |
/promote <player> | /promote AzureDiamond | プレイヤーを管理者に昇格させる。 | Yes |
/purge <player> | /purge Cthon98 | このプレイヤーからのすべてのメッセージをチャットログから削除する。 | Yes |
/reply <message> | /reply oh, really? | 最後にあなたに囁いたプレイヤーに返信する。 | No |
/r <message> | /r oh, really? | /reply と同じ。 | No |
/server-save | /server-save | サーバ上にマルチプレイヤーゲームを保存する。 | Yes |
/shout <message> | /shout Hello world! | 他の勢力も含めて、全プレイヤーにメッセージを送信する。 | No |
/s <message> | /s Hello world! | /shout と同じ。 | No |
/swap-players <player> [player] | /swap-players AzureDiamond | あなたのキャラクターと指定したプレイヤーのキャラクターを入れ替える。プレイヤーを2つ指定した場合、2人のプレイヤーキャラクターを入れ替える。 | Yes |
/unban <player> | /unban xTROLLx | 特定のプレイヤーのBANを解除する。 | Yes |
/unignore <player> | /unignore Cthon98 | 指定したプレイヤーのメッセージが表示されるようにする。 | No |
/unmute <player> | /unmute Cthon98 | プレイヤーがチャットで会話できるようにする。 | Yes |
/whisper <player> <message> | /whisper AzureDiamond that's what I see | 特定のプレイヤーにメッセージを送信する。 | No |
/w <player> <message> | /w AzureDiamond that's what I see | /whisper と同じ。 | No |
/whitelist <add/remove/get/clear> [player] | /whitelist get | ホワイトリストにプレイヤーを追加または削除する。ホワイトリストに入っているプレイヤーのみゲームに参加できる。"get"を使用するとき、"player"に何も入れないと、ホワイトリストに入っているプレイヤーの一覧を表示する。ホワイトリストが空になると、ホワイトリストの機能が無効化され、誰でも参加可能になる。 | No |
スクリプトとチートコマンド
コマンド | 説明 |
---|---|
/cheat <all> | すべてのテクノロジーを研究し、チートモードを有効化する。'all オプションを使うと、プレイヤーに追加のアイテムを与える。 |
/command <command> | (可能なら) Luaコマンドを実行する。 |
/c <command> | (可能なら) Luaコマンドを実行する。 |
/editor | マップエディタを切り替える。 |
/measured-command <command> | (可能なら) Luaコマンドを実行し、かかった時間を計測する。 |
/mc <command> | (可能なら) Luaコマンドを実行し、かかった時間を計測する。 |
/silent-command <command> | (可能なら) Luaコマンドを実行し、コンソールには何も出力しない。 |
/sc <command> | (可能なら) Luaコマンドを実行し、コンソールには何も出力しない。 |
これは非常に強力な機能だが、不正行為も可能であるため、スクリプト・コマンドを使用した時点で、セーブ中の実績は永久に無効となる。
基本的なコマンドと例
計算機として使う
/c game.player.print(1234*5678)
通常よりズームアウトする
ズームアウトしすぎるとパフォーマンスに問題を起こしかねないので注意。
/c game.player.zoom=0.1
高速に掘削
/c game.player.force.manual_mining_speed_modifier=1000
高速に製作
/c game.player.force.manual_crafting_speed_modifier=1000
全研究をアンロックし研究済みに
/c game.player.force.research_all_technologies()
次節のコマンドでUndoできる。
注:特定のテクノロジーは、マップエディタを使って、テクノロジーのGUIで「研究開始」をShift+クリックすることで研究できる。
全研究を未研究に
手動で適用されたボーナスはリセットされない。
/c for _, tech in pairs(game.player.force.technologies) do
tech.researched=false
end
注:特定のテクノロジーは、マップエディタを使って、テクノロジーのGUIで「未研究に」をクリックすることで未研究にできる。
強さリセット
キル数、生産統計、技術、ボーナス、マップ状況を含む強さを全リセットする。
/c game.player.force.reset()
常にレールブロック視覚化を表示する
列車用信号を手に持っているときだけでなく、レールブロックの視覚化を恒久的に表示する。trueをfalseに置き換えて無効にする。
/c game.player.game_view_settings.show_rail_block_visualisation = true
すべての列車を自動モードにセットする
すべての列車を自動モードにセットする。例えば、建設計画から配置したあとなど。
/c for key,ent in pairs (game.player.surface.find_entities_filtered{name="locomotive"}) do
ent.train.manual_mode = false
end
インベントリ操作スクリプト
チートモード
無限・無料製作を可能にする。trueをfalseにすれば無効化できる。
/c game.player.cheat_mode=true
資源の補充(油、鉄などの補充)
ゲーム内の資源タイルにマウスオーバーした状態で実行する。
/c game.player.selected.amount=7500
以下のコマンドで、マップ上のすべての資源を補充する。ore.amount を希望する値に変更すること。
/c surface = game.player.surface
for _, ore in pairs(surface.find_entities_filtered({type="resource"})) do
ore.amount = 10000
end
プレイヤーのインベントリにアイテム追加
iron-plateの部分を欲しいアイテムの内部名称(英語)に置換して使うべし。 (内部名称を知りたい場合、Wikiでそのアイテムのページに行き、Internal name の項目を見る)
/c game.player.insert{name="iron-plate", count=100}
例えば、エネルギーシステムの神モードインタフェースは以下のようにする。
/c game.player.insert{name="electric-energy-interface"}
神モードアイテムは、以下のものがある。
infinity-chest
infinity-pipe
electric-energy-interface
heat-interface
装備品付きで強力アーマーゲットだぜ。
/c local player = game.player
player.insert{name="power-armor-mk2", count = 1}
local p_armor = player.get_inventory(5)[1].grid
p_armor.put({name = "fusion-reactor-equipment"})
p_armor.put({name = "fusion-reactor-equipment"})
p_armor.put({name = "fusion-reactor-equipment"})
p_armor.put({name = "exoskeleton-equipment"})
p_armor.put({name = "exoskeleton-equipment"})
p_armor.put({name = "exoskeleton-equipment"})
p_armor.put({name = "exoskeleton-equipment"})
p_armor.put({name = "energy-shield-mk2-equipment"})
p_armor.put({name = "energy-shield-mk2-equipment"})
p_armor.put({name = "personal-roboport-mk2-equipment"})
p_armor.put({name = "night-vision-equipment"})
p_armor.put({name = "battery-mk2-equipment"})
p_armor.put({name = "battery-mk2-equipment"})
プレイヤーのインベントリスロットを増やす
あなたの勢力のプレイヤー全員のインベントリに100スロット追加する。ツールベルトでも使用している。
/c game.player.force.character_inventory_slots_bonus=100
ワールド操作スクリプト
プレイヤー周辺のマップを表示
レーダー風にプレイヤー周辺のマップを表示する。
/c local radius=150
game.player.force.chart(game.player.surface, {{game.player.position.x-radius, game.player.position.y-radius}, {game.player.position.x+radius, game.player.position.y+radius}})
もしくはスタート地点から
/c game.forces.player.chart(game.player.surface, {{x = -2000, y = -2000}, {x = 2000, y = 2000}})
150は好きな半径に変更して構わない。大きくすればするほど時間食うけど。
表示されたマップを隠す
マップ表示の逆で、表示されたすべてのチャンクを隠す。
/c local surface = game.player.surface
local force = game.player.force
for chunk in surface.get_chunks() do
force.unchart_chunk({x = chunk.x, y = chunk.y}, surface)
end
生成済みのマップをすべて表示
プレイヤーのチームに、生成済みのマップ全てを表示する。
/c game.player.force.chart_all()
チャンクを削除
表示されたマップが大きくなるとセーブファイルのサイズも増える。以下のコマンドで現在キューされているチャンク生成をすべてキャンセルし 0,0 周辺の半径32チャンク以外を除去する。当該チャンク内のプレイヤーのものも除去される事に注意。
/c local surface = game.player.surface;
game.player.force.cancel_charting(surface);
local chunk_radius = 32;
for chunk in surface.get_chunks() do
if (chunk.x < -chunk_radius or chunk.x > chunk_radius or chunk.y < -chunk_radius or chunk.y > chunk_radius) then
surface.delete_chunk(chunk)
end
end
非表示のチャンクを削除
このコマンドは、プレイヤーに表示されていないチャンクを削除する。表示されたマップを隠すコマンドのあとに使うと、レーダーがカバーしていないチャンクを削除できる。
/c local surface = game.player.surface
local force = game.player.force
for chunk in surface.get_chunks() do
if not force.is_chunk_charted(surface, chunk) then
surface.delete_chunk(chunk)
end
end
夜をオフ
沈まない太陽。
/c game.player.surface.always_day=true
ゲーム速度変更
0.5で速度半分、1でデフォルト、2で倍速、など。最小は0.01。完了に長い期間待たなければならない場合など、様々なことに利用できる。大きくするとパフォーマンスが落ちるので注意せよ。
/c game.speed=X
時間停止
時間の進行を止める。"true"を"false"にすると凍結解除する。
/c game.player.surface.freeze_daytime=true
全ての汚染を消去
/c game.player.surface.clear_pollution()
汚染を完全にオフ
/c for _, surface in pairs(game.surfaces) do
surface.clear_pollution()
end
game.map_settings.pollution.enabled = false
汚染を大量に追加
/c game.player.surface.pollute(game.player.position, 1000000)
スピーカーの場所と設置者を表示
/c local speakers = game.player.surface.find_entities_filtered{force = game.player.force, type="programmable-speaker"}
for key, speaker in pairs(speakers) do
game.player.print(speaker.last_user.name .. " placed a speaker at " .. speaker.gps_tag)
end
友軍へのフレンドリーファイアを無効化
/c game.player.force.friendly_fire = false
新たな資源パッチを追加
プレイヤーキャラクターを中心に11×11の範囲で、水場でない地面に新たな資源パッチを生成する。 パッチは完全な正方形だが、埋蔵量は自然生成と同様にランダムで中心部は多くの資源がある。 デフォルトでは2500-3000鉱石となる。
より大きなパッチが欲しいなら、「local size = 5」をより大きな数字に変更する。 大きなパッチは指数的に多くの鉱石を含む。 30以上の数字は推奨できない。
より潤沢なパッチが欲しいなら、「local density = 10」をより大きな数字に変更する。 大きすぎる数字を入れても害はないが、100以上が必要なことはまずないだろう。
生成される資源を選ぶには、下の方の「stone」を「iron-ore」「copper-ore」「coal」「uranium-ore」に変更すること。
/c local surface=game.player.surface
local ore=nil
local size=5
local density=10
for y=-size, size do
for x=-size, size do
a=(size+1-math.abs(x))*10
b=(size+1-math.abs(y))*10
if a<b then
ore=math.random(a*density-a*(density-8), a*density+a*(density-8))
end
if b<a then
ore=math.random(b*density-b*(density-8), b*density+b*(density-8))
end
surface.create_entity({name="stone", amount=ore, position={game.player.position.x+x, game.player.position.y+y}})
end
end
より柔軟にするには、マップエディタ で資源パッチの生成・変更・削除ができる。
プレイヤーの周りの資源を除去
プレイヤーの周り50 x 50の範囲の全ての資源パッチを除去する。
/c local surface=game.player.surface
local size=50
local pos=game.player.position
for _, e in pairs(surface.find_entities_filtered{area={{pos.x-size, pos.y-size},{pos.x+size, pos.y+size}}, type="resource"})
do e.destroy()
end
原油パッチを追加
3x3の9原油パッチを生成する。
/c for y=0,2 do
for x=0,2 do
game.player.surface.create_entity({name="crude-oil", amount=5000, position={game.player.position.x+x*7-7, game.player.position.y+y*7-7}})
end
end
もしくは、干渉が生じないようにランダムにするには
/c local position=nil
for i=1,9 do
position=game.player.surface.find_non_colliding_position("crude-oil", game.player.position, 0, i/2+1.5)
if position then
game.player.surface.create_entity({name="crude-oil", amount=5000, position=position})
end
end
資源を再生する
鉄のような固形資源の場合、すべての資源エンティティを破壊し、元のマップ生成と同じように資源エンティティを作成する。石油のような流体資源の場合、既存のすべての資源エンティティの収量を元の量に設定する。世界全体の資源を再生成する。
/c local surface = game.player.surface
for _, e in pairs(surface.find_entities_filtered{type="resource"}) do
if e.prototype.infinite_resource then
e.amount = e.initial_amount
else
e.destroy()
end
end
local non_infinites = {}
for resource, prototype in pairs(game.get_filtered_entity_prototypes{{filter="type", type="resource"}}) do
if not prototype.infinite_resource then
table.insert(non_infinites, resource)
end
end
surface.regenerate_entity(non_infinites)
for _, e in pairs(surface.find_entities_filtered{type="mining-drill"}) do
e.update_connections()
end
エンティティを数える
local entity の文字列を名前に含むエンティティを数える。
/c local entity="belt"
local surface=game.player.surface
local count=0
for key, ent in pairs(surface.find_entities_filtered({force=game.player.force})) do
if string.find(ent.name,entity) then
count=count+1
end
end
game.player.print(count)
崖の生成をオフにする
このコマンドは、実行した後に生成されるチャンクにのみ効果を発揮する。すでに生成されているチャンクの崖を除去したい場合#すべての崖を消去のコマンドを使う。
/c local mgs = game.player.surface.map_gen_settings
mgs.cliff_settings.cliff_elevation_0 = 1024
game.player.surface.map_gen_settings = mgs
すべての崖を消去
世界中の崖を全て消去する。新しいチャンクで崖が生成されないようにするには#崖の生成をオフにするのコマンドを使う。
/c for _, v in pairs(game.player.surface.find_entities_filtered{type="cliff"}) do
v.destroy()
end
全ての装飾を消去
世界中に存在する装飾を消去する。
/c game.player.surface.destroy_decoratives({})
マップ生成設定の変更
これは新しいチャンクのマップ生成設定を変更するもので、すでに生成されたチャンクは変更されません。すでに生成されたチャンクは変更されません。削除されたチャンクは、再び探索されたときに新しく生成されるため、設定変更の影響を受けます。
資源生成の設定を変更するには、以下のコマンドの "iron-ore" を変更したい資源に置き換え、"very-high" を希望の MapGenSize に置き換える。"iron-ore" を "enemy-base" に置き換えると敵の巣の生成設定を変更できる。
/c local surface = game.player.surface
local resource = "iron-ore"
local mgs = surface.map_gen_settings
mgs.autoplace_controls[resource].size = "very-high"
mgs.autoplace_controls[resource].frequency = "very-high"
mgs.autoplace_controls[resource].richness = "very-high"
surface.map_gen_settings = mgs
水生成の設定を変更するには、以下のコマンドで "very-high" を希望の MapGenSize に置き換えること。
/c local surface = game.player.surface
local mgs = surface.map_gen_settings
mgs.water = "very-high" --[[ size]]
mgs.terrain_segmentation = "very-high" --[[ frequency]]
surface.map_gen_settings = mgs
構造物を破壊不能にする
バイターなどによって、エンティティにダメージを与えたり殺したりできなくする。エンティティにカーソルを合わせて実行すること。
/c game.player.selected.destructible = false
linked beltの接続
少なくとも2つのlinked beltが存在する場合、それらの1つは"エンティティタグ"in
を持ち、もう1つは"エンティティタグ" out
を持っている。以下のコマンドは、それら2つのlinked beltをリンクする。
/c local i = game.get_entity_by_tag('in')
local o = game.get_entity_by_tag('out')
i.linked_belt_type = 'input'
o.linked_belt_type = 'output'
i.connect_linked_belts(o)
敵/進化のスクリプト
進化因子を設定
範囲は0(ゲーム開始時)から1。
/c game.forces["enemy"].evolution_factor=X
時間による進化を無効化しつつ汚染による進化を加速
/c game.map_settings.enemy_evolution.time_factor=0
/c game.map_settings.enemy_evolution.pollution_factor=game.map_settings.enemy_evolution.pollution_factor*2
最後の「2」はデフォルト汚染因子を2倍にしている。他の数字に変えれば汚染ファクターをもっと大きく(小さく)できる。
「敵」勢力バイターを全滅させる
機動部隊とワームだけを殺し、巣は殺されないことに注意。
/c game.forces["enemy"].kill_all_units()
敵を鏖殺
バイター、ワーム、巣のすべてを殺す。敵であるものすべてが完全に殲滅される。探査済みの世界に存在する敵にのみ影響し、マップの未探索で生成されていない部分にはまだ敵がいる。望むなら、新しく生成されるチャンクにバイターを発生させないこともできる。
/c local surface=game.player.surface
for key, entity in pairs(surface.find_entities_filtered({force="enemy"})) do
entity.destroy()
end
付近の敵を殺す
設定した半径内のバイター、ワーム、巣のすべてを殺す。デフォルトは250タイルで、概ねFullHDで2段階ズームアウトした画面の幅である。破壊後に、破壊したオブジェクトの数を表示する。
/c local surface=game.player.surface
local pp = game.player.position
local cnt = 0
for key, entity in pairs(surface.find_entities_filtered({force="enemy", radius=250, position=pp })) do
cnt = cnt+1
entity.destroy()
end
game.player.print(cnt)
ピースフルモードの有効化/無効化
ピースフルモードを有効にすると、バイターは挑発されるまで攻撃しない。trueをfalseにすれば無効化される。すでに存在しているバイターは、このコマンドの影響を受けないので、ピースフルモードを有効にしたあとも、攻撃は暫く続くことがある。
/c game.player.surface.peaceful_mode=true
バイターの拡大を有効化/無効化
バイターの拡大を有効化すると、バイターは新たな巣を作る。デフォルトで有効。trueをfalseに変えると無効化される。
/c game.map_settings.enemy_expansion.enabled=false
新しく生成されるチャンクにバイターを発生させない
新しく生成されたチャンクにはバイターは存在しないが、既存のバイターは影響を受けない。マップ設定の敵の設定で敵の巣のサイズ設定をNoneに設定するのと同じことだが、ゲーム中にマップ生成設定の変更することで実現できる。
/c local surface = game.player.surface
local mgs = surface.map_gen_settings
mgs.autoplace_controls["enemy-base"].size = "none"
surface.map_gen_settings = mgs
コマンドの代わりに、ゲーム中にマップ設定のGUIで設定を変更することでも可能である。マップ設定は /editor
で開くことができ、"地形"タブから"マップ生成設定の編集"をクリックする。
プレイヤーキャラクターのスクリプト
プレイヤーに直接的に関わるコマンド。
プレイヤーの位置を取得
現在の座標を表示する。
/c game.player.print(game.player.position)
テレポート
プレイヤーを指定した場所に移動する。前述したコマンドでプレイヤーの座標を取得すれば、特定のプレイヤーがいる場所にテレポートできる。
/c game.player.teleport({X, Y})
世界の原点にテレポートするなら、座標に0,0を使用する。
神モードの有効化
神モードはプレイヤーキャラクターをなくし、障害物を飛び越えられたりダメージを受けないようにしたりできる。
操作をプレイヤーから切り離す。
/c game.player.character=nil
そうしたら、不要となったプレイヤーにマウスオーバーして破棄する。
/c game.player.selected.destroy()
元に戻すには、プレイヤーキャラクターをスポーンさせる。以下のコマンドでこの世界のスポーン地点に新規プレイヤーを生成し、操作を結びつける。
/c game.player.create_character()
リーチを長くする
リーチを長くすると、プレイヤーは遠く離れたエンティティでも操作することができる。既定値は10である。
/c local reach = 10000
game.player.force.character_build_distance_bonus = reach
game.player.force.character_reach_distance_bonus = reach
プレイヤーの死体を探す
プレイヤーの死体がある場所をマップに表示する。
/c local found_corpses = game.player.surface.find_entities_filtered{type="character-corpse"}
for _,corpse in pairs(found_corpses) do
local player = game.get_player(corpse.character_corpse_player_index)
local name = player and player.name or "????"
game.player.print(name .. " --> " .. corpse.gps_tag)
end
移動を高速化
/c game.player.character_running_speed_modifier=3
研究のスクリプト
高速な研究を可能にする
/c game.player.force.laboratory_speed_modifier=1
-0.5は半分の速度、0は通常速度、1で倍速、2は3倍速。
特定の技術を研究
技術の内部名称は各ページのinfoboxで確認できる。
/c game.player.force.technologies['electric-energy-distribution-1'].researched=true
/c game.player.force.technologies['steel-processing'].researched=true
無限テクノロジーの高いレベルを研究するときは、そのレベルを設定する。
/c game.player.force.technologies['worker-robots-speed-6'].level = 100
/c game.player.force.technologies['mining-productivity-4'].level = 100
特定の技術を未研究に
技術の内部名称は各ページのinfoboxで確認できる。
/c game.player.force.technologies['electric-energy-distribution-1'].researched=false; game.player.force.set_saved_technology_progress('electric-energy-distribution-1', 0)
/c game.player.force.technologies['steel-processing'].researched=false; game.player.force.set_saved_technology_progress('steel-processing', 0)
特定のレシピを解禁
技術の内部名称は各ページのinfoboxで確認できる。
/c game.player.force.recipes["electric-energy-interface"].enabled=true
/c game.player.force.recipes["rocket-silo"].enabled=true
/c game.player.force.recipes.loader.enabled=true
/c game.player.force.recipes["fast-loader"].enabled = true
/c game.player.force.recipes["express-loader"].enabled = true
全レシピを解禁
/c for name, recipe in pairs(game.player.force.recipes) do recipe.enabled = true end
テクノロジーの効果を既定値にリセットする
すべてのレシピの有効/ロック解除状態が、現在研究されている技術に純粋に基づいた状態にリセットされ、採掘速度などの他の技術効果もリセットされる。これらの効果やレシピのアンロックに対する手動修正はすべて取り消される。
/c game.player.force.reset_technology_effects()
注:MODを追加・変更した後、レシピのロックを解除する技術がすでに研究されているにもかかわらず、レシピが使用できない場合の迅速な回避策として使用できる。
MOD作成ツール
バニラのゲームに存在するだいたいのものの内部名称のリストはdata.rawで確認できる。
MODのデータにアクセスする
コマンドの最初の単語が __MODの名前__ の場合、コマンドは同名のMODのコンテキストで実行される。例えば、このコマンドは Even Distribution MODのデータを表示する。
/c __even-distribution__ game.player.print(serpent.dump(global))
プレイヤーがいる位置のタイルをコンソールに表示する
/c game.player.print(game.player.surface.get_tile(game.player.position.x, game.player.position.y).name)
研究済み技術一覧をファイルに書き込む
/c local list = {}
for _, tech in pairs(game.player.force.technologies) do
if tech.researched then
list[#list+1] = tech.name
end
end
game.write_file("techs.lua", serpent.block(list) .. "\n", true)
解禁済みレシピ一覧をファイルに書き込む
/c local list = {}
for _, recipe in pairs(game.player.force.recipes) do
if recipe.enabled then
list[#list+1] = recipe.name
end
end
game.write_file("recipes.lua", serpent.block(list) .. "\n", true)
MODの一覧をファイルに書き込む
現在有効な全てのMODとバージョンを、ユーザーデータディレクトリの script-output/mods.txt ファイルに書き込む。
/c game.write_file("mods.txt", serpent.block(game.active_mods))
関連項目
- コマンドラインパラメータ
- http://lua-api.factorio.com/latest/ - 最新版のFactorio APIリファレンス(英語)