In other languages:

User:Fried biter/workspace: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(disabled categories)
 
(50 intermediate revisions by one other user not shown)
Line 3: Line 3:


----
----
{{Languages}}
{{Languages}}
== 概要 ==
'''ベルト輸送システム(Belt transport system)'''は、アイテムを異なる場所の間で輸送するために[[player/ja|プレイヤー]]が最初に触れることとなるシステム。[[Railway/ja|列車]]、[[Logistic network/ja|物流ロボット]]と並んで、Factorioにおけるアイテム輸送システムを構成している。
'''コンソール(Console)'''はFactorioのコマンドラインインターフェース。
(訳注:0.16現在、"transport"は搬送ベルトについてのみ「搬送」と訳され、それ以外に於いては「輸送」と訳されている。以下では固有名詞以外は「輸送」に統一する)
 
ゲーム内コンソール(in-game console)は以下に用いられる。
 
* 他プレイヤーとのチャット
* コマンド/スクリプト/チートの実行
* ときどきステータス更新
 
以下の3種のコマンドがある。
 
* '''マルチプレイヤー(Multiplayer)''' - メッセージフィルタリング、ユーザBAN、などなど
* '''情報(Information)''' - ゲームに関する様々な情報を表示
* '''スクリプト/チート(Scripting/Cheating)''' - Luaスクリプト片を実行 (<span style="color:#FF0000">そのセーブで実績が無効になる</span>)
 
=== コンソールの利用 ===
コンソール窓は{{keybinding|/}}(スラッシュ)か{{keybinding|~}}(チルダ)キーで切り替えられる。
 
キー設定は'''Options Menu -> Keyboard -> Toggle Lua console'''から設定可能。
コンソールが開いている間、スクリーン下部でカーソルが点滅する。メッセージやコマンドを入力して'''Return'''を押すと送信(してコンソールも閉じる)。
メッセージやコマンドプレフィックスに関するドキュメントはこのページの更に下にある。
 
コンソールを閉じると最後のメッセージ/コマンドだけが表示されるが、徐々に消えていく(コンソールを開き直すと即座に直近のメッセージすべてが再表示される)。
デフォルトでは、全ての実行されたコマンドは全ユーザに見える。消える時間は'''Options Menu -> Other Settings -> Message Delay'''から設定可能。
 
コンソールを即座に隠したい場合、コンソールを開いて'''Escape''' キーを押す(か、メッセージやコマンドを入力しないまま'''Return''')。
これはコンソールを隠すだけでなく、直近のメッセージ/コマンドすべてを隠す。
コンソールは'''/clear'''コマンドでクリアできる。
 
コンソールはゲームコマンド(game command)同様、生Luaコードも受け付けることを覚えておこう。
 
=== コンソール履歴 ===
 
コンソールは備え付けの履歴を持つ。ややテキストエディタっぽく、一度に1行のテキストしか表示されない。
 
{{keybinding|&uarr;}}と{{keybinding|&darr;}}キーで履歴内を移動。
 
{{keybinding|&larr;}}と{{keybinding|&rarr;}}キーで現在表示している編集(削除、挿入など)対象のメッセージやコマンド内でカーソルを移動、ならびに再送信('''Return'''を押す)。
 
{{keybinding|Tab}}キーはコマンドやプレイヤーIDをオートコンプリートする。
 
== マルチプレイヤーチャット ==
 
特定のプレイヤーにプライベートメッセージを送るには'''/whisper''' (または'''/w'''):
<syntaxhighlight lang="lua">
/whisper <playerId> <message>
</syntaxhighlight>
 
最後にプライベートメッセージを受け取ったプレイヤーに返信するには'''/reply''' (または'''/r'''):
<syntaxhighlight lang="lua">
/reply <message>
</syntaxhighlight>
 
グループチャットは以下のように機能する:
<syntaxhighlight lang="lua">
hello my team!
</syntaxhighlight>
<syntaxhighlight lang="lua">
/s hello all players!
/shout same as /s
</syntaxhighlight>
 
これらはメインのチャット機能にすぎない。プレイヤーのBAN、無視、ミュートなどのオプションもある。完全なリストはコンソールで'''/help'''。
 
== コマンド ==
利用可能なコマンドのリストを見るには、コンソールで'''/help''' (または'''/h''')を入力。
利用可能なコマンドはFactorioのバージョンとゲームセットアップに依る。
<syntaxhighlight lang="lua">
/help
</syntaxhighlight>
 
