Don't Starve Wiki
Registrieren
Advertisement

Dieser Artikel behandelt die Befehlskonsole für Don't Starve und seine DLCs. Wenn du Konsolenbefehle in Don't Starve Together verwenden möchtest, wechsele bitte zu diesem Artikel.

Die Befehlskonsole (orig.: Command Console) ist automatisch aktiviert. Falls dies, aus welchen Gründen auch immer, nicht der Fall sein sollte, musst du erstmal die Datei settings.ini bearbeiten. Diese findest du im "donotstarve"-Verzeichnis, das über folgenden Pfad erreichbar ist:

Windows: %userprofile%\Documents\Klei\DoNotstarve\settings.ini

Mac:     <Documents>\Klei\DoNotstarve\settings.ini

Linux:         ~/.klei/DoNotStarve/settings.ini

Die settings.ini kannst du mit einem einfach Texteditor ("Editor" in Windows) öffnen und dort den Wert bei ENABLECONSOLE von "false" auf "true" wechseln:

[MISC]
ENABLECONSOLE = true

Danach die Datei abspeichern.

Um die Konsole dann im Spiel zu öffnen, musst du ` drücken. Dies kann über das Menü in den Optionen auch mit einer anderen beliebigen Taste belegt werden unter "Controls" und ganz rechts/unten unter dem Punkt "Debug Console" - ist empfehlenswert, da es sein kann, dass das Drücken der `-Taste nichts auslöst. Um die Konsole wieder auszublenden, muss man Strg+L drücken.

Falls kein Befehl ausgeführt wird, kann man einmal diesen Befehl durchlaufen lassen, um die Konsolenbefehle zu aktivieren:

RunS​cript("consolecommands")


Hinweis: Wie bei vielen anderen Programmen mit Befehlszeilenschnittstelle kann man die obere Pfeiltaste drücken, um auf zuvor eingegebene Befehle zuzugreifen, ohne sie erneut manuell eingeben zu müssen. Man muss jedoch nach dem erneuten Betreten einer Welt immer noch jeden Befehl erneut eingeben.

Simple Befehle[]

  • Objekte/Kreaturen spawnen
c_spawn("spawncode", menge)

Spawnt ein Objekt oder eine Kreatur dort, wo sich der Mauszeiger gerade befindet.

  • Item geben
c_give("spawncode", menge)

Spawnt einen Gegenstand in der gewünschten Anzahl direkt im Inventar.

  • Gesundheit
c_sethea​lth(prozent)

Setzt deine Gesundheit auf den gewünschten Wert. Hinweis: Benutze englische Kommazahlen zwischen 0.01 und 1, z.B. 0.90 = 90%.

  • Verstand
c_setsanit​y(prozent)

Setzt deinen Verstand auf den gewünschten Wert. Hinweis: Benutze englische Kommazahlen zwischen 0.01 und 1, z.B. 0.90 = 90%.

  • Hunger
c_sethunger(prozent)

Setzt deinen Hunger auf den gewünschten Wert. Hinweis: Benutze englische Kommazahlen zwischen 0.01 und 1, z.B. 0.90 = 90%.

  • Gott-Modus
c_godmode()

Hunger und Gesundheit nimmt nicht mehr ab, man erleidet keinen Gesundheitsschaden mehr (bei Angriffen oder beim Essen). Beachte, dass du den Befehl noch mal ausführen musst, wenn du eine der folgenden Aktionen durchgeführt hast: durch ein Wurmloch reisen, schlafen, teleportieren, eine Höhle betreten oder die Höhle wieder verlassen, Alraunen essen oder zu komplizierte Befehle zu oft benutzen.

  • Renngeschwindigkeit setzen
c_speed(wert)

Die Standardrenngeschwindigkeit ist 1. Ein Wert von 10 macht dich etwas schneller, mit einem Wert von 40 kannst du sehr schnell rennen, sogar durch Wände und "übers" Wasser.

Es gibt noch einige andere Befehle, aber diese sind schwer zu verwenden und nicht sehr nützlich.

Spielerbefehle[]

  • HUD verstecken und zeigen
GetPlayer().HUD:Hide()
GetPlayer().HUD:Show()

Versteckt oder zeigt (nach dem Verstecken) das ganze HUD des Spiels.

  • Kreativ-Modus
