In anderen Sprachen: English 日本語 한국어 Русский 简体中文

Console/de: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(Translated Player character scripts to the end)
Line 55: Line 55:


Du kannst LUA-Sripte direkt in der Kommandozeile eingeben. Es ist ein sehr mächtiges Werkzeug!
Du kannst LUA-Sripte direkt in der Kommandozeile eingeben. Es ist ein sehr mächtiges Werkzeug!
== Spieler-Charakter-Skripts ==
Befehle, die direkt den Spieler betreffen.
=== Erhalte die Spieler-Position ===
Druckt die Koordinaten Deiner gegenwärtigen Position.
<syntaxhighlight lang="lua">
/c game.player.print(game.player.position.x .. ", " .. game.player.position.y)
</syntaxhighlight>
=== Spieler teleportieren ===
Bewegt den Spieler an die angegebene Position. Es sollte möglich sein zu einem spezifischen Spieler zu teleportieren, wenn Du dessen Koordinaten erhältst, indem sie den vorangegangenen Befehl ausführen und Dir ihre Koordinaten geben.
<syntaxhighlight lang="lua">
/c game.player.teleport({X, Y})
</syntaxhighlight>
Um zum Ursprung der Welt zu teleportieren benutze 0,0.
=== Aktiviere Gott-Modus ===
Der "Gott-Modus" (God mode) entfernt den charakter des Spielers, so dass er über Hindernisse hinwegfliegen kann und keinen Schaden nimmt.
Trenne deine Steuerung vom Charakter und zerstöre ihn:
<syntaxhighlight lang="lua">
/c game.player.character.destroy()
</syntaxhighlight>
Zum Rückgängigmachen, erzeuge einen Spieler-Charakter. Dies wird einen neuen Charakter am Startpunkt der Welt erzeugen und deine Steuerung damit verbinden.
<syntaxhighlight lang="lua">
/c game.player.create_character()
</syntaxhighlight>
=== Ermögliche lange Reichweite ===
Ermöglicht lange Reichweite, was dem Spieler erlaubt Gebäude in größerer Entfernung zu bauen und mit ihnen zu interagieren. Der Standard ist 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>
=== Finde Spieler-Leiche ===
Meldet Spieler-Leichen auf der Karte.
<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 .. " --> [gps=" .. corpse.position.x .. "," .. corpse.position.y .. "]")
end
</syntaxhighlight>
=== Schneller laufen ===
<syntaxhighlight lang="lua">
/c game.player.character_running_speed_modifier=3
</syntaxhighlight>
== Forschungs-Skripts ==
=== Ermögliche schnellere Forschung ===
<syntaxhighlight lang="lua">
/c game.player.force.laboratory_speed_modifier=1
</syntaxhighlight>
-0.5 ist halbe Geschwindigkeit, 0 ist normale Geschwindigkeit, 1 ist doppelte Geschwindigkeit, 2 is dreifache usw.
=== Erforsche eine bestimmte Technologie ===
Die internen Namen der Technologien stehen auf der jeweiligen Seite in der Infobox.
<syntaxhighlight lang="lua">
/c game.player.force.technologies['electric-energy-distribution-1'].researched=true
/c game.player.force.technologies['steel-processing'].researched=true
</syntaxhighlight>
Um ein höheres Level einer unendlichen Technologie zu erforschen, muss das Level spezifiziert werden:
<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>
=== Unerforsche eine bestimmte Technologie ===
Die internen Namen der Technologien stehen auf der jeweiligen Seite in der Infobox.
<syntaxhighlight lang="lua">
/c game.player.force.technologies['electric-energy-distribution-1'].researched=false
/c game.player.force.technologies['steel-processing'].researched=false
</syntaxhighlight>
=== Aktiviere ein bestimmtes Rezept ===
Die internen Namen der Rezepte/Gegenstände stehen auf der jeweiligen Seite in der Infobox.
<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
/c game.player.force.recipes["fast-loader"].enabled = true
/c game.player.force.recipes["express-loader"].enabled = true
</syntaxhighlight>
=== Aktiviere alle Rezepte ===
<syntaxhighlight lang="lua">
/c for name, recipe in pairs(game.player.force.recipes) do recipe.enabled = true end
</syntaxhighlight>
=== Technologie-Effekte auf Standard zurücsetzen ===
Dies wird den Status aller aktivierten/freigeschalteten Rezepte zurücksetzen, so dass sie ausschließlich auf den derzeit erforschten Technologien basieren. Auch wird es andere Technologie-Effekte wie Abbautempo usw. zurücksetzen. Alle manuellen Änderungen dieser Effekte und Rezepte werden rückgängig gemacht.
<syntaxhighlight lang="lua">
/c game.player.force.reset_technology_effects()
</syntaxhighlight>
Hinweis: Dies kann schnell Abhilfe schaffen, wenn Rezepte nach Hinzufügen oder Ändern einer Mod nicht verfügbar sind, obwohl die Technologie, die sie freischaltet schon erforscht ist.
== Modding werkzeuge ==
Eine Liste der internen Namen der meisten Dinge im Basis-Spiel können unter [[data.raw]] gefunden werden.
=== Zugriff auf Daten einer Mod ===
Wenn das erste Word eines Befehls __mod-name__ ist, wird er im Inhalt der Mod mit dem selben Namen ausgeführt. Zum Beispiel würde folgender Befehl die Daten von Resource Spawner Overhaul ausdrucken:
<syntaxhighlight lang="lua">
/c __even-distribution__ game.player.print(serpent.dump(global))
</syntaxhighlight>
=== Drucke die Kachel unter dem Spieler in die Konsole ===
<syntaxhighlight lang="lua">
/c game.player.print(game.player.surface.get_tile(game.player.position).name)
</syntaxhighlight>
=== Schreibe alle erforschten Tecnologien in eine Datei ===
<syntaxhighlight lang="lua">
/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>
=== Schreibe alle aktivierten Rezepte in eine Datei ===
<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>
=== Schreibe Mod-Liste in eine Datei ===
Schreibe alle derzeit aktiven Mods und ihre Version in die Datei script-output/mods.txt in das {{L|User data directory}}.
<syntaxhighlight lang="lua">
/c game.write_file("mods.txt", serpent.block(game.active_mods))
</syntaxhighlight>
== Siehe auch ==
* {{L|Command line parameters}}
* http://lua-api.factorio.com/latest/ - Verweis auf die aktuellste Version der Factorio API
{{C|Technical}}