[https://forums.factorio.com/viewtopic.php?f=3&t=32248 Factorio 0.14.4以降]では、'''/help'''コマンドは単にコマンドのリストを表示するだけである。コマンドの完全な詳細を得るにはコマンド名(スラッシュを除く)を'''/help''' (または'''/h''')の後に加える。例えば、 '''/evolution'''コマンドのヘルプは:
<syntaxhighlight lang="lua">
/h evolution
</syntaxhighlight>
 
=== スクリプト/チートコマンド ===
コンソールからLuaスクリプトを実行できる。
任意のコマンドラインインターフェースやブラウザのJavaScriptコンソールに類似した挙動をする。
 
これは非常に強力な機能で、チートもでき、なのでスクリプトコマンドを使用した瞬間<span style="color:#FF0000">実績はそのセーブに対して永続的に無効化される</span>。
 
スクリプトを実行するには、'''/command''' (または'''/c''')を前置する。例えば:
<syntaxhighlight lang="lua">
/c game.player.print 'hello me!'
</syntaxhighlight>
 
マルチプレイヤーゲームでは、adminのみがコマンドを利用可能で、コマンドは他の全プレイヤーにechoする。
 
マルチプレイヤーのserver adminは(RCON/server consoleからのみ)'''/c'''の代わりに'''/silent-command''' を用いることで、他のプレイヤーにechoされるのを防ぐことができる。
<syntaxhighlight lang="lua">
/silent-command game.player.print 'only admins can use (and see) silent commands'
</syntaxhighlight>
 
Mod製作者もまた、特別なコマンド'''/measured-command'''を利用可能。これは'''/c'''に似ているが、実行時間を測定する。
スクリプトのパフォーマンスチューニングにとても便利。
<syntaxhighlight lang="lua">
/measured-command game.player.print 'how much time does this take to run?'
</syntaxhighlight>
 
「スクリプトレット(scriptlets)」をコンソールにペーストする際、改行は無視される。
つまり、エディタではヒューマンリーダブルな形式で書いておいてコンソールにコピペできるので、理解と編集がちょっと楽になる。
 
== 基本的なコマンドと例 ==
 
=== 大きいスクリーンショット ===
 
HD画質のスクリーンショットを取る方法は以下。
 
ファイルはmodsフォルダ同様、[[application directory/ja]]の「script-output」と呼ばれるフォルダに置かれる。
画像はとても巨大になりうる。
<syntaxhighlight lang="lua">
/c game.take_screenshot{<parameter>=<value>,...}
</syntaxhighlight>
 
このコマンドは以下のパラメータを取る。
 
* showgui - Boolean値、 trueかfalse。 TrueならGUIがスクリーンショットに含まれる。
* resolution - xとyを{x = ''<x-size>'', y = ''<y-size>''}の形式で取る。
* show_entity_info - Boolean値、 Trueならalt infoがスクリーンショットに含まれる。
* zoom - ズームレベル。1は通常、2はエリアの半分にズームイン、0.5は倍のエリアにズームアウト、など。
 
例として、以下は1000x1000のスクリーンショットをalt-modeをONにして、でもGUIは表示せず、ズームレベル2で撮る。
<syntaxhighlight lang="lua">
/c game.take_screenshot{resolution = {x = 1000, y = 1000}, zoom = 2, show_entity_info = true}
</syntaxhighlight>
 
=== 計算機として使う ===
<syntaxhighlight lang="lua">
/c game.player.print(1234*5678)
</syntaxhighlight>
 
=== 高速に掘削 ===
<syntaxhighlight lang="lua">
/c game.player.force.manual_mining_speed_modifier=1000
</syntaxhighlight>
 
=== 高速に製作 ===
<syntaxhighlight lang="lua">
/c game.player.force.manual_crafting_speed_modifier=1000
</syntaxhighlight>
 
=== 全研究をアンロックし研究済みに ===
<syntaxhighlight lang="lua">
/c game.player.force.research_all_technologies()
</syntaxhighlight>
 
次節のコマンドでUndo。
 
=== 全研究を未研究に ===
手動で適用されたボーナスはリセットされない。
<syntaxhighlight lang="lua">
/c for _, tech in pairs(game.player.force.technologies) do
tech.researched=false
game.player.force.set_saved_technology_progress(tech, 0)
end
</syntaxhighlight>
=== 強さリセット ===
キル数、生産統計、技術、ボーナス、マップ状況を含む強さを全リセットする。
<syntaxhighlight lang="lua">
/c game.player.force.reset()
</syntaxhighlight>
 
=== 通常よりズームアウトする ===
ズームアウトしすぎるとパフォーマンスに問題を起こしかねないので注意。
<syntaxhighlight lang="lua">
/c game.player.zoom=0.1
</syntaxhighlight>
 
=== プレイ時間 ===
何時間何分何秒プレイしたか教えてくれる。
<syntaxhighlight lang="lua">
/time
</syntaxhighlight>
 
== インベントリ操作 ==
 
=== 資源の補充(油、鉄など) ===
ゲーム内の資源タイルにマウスオーバーした状態で
<syntaxhighlight lang="lua">
/c game.player.selected.amount=7500
</syntaxhighlight>
 
=== プレイヤーのインベントリにアイテム追加 ===
iron-plateの部分を欲しいアイテムの内部名称に置換して使うべし。
<syntaxhighlight lang="lua">
/c game.player.insert{name="iron-plate", count=100}
</syntaxhighlight>
 
例えば、エネルギーシステムのgod-modeインタフェースは以下。
<syntaxhighlight lang="lua">
/c game.player.insert{name="electric-energy-interface"}
</syntaxhighlight>
 
装備品付きで強力アーマーゲットだぜ。
<syntaxhighlight lang="lua">
/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"})
</syntaxhighlight>
 
=== チートモード ===
無限・無料製作。trueをfalseにすれば無効化。
<syntaxhighlight lang="lua">
/c game.player.cheat_mode=true
</syntaxhighlight>
 
== World Manipulation ==
 
=== Reveal the map around the player ===
 
Reveals the map around the player, similar to a [[radar]].
<syntaxhighlight lang="lua">
/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}})
</syntaxhighlight>
or from start position
<syntaxhighlight lang="lua">
/c game.forces.player.chart(game.player.surface, {{x = -2000, y = -2000}, {x = 2000, y = 2000}})
</syntaxhighlight>
Change 150 to the desired radius, higher values take longer.
 
If much of the map is revealed, it increases the size of the save file. The following command cancels the generation of all chunks that are currently queued for generation and removes chunks outside a 32 chunks radius around 0,0. Note that this will remove player entities if there are any on these chunks.
<syntaxhighlight lang="lua">
/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
</syntaxhighlight>
 
