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

Console/de: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
m (Categorize into modding)
 
(4 intermediate revisions by one other user not shown)
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!
== Feinde/Evolutions-Skripts ==
=== Setze Evolutions-Faktor ===
Der Wert reicht von 0 (neues Spiel) bis 1.
<syntaxhighlight lang="lua">
/c game.forces["enemy"].evolution_factor=X
</syntaxhighlight>
=== Deaktiviere Zeit basierte Evolution & Erhöhe Verschmutzungs basierte 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>
Die "2" am Ende des letzten Befehls wird den standard Veschmutzungs-Faktor verdoppeln. Du kannst eine andere Zahl einsetzen um den Verschmutzungs-Faktor weiter zu erhöhen (oder zu verringern).
=== Töte alle Beißer in der Feinde-Partei ===
Beachte das dies nur alle beweglichen Einheiten tötet, Nester werden nicht getötet.
<syntaxhighlight lang="lua">
/c game.forces["enemy"].kill_all_units()
</syntaxhighlight>
=== Töte alle Feinde ===
Dies wird alle Beißer, Nester und Würmer töten. Alles was ein Feind ist wird vollständig zerstört. Dies betrifft nur Feinde in der generierten Welt, also werden unendteckte Teile der Karte die noch generiert werden müssen werden trotzdem Feinde enthalten. Wenn gewünscht kannst du [[#Feinde in neu generierten Chunks verhindern|Feinde in neu generierten Chunks verhindern]].
<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>
=== Töte alle Feinde in der Nähe ===
Dies wird alle Beißer, Nester und Würmer in einem konfigurierbaren Radius töten. Der Standard, 250 Kacheln, entspricht in etwa der doppelten Breite eines herausgezoomten Full-HD Bildschirms. Nach der Zerstörung wird angezeigt, wie viele Objekte zerstört wurden.
<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>
=== Aktiviere/Deaktiviere friedlichen Modus ===
Der friedliche Modus verhindert Anriffe von Feinden, bis sie provoziert werden. Ersetze true durch false um ihn zu deaktivieren. Bereits existierende Feinde sind nicht von diesem Befehl betroffen, so dass Attacken noch eine Weile nach Aktivierung des friedlichen Modus andauern können.
<syntaxhighlight lang="lua">
/c game.player.surface.peaceful_mode = true
</syntaxhighlight>
=== Aktiviere/Deaktiviere Feinde-Expansion ===
Feinde-Expansion erlabut es Feinden neue Nester zu bauen. Es ist dtandardmäßg aktiviert. Ersetze true durch false um es zu deaktivieren.
<syntaxhighlight lang="lua">
/c game.map_settings.enemy_expansion.enabled = true
</syntaxhighlight>
=== Feinde in neu generierten Chunks verhindern ===
In neu generierten Chunks kommen keine Feinde vor, allerdings alle derzeit vorhandenen Feinde sind davon nicht betroffen. Hat den gleichen Effekt wie die Größe der Feindbasen in den Geländeeinstellungen während der Kartengenerierung zu deaktivieren, aber wird durch [[#Ändern der Kartengenerierungs-Einstellungen|Ändern der Kartengenerierungs-Einstellungen]] während des Spiels erreicht.
<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>
== 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|Modding}}

Latest revision as of 14:13, 4 December 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!

Feinde/Evolutions-Skripts

Setze Evolutions-Faktor

Der Wert reicht von 0 (neues Spiel) bis 1.

/c game.forces["enemy"].evolution_factor=X

Deaktiviere Zeit basierte Evolution & Erhöhe Verschmutzungs basierte Evolution

/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

Die "2" am Ende des letzten Befehls wird den standard Veschmutzungs-Faktor verdoppeln. Du kannst eine andere Zahl einsetzen um den Verschmutzungs-Faktor weiter zu erhöhen (oder zu verringern).

Töte alle Beißer in der Feinde-Partei

Beachte das dies nur alle beweglichen Einheiten tötet, Nester werden nicht getötet.

/c game.forces["enemy"].kill_all_units()

Töte alle Feinde

Dies wird alle Beißer, Nester und Würmer töten. Alles was ein Feind ist wird vollständig zerstört. Dies betrifft nur Feinde in der generierten Welt, also werden unendteckte Teile der Karte die noch generiert werden müssen werden trotzdem Feinde enthalten. Wenn gewünscht kannst du Feinde in neu generierten Chunks verhindern.

/c local surface=game.player.surface
for key, entity in pairs(surface.find_entities_filtered({force="enemy"})) do
	entity.destroy()
end

Töte alle Feinde in der Nähe

Dies wird alle Beißer, Nester und Würmer in einem konfigurierbaren Radius töten. Der Standard, 250 Kacheln, entspricht in etwa der doppelten Breite eines herausgezoomten Full-HD Bildschirms. Nach der Zerstörung wird angezeigt, wie viele Objekte zerstört wurden.

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

Aktiviere/Deaktiviere friedlichen Modus

Der friedliche Modus verhindert Anriffe von Feinden, bis sie provoziert werden. Ersetze true durch false um ihn zu deaktivieren. Bereits existierende Feinde sind nicht von diesem Befehl betroffen, so dass Attacken noch eine Weile nach Aktivierung des friedlichen Modus andauern können.

/c game.player.surface.peaceful_mode = true

Aktiviere/Deaktiviere Feinde-Expansion

Feinde-Expansion erlabut es Feinden neue Nester zu bauen. Es ist dtandardmäßg aktiviert. Ersetze true durch false um es zu deaktivieren.

/c game.map_settings.enemy_expansion.enabled = true

Feinde in neu generierten Chunks verhindern

In neu generierten Chunks kommen keine Feinde vor, allerdings alle derzeit vorhandenen Feinde sind davon nicht betroffen. Hat den gleichen Effekt wie die Größe der Feindbasen in den Geländeeinstellungen während der Kartengenerierung zu deaktivieren, aber wird durch Ändern der Kartengenerierungs-Einstellungen während des Spiels erreicht.

/c local surface = game.player.surface
local mgs = surface.map_gen_settings
mgs.autoplace_controls["enemy-base"].size = "none"
surface.map_gen_settings = mgs

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