Revision as of 07:43, 16 October 2023


Allgemein

Den Chat kann man im Spiel für folgendes nutzen:

  • Chatten mit anderen Spielern
  • Kommandos ausführen / scripts / cheats
  • Manchmal für Statusupdates

Es gibt drei Kommandotypen:

  • Mehrspieler - Nachrichten banns etc.
  • Informationen - zeigt verschiedene Informationen über das aktuelle Spiel.
  • Scripts/Cheats - Führt einen kurzen LUA-Befehl aus (ACHTUNG: Wenn du ein Script ausführst kannst du keine Errungenschaften mehr freischalten!!!)


Benutzen der Konsole

Die Sichtbarkeit der Konsole kannst du mit / oder mit ~ ändern

Du kannst die Hotkeys via Einstellungen -> Tastaturbelegung -> Lua-Konsole öffnen ändern. Wenn du die Konsole öffnest siehst du einen blinkenden Zeiger am unterem Rand vom Bildschirm, gib deine Nachricht oder dein Kommando ein und drücke Enter um es zu senden (hierdurch schliest sich die Konsole). Eine Dokumentation über Nachrichten und Kommandos findest du weiter unten im Artikel.

Mehrspieler Chat

Privater Chat

Um private Nachrichten an einen bestimmmten Spieler zu senden musst du das Kommando /whisper oder /w

/whisper <playerId> <message>

Mit /reply oder /r kannst du dem Spieler schreiben, der dir als letztes geschrieben hat.

/reply message

Teamchat

Ab version 0.14.4 funktioert der Teamchat so:

Hallo team!
/s Hallo spieler!
/shout ist das selbe wie /s

In der version 0.14.3 und früher funktioniert der Teamchat so:

Hallo Spieler!
/team Hallo team!

Das waren die Chat-Grundlagen für mehr Infos gebe /help in die Konsole ein.

Commands

Um eine Liste von allen verfügbaren Kommandos zu sehen gebe /help oder /h. Die Anzahl/Funktionen der Kommandos variieren je nach Version des Spiels.

Scripts und Cheats

Du kannst LUA-Sripte direkt in der Kommandozeile eingeben. Es ist ein sehr mächtiges Werkzeug!

Spieler-Charakter-Skripts

Befehle, die direkt den Spieler betreffen.

Erhalte die Spieler-Position

Druckt die Koordinaten Deiner gegenwärtigen Position.

/c game.player.print(game.player.position.x .. ", " .. game.player.position.y)

Spieler teleportieren