=== Turn off night ===
Enables eternal day.
<syntaxhighlight lang="lua">
/c game.player.surface.always_day=true
</syntaxhighlight>
 
=== Change game speed ===
0.5 is half speed, 1 is default, 2 is double speed, etc. Minimum is 0.01. This can be used for a lot of things like when you know you will have to wait for long periods of time for something to complete. Increasing will decrease performance, be careful.
<syntaxhighlight lang="lua">
/c game.speed=X
</syntaxhighlight>
 
=== Expensive (marathon) or normal mode ===
To change from normal to expensive mode preset (this changes the research cost and intermediate product cost):
<syntaxhighlight lang="lua">
/c game.difficulty_settings.recipe_difficulty=1
game.difficulty_settings.technology_difficulty=1
game.difficulty_settings.technology_price_multiplier=4
</syntaxhighlight>
 
To change back to normal:
<syntaxhighlight lang="lua">
/c game.difficulty_settings.recipe_difficulty=0
game.difficulty_settings.technology_difficulty=0
game.difficulty_settings.technology_price_multiplier=1
</syntaxhighlight>
 
=== Freeze Time Passage ===
Stops the advancement of the time if you replace "BOOL" with "true" or unfreezes it if you replace it with "false".
<syntaxhighlight lang="lua">
/c game.player.surface.freeze_daytime=BOOL
</syntaxhighlight>
 
=== Remove all pollution ===
<syntaxhighlight lang="lua">
/c game.player.surface.clear_pollution()
</syntaxhighlight>
 
=== Disable friendly fire for your force ===
<syntaxhighlight lang="lua">
/c game.player.force.friendly_fire = false
</syntaxhighlight>
 
=== Add new resource patch ===
This creates a new 11x11 patch of resources, centered on the player character.
The patch it creates is perfectly square but it randomizes the amount similar to natural generation, with fewer ore at the edges and more ore in the center.
The default numbers result in a patch with 2500-3000 ore.


If you want a larger patch, change "local size = 5" to a larger number.
ベルトは特にアイテムの搬送に用いられ、エネルギーを使わずに稼働する。ベルトは他の動くエンティティ、例えば[[player/ja|プレイヤー]]、[[vehicle/ja|乗り物]]や[[enemies/ja|バイター]]とも干渉でき、動きを速めたり遅めたりする。
A larger patch will have exponentially more ore.
Entering a number above 30 is not recommended.


If you want a richer patch, change "local density = 10" to a larger number.
== 搬送ベルトの種類 ==
Entering a very large number shouldn't hurt anything but you probably don't need to go above 100.


To choose which resource is spawned, change "stone" near the bottom to "iron-ore", "copper-ore", "coal", or "uranium-ore".
以下はFactorioで利用できる搬送ベルト全てのチャート。
<syntaxhighlight lang="lua">
/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
</syntaxhighlight>


=== Add new oil patch ===
{| class="wikitable"
This creates 9 crude oil patches in a 3x3 square.
! [[Transport belts/ja|搬送ベルト]] !!  [[Underground belts/ja|地下搬送ベルト]] !!  [[Splitters/ja|分配器]] !! 最大スループット(アイテム毎[[game-second/ja|秒]]) !! 必要研究 !! 原材料(ベルト1つあたり)
<syntaxhighlight lang="lua">
|-
/c for y=0,2 do
| {{Imagelink|Transport belt|Transport belt/ja|搬送ベルト}}
for x=0,2 do
| {{Imagelink|Underground belt|Underground belt/ja|地下搬送ベルト}}
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}})
| {{Imagelink|Splitter|Splitter/ja|分配器}}
end
| 13.333
end
| [[Logistics (research)/ja|物流学1]]<sup>1</sup>
</syntaxhighlight>
| {{Icon|Time|1}} + {{Icon|Iron plate|3}}
|-
| {{Imagelink|Fast transport belt|Fast transport belt/ja|高速搬送ベルト}}
| {{Imagelink|Fast underground belt|Fast underground belt/ja|高速地下搬送ベルト}}
| {{Imagelink|Fast splitter|Fast splitter/ja|高速分配器}}
| 26.666
| [[Logistics 2 (research)/ja|物流学2]]
| {{Icon|Time|3.5}} + {{Icon|Iron plate|11.5}}
|-
| {{Imagelink|Express transport belt|Express transport belt/ja|超高速搬送ベルト}}
| {{Imagelink|Express underground belt|Express underground belt/ja|超高速地下搬送ベルト}}
| {{Imagelink|Express splitter|Express splitter/ja|超高速分配器}}
| 40.0
| [[Logistics 3 (research)/ja|物流学3]]
| {{Icon|Time|9}} + {{Icon|Iron plate|31.5}} + {{Icon|Lubricant|20}}
|-
|}


or randomly without any collision:
(1) 地下搬送ベルトと分配器のみ。ノーマル搬送ベルトはゲーム開始時から利用可能。
<syntaxhighlight lang="lua">
/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
</syntaxhighlight>


=== Count entities ===
ベルト階級にかかわらず、ぎっしり詰まった搬送ベルトは6~8アイテムを保持できる。詳細は[[Transport_belts/Physics/ja|搬送ベルトの物理]]参照。
Counts all entities whose name includes the string in local entity.
<syntaxhighlight lang="lua">
/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)
</syntaxhighlight>