GetPlayer().components.builder:GiveAllRecipes()

Nach diesem Befehl kannst du alle Gegenstände und Konstruktionen aus dem Spiel herstellen, ohne diese vorher freigeschaltet zu haben und ohne die nötigen Ressourcen dafür zu besitzen. Muss beim Wechseln einer Ebene (z.B. Höhlen) wieder aktiviert werden.

  • Maximale Gesundheit
GetPlayer().components.health:SetMaxHealth(wert)

Ändere die maximale Gesundheit deines Charakters auf den gewünschten Wert.

  • Maximaler Verstand
GetPlayer().components.sanity:SetMax(wert)

Ändere den maximalen Verstand deines Charakters auf den gewünschten Wert.

  • Maximaler Hunger
GetPlayer().components.hunger:SetMax(wert)

Ändere den maximalen Hunger deines Charakters auf den gewünschten Wert.

  • Hunger pausieren
GetPlayer().components.hunger:Pause(true)

Dein Charakter wird nicht mehr hungern.

  • Werbiber
GetPlayer().components.beaverness:SetPercent(1)

Verwandelt Woodie in den Werbiber.

Weltbefehle[]

  • Zu einem bestimmten Objekt teleportieren
c_gonext("spawncode")

Nach dem Drücken der Eingabetaste wirst du zur ersten numerischen Instanz des eingetippten Objekts teleportiert. Wenn mehrere Iterationen des Objekts in der Welt vorhanden sind, wird eine Liste der Entitätsnummern im Konsolenprotokoll angezeigt, und jede nachfolgende Ausführung desselben Befehls transportiert den Spieler von Entität zu Entität in der Reihenfolge, in der sie in der Welt generiert wurden.

  • Lösche Gegenstand unter dem Mauszeiger
TheInput:GetWorldEntityUnderMouse():Remove()

Nach dem Drücken der Eingabetaste wird der Gegenstand gelöscht, der sich unter dem Mauszeiger befindet.

  • Karte aufdecken
GetWorld().​minimap.MiniMap:ShowArea(0,0,0,10000)

Hinweis: Die Karte wird nach dem Beenden des Spiels oder dem Wechsel ein Karte (z.B. Höhlen) wieder normal, aber alle selbst erkundeten Gebiete bleiben erkundet.

  • Tag überspringen
​GetClock():MakeNextDay()

Überspringt den aktuellen Tag

  • Mehrere Tage überspringen
for x = 1, 50 do GetClock():MakeNextDay() end

Überspringt 50 Tage in diesem Beispiel.

WARNUNG: Zu große Werte können das Spiel zum Aufhängen bringen (je nach Schnelligkeit des Computers)

  • Skip time units and update
LongUpdate(X)

Überspringt X Zeiteinheiten und performt die "LongUpdate"-Funktion auf Weltobjekte.

Hinweis: Es gibt 30 Zeiteinheiten pro Segment (ein Tag besteht aus 16 Segmenten). Um einen ganzen Tag zu überspringen, kann man LongUpdate(480) verwenden oder Werte miteinander multiplizieren: LongUpdate(X*16*30) oder LongUpdate(X*TUNING.TOTAL_DAY_TIME), mit X=Tage, die man überspringen möchte.

  • Segmente setzen

Verwendung:

​GetClock():SetSegs(tag,dämmerung,nacht)

Setzt die Anzahl der Segmente. Wenn man zusammen mehr als 16 Segmente setzt, gibt es eine Fehlermeldung.

Beispiel:

​GetClock():SetSegs(14,1,1)

Sehr langer Tag, sehr kurze Dämmerung und sehr kurze Nacht (ein Segment für die Dämmerung und eins für die Nacht).

  • Tagesphase überspringen
GetClock():NextPhase()

Überspringt die aktuelle Tagesphase.

  • Sommer starten
GetSeasonManager():StartSummer()

Starten den Sommer.

  • Winter starten
GetSeasonManager():StartWinter()

Startet den Winter.

Für das DLC REign of Giants lauten die zusätzlichen Befehle GetSeasonManager():StartSpring()​ für den Frühling und GetSeasonManager():StartAutumn() für den Herbst.

  • Regen starten
GetSeasonManager():StartPrecip()