Bewegt den Spieler an die angegebene Position. Es sollte möglich sein zu einem spezifischen Spieler zu teleportieren, wenn Du dessen Koordinaten erhältst, indem sie den vorangegangenen Befehl ausführen und Dir ihre Koordinaten geben.

/c game.player.teleport({X, Y})

Um zum Ursprung der Welt zu teleportieren benutze 0,0.

Aktiviere Gott-Modus

Der "Gott-Modus" (God mode) entfernt den charakter des Spielers, so dass er über Hindernisse hinwegfliegen kann und keinen Schaden nimmt.

Trenne deine Steuerung vom Charakter und zerstöre ihn:

/c game.player.character.destroy()

Zum Rückgängigmachen, erzeuge einen Spieler-Charakter. Dies wird einen neuen Charakter am Startpunkt der Welt erzeugen und deine Steuerung damit verbinden.

/c game.player.create_character()

Ermögliche lange Reichweite

Ermöglicht lange Reichweite, was dem Spieler erlaubt Gebäude in größerer Entfernung zu bauen und mit ihnen zu interagieren. Der Standard ist 10.

/c local reach = 10000
game.player.force.character_build_distance_bonus = reach
game.player.force.character_reach_distance_bonus = reach

Finde Spieler-Leiche

Meldet Spieler-Leichen auf der Karte.

/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 .. " --> [gps=" .. corpse.position.x .. "," .. corpse.position.y .. "]")
end

Schneller laufen

/c game.player.character_running_speed_modifier=3

Forschungs-Skripts

Ermögliche schnellere Forschung

/c game.player.force.laboratory_speed_modifier=1

-0.5 ist halbe Geschwindigkeit, 0 ist normale Geschwindigkeit, 1 ist doppelte Geschwindigkeit, 2 is dreifache usw.

Erforsche eine bestimmte Technologie

Die internen Namen der Technologien stehen auf der jeweiligen Seite in der Infobox.

/c game.player.force.technologies['electric-energy-distribution-1'].researched=true
/c game.player.force.technologies['steel-processing'].researched=true

Um ein höheres Level einer unendlichen Technologie zu erforschen, muss das Level spezifiziert werden:

/c game.player.force.technologies['worker-robots-speed-6'].level = 100
/c game.player.force.technologies['mining-productivity-4'].level = 100

Unerforsche eine bestimmte Technologie

Die internen Namen der Technologien stehen auf der jeweiligen Seite in der Infobox.

/c game.player.force.technologies['electric-energy-distribution-1'].researched=false
/c game.player.force.technologies['steel-processing'].researched=false

Aktiviere ein bestimmtes Rezept

Die internen Namen der Rezepte/Gegenstände stehen auf der jeweiligen Seite in der 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

Aktiviere alle Rezepte

/c for name, recipe in pairs(game.player.force.recipes) do recipe.enabled = true end

Technologie-Effekte auf Standard zurücsetzen

Dies wird den Status aller aktivierten/freigeschalteten Rezepte zurücksetzen, so dass sie ausschließlich auf den derzeit erforschten Technologien basieren. Auch wird es andere Technologie-Effekte wie Abbautempo usw. zurücksetzen. Alle manuellen Änderungen dieser Effekte und Rezepte werden rückgängig gemacht.

/c game.player.force.reset_technology_effects()

Hinweis: Dies kann schnell Abhilfe schaffen, wenn Rezepte nach Hinzufügen oder Ändern einer Mod nicht verfügbar sind, obwohl die Technologie, die sie freischaltet schon erforscht ist.

Modding werkzeuge

Eine Liste der internen Namen der meisten Dinge im Basis-Spiel können unter data.raw gefunden werden.

Zugriff auf Daten einer Mod

Wenn das erste Word eines Befehls __mod-name__ ist, wird er im Inhalt der Mod mit dem selben Namen ausgeführt. Zum Beispiel würde folgender Befehl die Daten von Resource Spawner Overhaul ausdrucken:

/c __even-distribution__ game.player.print(serpent.dump(global))

Drucke die Kachel unter dem Spieler in die Konsole

/c game.player.print(game.player.surface.get_tile(game.player.position).name)

Schreibe alle erforschten Tecnologien in eine Datei

/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)

Schreibe alle aktivierten Rezepte in eine Datei

/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)

Schreibe Mod-Liste in eine Datei

Schreibe alle derzeit aktiven Mods und ihre Version in die Datei script-output/mods.txt in das User data directory.

/c game.write_file("mods.txt", serpent.block(game.active_mods))

Siehe auch