=== Emptying all pipes and underground pipes ===
== ベルトの階級(Tier) ==
Useful when pipes contain a fluid you dont want.
<syntaxhighlight lang="lua">
/c local surface = game.player.surface
local deleted=0
for key, entity in pairs(surface.find_entities_filtered({force=game.player.force})) do
if string.find(entity.name, "pipe") then
for i=1,#entity.fluidbox do
deleted = deleted + 1
entity.fluidbox[i] = nil;
end
end
end
game.player.print("Pipes emptied: "..deleted)
</syntaxhighlight>


== Enemy/Evolution ==
[[File:Transport_belts_speed.gif|300px|thumb|top|3種のベルトとその速度(上から順に: 通常ベルト、高速ベルト、超高速ベルト)]]
=== Check how far the biters have evolved ===
3種類の階級のベルトが使える。[[transport belt/ja|搬送ベルト]]は黄色くて一番遅いが、同時に一番製造コストが安い。次の階級は赤い[[fast transport belt/ja|高速搬送ベルト]]で、通常の2倍速。[[express transport belt/ja|超高速搬送ベルト]]は最も階級が高く、青色で通常の3倍、もしくは赤ベルトの1.5倍。
Note that commands that do not start with "/c" do not disable achievements.
{{clear}}
<syntaxhighlight lang="lua">
/evolution
</syntaxhighlight>


=== Set evolution factor ===
== ベルト機構 ==
Ranges from 0 (new game) to 1.
<syntaxhighlight lang="lua">
/c game.forces["enemy"].evolution_factor=X
</syntaxhighlight>


=== Disable time-based evolution & increases pollution-based evolution ===
=== ベルトの合流・分岐 ===
<syntaxhighlight lang="lua">
/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
</syntaxhighlight>


The "2" at the end of the last command will double the default pollution factor. You can substitute another number to increase (or decrease) the pollution factor further.
どの階級のベルトも、アイテムが載るレーンを2つ持つ。一種類の素材を2つ流すことも、2つの異なる素材を同じベルトに流すこともできる。混合ベルトは鉱石の精錬や、[[high tech science pack/ja|ハイテクサイエンスパック]]のように多くの異なる原料を要求するアイテムを製造するのに便利。混合ベルトは分配器フィルタで分離できる。地下ベルトは片方を通さないので、地下ベルトを用いて分離することもできる。


=== Kill all biters on the "enemy" force ===
[[File:Transport_belts_2_lanes.gif|top]]&nbsp;&nbsp;&nbsp;[[File:Transport_belts_unmerge.gif|300px|top]]
Note that this will kill only mobile units and worms, spawners will not be killed.
<syntaxhighlight lang="lua">
/c game.forces["enemy"].kill_all_units()
</syntaxhighlight>


=== Kill all enemies ===
合流/分離はよく[[splitter/ja|分配器]]で行われる。2番めのgifに見られる小技については、'''[[Belt_transport_system#ベルトレーン分岐|地下ベルト]]'''節に詳しい。
This will kill all biters, bases and worms. Anything that is an enemy will be completely destroyed. This only affects enemies in the explored world, so any unexplored parts of the map which still need to be generated will still have enemies.
<syntaxhighlight lang="lua">
/c local surface=game.player.surface
for key, entity in pairs(surface.find_entities_filtered({force="enemy"})) do
entity.destroy()
end
</syntaxhighlight>


=== Enable peaceful mode ===
=== レーンバランシング ===
Peaceful mode prevents biter attacks until provoked. Substitute false for true to disable.
<syntaxhighlight lang="lua">
/c game.player.surface.peaceful_mode=true
</syntaxhighlight>