Startet den Regen.

  • Regen stoppen
GetSeasonManager():StopPrecip()

Stoppt den Regen.

  • Blitzeinschlag herbeirufen
GetSeasonManager():DoLightningStrike(Vector3(GetPlayer().Transform:GetWorldPosition()))

Blitzeinschlag auf den Spieler. Wird einen Blitzableiter treffen, wenn einer in der Nähe steht.

  • Distanz messen
print(math.sqrt(GetPlayer():GetDistanceSqToInst(TheInput:GetWorldEntityUnderMouse())))

Zeigt die Distanz zwischen dem Spieler und dem Objekt unter dem Mauszeiger im Konsolenprotokoll (Strg+L) an.

Profilbefehle[]

Während Profilbefehle permanent sind und nicht jedes Mal ausgeführt werden müssen, müssen sie während eines Spiels ausgeführt werden. Man kann mehrere Charaktere gleichzeitig entsperren, ohne den Speicher-Befehl jedes mal mitaufzuführen (einmal am Ende reicht).

  • Charakter wechseln
GetPlayer().prefab = "charaktercode"

Wechselt den aktuellen Charakter auf den, der im Befehl eingegeben wurde (für Maxwell lautet der Code z.B. waxwell). Man muss das Spiel speichern, schließen und neustarten, damit sich diese Änderung auswirken kann.

GetPlayer().profile:UnlockCharacter("willow")
GetPlayer().profile:Save()

Entsperrt Willow. Muss nach dem ersten Mal nicht erneut eingegeben werden, es sei denn, man hat seine Profileinstellungen verloren.

GetPlayer().profile:UnlockCharacter("wolfgang")
GetPlayer().profile:Save()

Entsperrt Wolfgang. Muss nach dem ersten Mal nicht erneut eingegeben werden, es sei denn, man hat seine Profileinstellungen verloren.

GetPlayer().profile:UnlockCharacter("wendy")
GetPlayer().profile:Save()

Entsperrt Wendy. Muss nach dem ersten Mal nicht erneut eingegeben werden, es sei denn, man hat seine Profileinstellungen verloren.

GetPlayer().profile:UnlockCharacter("wx78")
GetPlayer().profile:Save()

Entsperrt WX-78. Muss nach dem ersten Mal nicht erneut eingegeben werden, es sei denn, man hat seine Profileinstellungen verloren.

GetPlayer().profile:UnlockCharacter("wickerbottom")
GetPlayer().profile:Save()

Entsperrt Wickerbottom. Muss nach dem ersten Mal nicht erneut eingegeben werden, es sei denn, man hat seine Profileinstellungen verloren.

GetPlayer().profile:UnlockCharacter("woodie")
GetPlayer().profile:Save()

Entsperrt Woodie. Muss nach dem ersten Mal nicht erneut eingegeben werden, es sei denn, man hat seine Profileinstellungen verloren.

GetPlayer().profile:UnlockCharacter("wes")
GetPlayer().profile:Save()

Entsperrt Wes. Muss nach dem ersten Mal nicht erneut eingegeben werden, es sei denn, man hat seine Profileinstellungen verloren.

GetPlayer().profile:UnlockCharacter("waxwell")
GetPlayer().profile:Save()

Entsperrt Maxwell. Muss nach dem ersten Mal nicht erneut eingegeben werden, es sei denn, man hat seine Profileinstellungen verloren.

GetPlayer().profile:UnlockCharacter("wigfrid")
GetPlayer().profile:Save()

Entsperrt Wigfrid. Muss nach dem ersten Mal nicht erneut eingegeben werden, es sei denn, man hat seine Profileinstellungen verloren.

GetPlayer().profile:UnlockCharacter("webber")
GetPlayer().profile:Save()

Entsperrt Webber. Muss nach dem ersten Mal nicht erneut eingegeben werden, es sei denn, man hat seine Profileinstellungen verloren.

  • Entsperrt alle Charaktere
​GetPlayer().profile:UnlockEverything()

Verschiedene Befehle[]

  • Leichenhalle aufräumen
ErasePersistentString("morgue")

Entfernt alle Einträge aus der Leichenhalle. Erfordert das Schließen und Neustarten des Spiels, bevor die Änderungen sichtbar werden.

Advertisement