=== Disable biter expansion ===
[[inserters/ja|インサータ]]のベルトへのアイテムの置き方が原因で、レーンが偏ってしまうことがある。スループットを維持するには、レーンバランシングが不可欠だ。以下のgifでは2つのやり方を示す。前者は、最初に1レーンのみが使われている場合のみ機能する。原理についての詳細は、[[Balancer mechanics/ja#レーンバランサ]]を見よ。
This prevents biters from creating new spawners.
<syntaxhighlight lang="lua">
/c game.map_settings.enemy_expansion.enabled=false
</syntaxhighlight>


== Player Character ==
[[File:Transport_belts_balance1.gif|top]]&nbsp;&nbsp;&nbsp;[[File:Transport_belts_balance2.gif|top]]
Commands concerning the player directly.
=== Get Player Position ===
Prints coordinates of your current position.
<syntaxhighlight lang="lua">
/c game.player.print(game.player.position.x .. ", " .. game.player.position.y)
</syntaxhighlight>


=== Teleport player ===
=== ベルトスループット ===
Moves the player to the specified location. You should be able to teleport to a specific player if you obtain their coordinates via them executing the previous command and giving them to you.
[[File:Stack inserters fill express belt.gif|frame|right|[[stack inserter/ja|スタックインサータ]]4つで超高速ベルトを満載できる。左の2つはスタックサイズ12、右の2つはスタックサイズ7。]]
<syntaxhighlight lang="lua">
スループットの最大化は、ベルトを効率化するために重要である。そのため、いくつかの定義を導入しよう。
/c game.player.teleport({X, Y})
</syntaxhighlight>


To teleport to the world's origin, use 0,0.
; 速度(Speed)
: ベルトがどれほど速く動くか。
; 密度(Density)
: アイテムがどれほどぎっちりベルトに載せられているか。 
; スループット(Throughput)
: 速度×密度。所与の時間において、どれほど多くのアイテムが通過するかを表す。


=== Change Player color ===
では、スループットを拡張しうる3つの可能性を見ていこう。
Note that commands that do not start with "/c" do not disable achievements. Replace COLOR with the name of a color. Available names are: Black, blue, brown, cyan, gray, green, orange, pink, purple, red, white, acid and yellow. The color can also be set to an [[:Wikipedia:RGBA_color_space|RGBA value]].
<syntaxhighlight lang="lua">
/color COLOR
/color r g b a
</syntaxhighlight>


=== Enable god mode ===
; 密度の増加
God mode removes your player character allowing you to fly over obstacles and take no damage.
:しばしば、アイテムの間隙に他のアイテムが入れられるほど大きくはないギャップが生じる。しかし、掘削機、インサータ、ベルトのサイドローディングではベルト上のアイテムを一時的に押し込めることで、そうした隙間にもアイテムを無理やり詰め込むことができる。押し込められた隙間は、ベルト前方が再び動き始めたときに通常のサイズまで拡張される。
; 速度の増加
:工場内のベルトがすでに最大の密度だとしても、よりよいベルトにアップグレードして速度を改善できる可能性がある。まず最初にしなければならないのはボトルネックを探すことで、たいていすぐ見つかる。アイテムが高速に(もしくは全く)動かない、もしくは最大密度で停止しているような部分があり、そしてこの「進んでは止まる」状態が突如として解消される箇所もあるだろう。そこがボトルネックだ。大概の場合、こここそがベルト最適化を必要とする場所だ。
; ベルトの増加
:さらなる並列ベルトの追加によってもスループットを向上できる。単純な話、スループットが必要なアイテムを運ぶベルトはたくさん置こう。


Disassociate your controls from the player:
=== ベルト便利ワザ ===
<syntaxhighlight lang="lua">
/c game.player.character=nil
</syntaxhighlight>


Then, hover the mouse over the useless player and destroy it by typing:
敵の襲撃に防御が間に合うためには、高速に移動できることが重要だ。ベルト上を走ると、ベルトの速度に応じて[[player/ja|プレイヤー]]の移動速度が早まったり遅くなったりする。だから、[[defense/ja|防衛拠点]]に向けてベルトを張り巡らせておくと良い。
<syntaxhighlight lang="lua">
/c game.player.selected.destroy()
</syntaxhighlight>


To undo, spawn a player character. This will spawn a new player at the spawn point of the world, and connect your controls to it.
一方で、プレイヤーのみがベルト上を移動できるわけではない。バイターやスピッターも移動できる。これを悪用して防衛を強化できる。まず、超高速搬送ベルトを壁の前に設置しておくことで、バイターが防壁にたどり着くまでの時間を引き伸ばせる。次に、スピッターを壁の近くに移動できる。こうすれば、より多くのタレットが一度に1体のスピッターを攻撃できる。
<syntaxhighlight lang="lua">
/c game.player.create_character()
</syntaxhighlight>


== Research ==
ほかの便利な利用法としては、搬送ベルトに[[car/ja|自動車]]を載せることもできる。自動車はインベントリを持ち、[[inserters/ja|インサータ]]で積み込める。つまり、ベルト上を動く箱として利用できる。これにはいくつかのアドバンテージがあり、第一にこの自動車回転寿司のスループットは極めて高い。第二に、インサータスタックサイズボーナスが適用されるので、インサータがより効率的になる。
=== Enable faster research ===
<syntaxhighlight lang="lua">
/c game.player.force.laboratory_speed_modifier=1
</syntaxhighlight>
1 is normal speed, 2 is double speed 3 is triple etc. I think it goes up to 100.


=== Researching specific technologies ===
== 分配器(Splitter) ==
The internal technology names can be found in the infoboxes on their respective pages, click on the little arrow to show them.
<syntaxhighlight lang="lua">
/c game.player.force.technologies['electric-energy-distribution-1'].researched=true
/c game.player.force.technologies['steel-processing'].researched=true
</syntaxhighlight>


=== Unresearching specific technologies ===
[[Splitters/ja|分配器]]は別の形でアイテムを操作する。分配器は2x1の大きさで、2つまでの入力ベルトからやってきたアイテムを2つまでの出力ベルトに1:1の比で分配する。資源を2本のベルトに分けたり、複数のベルトをバランシングしたりするのに用いられる。
The internal technology names can be found in the infoboxes on their respective pages, click on the little arrow to show them.
<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['steel-processing'].researched=false; game.player.force.set_saved_technology_progress('steel-processing', 0)
</syntaxhighlight>


=== Enabling specific recipes ===
=== 機構 ===
The internal recipe/item names can be found in the infoboxes on their respective pages, click on the little arrow to show them.
<syntaxhighlight lang="lua">
/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
</syntaxhighlight>


Enable all recipes
分配器の挙動は一見単純だ。しかし実のところ、事はそれほど単純でもない。分配器には驚くほど多くの活用法がある。
<syntaxhighlight lang="lua">
/c for name, recipe in pairs(game.player.force.recipes) do recipe.enabled = true end
</syntaxhighlight>


=== Finish research immediately ===
* 分配器は入出力ベルトを2つずつ持つ。1本のベルトからアイテムを受け取った場合、2本の出力に均等に分配する。
<syntaxhighlight lang="lua">
* もし片方の出力が完全に詰まっていて、均等に分配できない場合、すべての入力を空いている方の出力ベルトに流す。
/c for name,technology in pairs(game.player.force.technologies) do technology.researched=technology.enabled end
* 分配器は、2本の入力に対し1本の出力しか持たないこともできる。
</syntaxhighlight>
* 分配器はアイテムのレーンを保存する。右レーンのアイテムを左レーンに移動することはなく、逆もまた然り。
* 分配器は片方の入出力を優先できる。分配器をクリックしてGUIを開くことで、優先度を設定できる。
* 分配器の出力ベルト1本を1種類のアイテムにフィルタリングできる。そのアイテムのみがその出力に流れ、それ以外はもう片方に流れるようになる。フィルタが設定されていると、その側の出力ベルトが優先される。


== Command Line Parameters ==
ベルトを結合/分割するには、分配器が入力ベルトと同じ速さでなければならず、さもなくば分配器がボトルネックと化す。
'''As of Game Version 0.15.13'''


Command line parameters can be used to set settings in the command line before the game launches, this is useful mainly for advanced users or server hosts.
==== 優先度 ====
分配器の入力側も出力側も、左右どちらかを優先できる。


General options:
入力優先度が設定された分配器は、その側の入力を先に利用しようとし、優先入力ベルトが空いているときのみもう片方を利用する。
  -h [ --help ]                      display help
  --version                          show version information
  -v [ --verbose ]                  enable verbose logging
  -c [ --config ] PATH              config file to use
  --no-log-rotation                  don't rotate log file
  --mod-directory PATH              Mod directory to use
  --check-unused-prototype-data      Print a warning for all prototype values that were not accessed


Running options:
同様に、出力優先度が設定された分配器もすべての入力をその側に流そうとし、優先出力ベルトが詰まっているときのみもう片方に出力する。
  -s [ --map2scenario ] arg          map to scenario conversion
  -m [ --scenario2map ] arg          scenario to map conversion
  --apply-update arg                immediately apply update package
  --create FILE                      create a new map
  --map-gen-settings FILE            Map generation settings for use with --create. See data/map-gen-settings.example.json
  --map-settings FILE                Map settings for use with --create. See data/base/prototypes/map-settings.lua
  --preset arg                      Name of the map generation preset to be used.
  --generate-map-preview FILE        Generate preview images of the map
  --map-preview-size SCALE (=1,024)  Size (in pixels) of map preview
  --map-preview-scale SCALE (=1)    Scale (meters per pixel) of map preview
  --map-preview-offset X,Y (=0,0)    Offset of the center of the map, in meters
  --start-server FILE                start a multiplayer server
  --start-server-load-scenario FILE  start a multiplayer server and load the specified scenario
  --start-server-load-latest        start a multiplayer server and load the latest available save
  --until-tick TICK                  run a save until given map tick
  --mp-connect ADDRESS              start factorio and connect to address
  --load-game FILE                  start Factorio and load a game in singleplayer
  --benchmark FILE                  load save and run benchmark
  --benchmark-ticks N (=1,000)      number of ticks for benchmarking. Default is 1000
  --force-opengl                    use OpenGL for rendering
  --force-d3d                        use Direct3D for rendering
  --fullscreen BOOL                  start game in windowed mode (saved to configuration)
  --max-texture-size N              maximal size of texture that the game can use (saved to configuration). Should be power of two greater than 2048
  --graphics-quality arg            accepted values: normal, low, very-low
  --video-memory-usage arg          accepted values: all, high, medium, low
  --gfx-safe-mode                    resets some graphics settings to values that should work on most configurations
  --shader arg                      enable/disable shader postprocessing (saved to configuration)
  --disable-audio                    Disable audio. Mainly for faster startup during development.


Server options:
==== フィルタ ====
  --port N                          network port to use
分配器のフィルタスロットに特定のアイテムが設定されている場合、出力優先度のスライダーはフィルタ用になる。設定された種別のアイテムはすべてその出力に流され、他のアイテムは全てもう一方に流される。入力優先度はフィルタと独立して設定できる。
  --bind ADDRESS[:PORT]              IP address (and optionally port) to bind to
  --rcon-port N                      Port to use for RCON
  --rcon-password PASSWORD          Password for RCON
  --server-settings FILE            Path to file with server settings. See data/server-settings.example.json
  --server-whitelist FILE            Path to file with server whitelist.
  --server-banlist FILE              Path to file with server banlist.
  --console-log FILE                Path to file where a copy of the server's log will be stored
  --server-id FILE                  Path where server ID will be stored or read from


=== Multiplayer ===
=== バランシング ===


  --start-server SAVE
{{Main|Balancer mechanics/ja|l1=バランシング機構}}


Will start a Headless (Dedicated) server, with no GUI.
分配器は、複数本のベルトや複数個のベルトレーンを均等に分配するためにも利用できる。


  --mp-connect ADDRESS
=== ベルトレーン操作 ===
ADDRESS is the IP:port of the remote host. Port is optional.
<gallery mode="slideshow">
Examples:
File:Swap_belt_lanes.png|レーンごとに異なるアイテムが載ったベルトのレーンを入れ替えている。
File:Splitter_seperate_belt_lanes.png|異なるアイテムが載ったレーンを分割する。
</gallery>


  ./factorio --mp-connect 192.168.1.101
== 地下搬送ベルト(Underground belt) ==
  ./factorio --mp-connect 192.168.1.101:2345


As above, port can be specified by placing the port number after a colon in the address.
Underground belts can be used to cross different flows of items without interfering. They move items like a [[Transport belts/ja|通常のベルト]].


  --map2scenario SAVE
* Underground belts can cross any number of entities and all types of ground, like water and grass. (as long as the input and output endpoints are on land)
Converts a save game to a User Scenario, allows saved game state to be loaded into map editor.
* Underground belts can cross other underground entities (any number of underground belts or underground pipes). They won't be mixed.
Assuming that save game name is "foo.zip", executing './factorio --map2scenario s1' will result in Factorio loading, opening the save file, and saving the scenario into the scenario folder.
* For the connection only the endpoints (entry-side and exit-side) are relevant.
* The maximum distance underground is 8 [[tile/ja|tile]]s with [[express underground belt/ja|超高速地下搬送ベルト]]s.
* An underground belt pair of that bridges a gap of 4 tiles stores up to 44 items. An express underground belt pair at max length stores up to 72 items.
* The half of the underground belt tile with a belt can accept input from the side. The other half (with a tunnel entrance) blocks incoming items.


== Modding tools ==
=== ベルトレーン分岐 ===
A list of the internal names of most things in the vanilla game can also be found on [[data.raw]].
<gallery mode="slideshow">
=== Write all researched technologies to file ===
File:Block belt lane.png|This is built by placing one underground belt and then using R to reverse its direction. This converts the underground belt entrance to an exit (and vice versa).
<syntaxhighlight lang="lua">
File:Transport belts unmerge.gif|This can also be used to split the lanes of a belt onto seperate belts instead of using a splitter filter.
/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)
</syntaxhighlight>


=== Write all enabled recipes to file ===
</gallery>
<syntaxhighlight lang="lua">
/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)
</syntaxhighlight>


== See also ==
== 関連項目 ==
* [[Splitters/ja|分配器]]
* [[Transport belts/ja|搬送ベルト]]
* [[Underground belts/ja|地下搬送ベルト]]


* http://lua-api.factorio.com/latest/ - Factorio API reference for latest version
<nowiki>{{C|Belt transport system}}</nowiki>

Latest revision as of 16:19, 24 September 2023

作業場/workspace 日本語話者の方、マサカリ投げてくださると助かります


ベルト輸送システム(Belt transport system)は、アイテムを異なる場所の間で輸送するためにプレイヤーが最初に触れることとなるシステム。列車物流ロボットと並んで、Factorioにおけるアイテム輸送システムを構成している。 (訳注:0.16現在、"transport"は搬送ベルトについてのみ「搬送」と訳され、それ以外に於いては「輸送」と訳されている。以下では固有名詞以外は「輸送」に統一する)

ベルトは特にアイテムの搬送に用いられ、エネルギーを使わずに稼働する。ベルトは他の動くエンティティ、例えばプレイヤー乗り物バイターとも干渉でき、動きを速めたり遅めたりする。

搬送ベルトの種類

以下はFactorioで利用できる搬送ベルト全てのチャート。

搬送ベルト 地下搬送ベルト 分配器 最大スループット(アイテム毎) 必要研究 原材料(ベルト1つあたり)
Transport belt.png
搬送ベルト
Underground belt.png
地下搬送ベルト
Splitter.png
分配器
13.333 物流学11
Time.png
1
+
Iron plate.png
3
Fast transport belt.png
高速搬送ベルト
Fast underground belt.png
高速地下搬送ベルト
Fast splitter.png
高速分配器
26.666 物流学2
Time.png
3.5
+
Iron plate.png
11.5
Express transport belt.png
超高速搬送ベルト
Express underground belt.png
超高速地下搬送ベルト
Express splitter.png
超高速分配器
40.0 物流学3
Time.png
9
+
Iron plate.png
31.5
+
Lubricant.png
20

(1) 地下搬送ベルトと分配器のみ。ノーマル搬送ベルトはゲーム開始時から利用可能。

ベルト階級にかかわらず、ぎっしり詰まった搬送ベルトは6~8アイテムを保持できる。詳細は搬送ベルトの物理参照。

ベルトの階級(Tier)

3種のベルトとその速度(上から順に: 通常ベルト、高速ベルト、超高速ベルト)

3種類の階級のベルトが使える。搬送ベルトは黄色くて一番遅いが、同時に一番製造コストが安い。次の階級は赤い高速搬送ベルトで、通常の2倍速。超高速搬送ベルトは最も階級が高く、青色で通常の3倍、もしくは赤ベルトの1.5倍。

ベルト機構

ベルトの合流・分岐

どの階級のベルトも、アイテムが載るレーンを2つ持つ。一種類の素材を2つ流すことも、2つの異なる素材を同じベルトに流すこともできる。混合ベルトは鉱石の精錬や、ハイテクサイエンスパックのように多くの異なる原料を要求するアイテムを製造するのに便利。混合ベルトは分配器フィルタで分離できる。地下ベルトは片方を通さないので、地下ベルトを用いて分離することもできる。

Transport belts 2 lanes.gif   Transport belts unmerge.gif

合流/分離はよく分配器で行われる。2番めのgifに見られる小技については、地下ベルト節に詳しい。

レーンバランシング

インサータのベルトへのアイテムの置き方が原因で、レーンが偏ってしまうことがある。スループットを維持するには、レーンバランシングが不可欠だ。以下のgifでは2つのやり方を示す。前者は、最初に1レーンのみが使われている場合のみ機能する。原理についての詳細は、Balancer mechanics/ja#レーンバランサを見よ。

Transport belts balance1.gif   Transport belts balance2.gif

ベルトスループット

スタックインサータ4つで超高速ベルトを満載できる。左の2つはスタックサイズ12、右の2つはスタックサイズ7。

スループットの最大化は、ベルトを効率化するために重要である。そのため、いくつかの定義を導入しよう。

速度(Speed)
ベルトがどれほど速く動くか。
密度(Density)
アイテムがどれほどぎっちりベルトに載せられているか。
スループット(Throughput)
速度×密度。所与の時間において、どれほど多くのアイテムが通過するかを表す。

では、スループットを拡張しうる3つの可能性を見ていこう。

密度の増加
しばしば、アイテムの間隙に他のアイテムが入れられるほど大きくはないギャップが生じる。しかし、掘削機、インサータ、ベルトのサイドローディングではベルト上のアイテムを一時的に押し込めることで、そうした隙間にもアイテムを無理やり詰め込むことができる。押し込められた隙間は、ベルト前方が再び動き始めたときに通常のサイズまで拡張される。
速度の増加
工場内のベルトがすでに最大の密度だとしても、よりよいベルトにアップグレードして速度を改善できる可能性がある。まず最初にしなければならないのはボトルネックを探すことで、たいていすぐ見つかる。アイテムが高速に(もしくは全く)動かない、もしくは最大密度で停止しているような部分があり、そしてこの「進んでは止まる」状態が突如として解消される箇所もあるだろう。そこがボトルネックだ。大概の場合、こここそがベルト最適化を必要とする場所だ。
ベルトの増加
さらなる並列ベルトの追加によってもスループットを向上できる。単純な話、スループットが必要なアイテムを運ぶベルトはたくさん置こう。

ベルト便利ワザ

敵の襲撃に防御が間に合うためには、高速に移動できることが重要だ。ベルト上を走ると、ベルトの速度に応じてプレイヤーの移動速度が早まったり遅くなったりする。だから、防衛拠点に向けてベルトを張り巡らせておくと良い。

一方で、プレイヤーのみがベルト上を移動できるわけではない。バイターやスピッターも移動できる。これを悪用して防衛を強化できる。まず、超高速搬送ベルトを壁の前に設置しておくことで、バイターが防壁にたどり着くまでの時間を引き伸ばせる。次に、スピッターを壁の近くに移動できる。こうすれば、より多くのタレットが一度に1体のスピッターを攻撃できる。

ほかの便利な利用法としては、搬送ベルトに自動車を載せることもできる。自動車はインベントリを持ち、インサータで積み込める。つまり、ベルト上を動く箱として利用できる。これにはいくつかのアドバンテージがあり、第一にこの自動車回転寿司のスループットは極めて高い。第二に、インサータスタックサイズボーナスが適用されるので、インサータがより効率的になる。

分配器(Splitter)

分配器は別の形でアイテムを操作する。分配器は2x1の大きさで、2つまでの入力ベルトからやってきたアイテムを2つまでの出力ベルトに1:1の比で分配する。資源を2本のベルトに分けたり、複数のベルトをバランシングしたりするのに用いられる。

機構

分配器の挙動は一見単純だ。しかし実のところ、事はそれほど単純でもない。分配器には驚くほど多くの活用法がある。

  • 分配器は入出力ベルトを2つずつ持つ。1本のベルトからアイテムを受け取った場合、2本の出力に均等に分配する。
  • もし片方の出力が完全に詰まっていて、均等に分配できない場合、すべての入力を空いている方の出力ベルトに流す。
  • 分配器は、2本の入力に対し1本の出力しか持たないこともできる。
  • 分配器はアイテムのレーンを保存する。右レーンのアイテムを左レーンに移動することはなく、逆もまた然り。
  • 分配器は片方の入出力を優先できる。分配器をクリックしてGUIを開くことで、優先度を設定できる。
  • 分配器の出力ベルト1本を1種類のアイテムにフィルタリングできる。そのアイテムのみがその出力に流れ、それ以外はもう片方に流れるようになる。フィルタが設定されていると、その側の出力ベルトが優先される。

ベルトを結合/分割するには、分配器が入力ベルトと同じ速さでなければならず、さもなくば分配器がボトルネックと化す。

優先度

分配器の入力側も出力側も、左右どちらかを優先できる。

入力優先度が設定された分配器は、その側の入力を先に利用しようとし、優先入力ベルトが空いているときのみもう片方を利用する。

同様に、出力優先度が設定された分配器もすべての入力をその側に流そうとし、優先出力ベルトが詰まっているときのみもう片方に出力する。

フィルタ

分配器のフィルタスロットに特定のアイテムが設定されている場合、出力優先度のスライダーはフィルタ用になる。設定された種別のアイテムはすべてその出力に流され、他のアイテムは全てもう一方に流される。入力優先度はフィルタと独立して設定できる。

バランシング

Main article: Balancer mechanics/ja

分配器は、複数本のベルトや複数個のベルトレーンを均等に分配するためにも利用できる。

ベルトレーン操作

地下搬送ベルト(Underground belt)

Underground belts can be used to cross different flows of items without interfering. They move items like a 通常のベルト.

  • Underground belts can cross any number of entities and all types of ground, like water and grass. (as long as the input and output endpoints are on land)
  • Underground belts can cross other underground entities (any number of underground belts or underground pipes). They won't be mixed.
  • For the connection only the endpoints (entry-side and exit-side) are relevant.
  • The maximum distance underground is 8 tiles with 超高速地下搬送ベルトs.
  • An underground belt pair of that bridges a gap of 4 tiles stores up to 44 items. An express underground belt pair at max length stores up to 72 items.
  • The half of the underground belt tile with a belt can accept input from the side. The other half (with a tunnel entrance) blocks incoming items.

ベルトレーン分岐

関連項目

{{C|Belt transport system}}