【饥荒指令代码大全】是什么?
在《饥荒》(Don’t Starve)及其联机版《饥荒联机版》(Don’t Starve Together)中,“指令代码”(也常被称为“控制台指令”或“作弊码”)是一组开发者为了测试、调试游戏而内置的特殊命令。通过游戏内的控制台输入这些指令,玩家可以实现各种非正常的游戏行为,例如生成物品、改变角色状态、修改世界环境、传送角色位置等。它们提供了一种直接干预游戏状态的方式,绕过了常规的游戏玩法和限制。
为什么会需要【饥荒指令代码大全】?
玩家通常在以下几种情况下会需要使用饥荒指令代码:
- 调试和测试: 开发者使用指令来测试新功能、平衡性或查找bug。玩家也可以用它们来测试游戏的某些机制,比如特定物品的效果、生物的行为模式等。
- 从困境中解脱: 有时玩家可能会遇到游戏中的bug导致角色卡住、重要物品丢失,或者因为一些意外情况(比如遭遇一群不可战胜的怪物或饥饿值瞬间降至零)而陷入绝境。指令可以帮助玩家迅速恢复状态或脱离危险。
- 沙盒实验: 对于想要体验游戏全部内容,或者在不受生存压力的情况下建造大型基地、进行创意实验的玩家,指令可以提供无限资源和无敌状态, превращая游戏变成一个创造性的沙盒。
- 快速体验游戏内容: 跳过漫长的收集过程,直接获取高级物品或挑战特定的Boss,以便快速体验游戏的不同阶段或特定玩法。
- 服务器管理(仅限DST): 在《饥荒联机版》中,作为服务器的主人或管理员,可以使用指令来管理玩家(踢出、封禁)、保存进度、回档等。
在哪里输入【饥荒指令代码】?如何使用?
饥荒的指令代码是在游戏内的“控制台”中输入的。
- 打开控制台: 在游戏进行中,按下键盘上的“~”键(通常位于Esc键下方,数字1键左侧)。这会打开一个半透明或全屏的输入框,这就是控制台。
- 输入指令: 在控制台输入框中输入你想要执行的指令代码。指令代码通常以 `c_` 开头(表示Client客户端指令),或者直接操作世界/玩家对象(如 `TheWorld.` 或 `ThePlayer.` / `GetPlayer().`)。
- 执行指令: 输入完毕后,按下“Enter”键即可执行该指令。如果指令输入正确,通常会立即生效;如果输入错误,控制台可能会显示错误信息。
指令语法:
大多数指令遵循函数调用的格式,例如:`指令名称(参数1, 参数2, …)`。
- 参数可以是数字(如数量、时间百分比)、字符串(如物品或生物的英文名称,需要用双引号 `””` 包围)或布尔值(`true` 或 `false`)。
- 不同的指令需要不同数量和类型的参数。
联机版(DST)注意事项:
在《饥荒联机版》中,指令分为客户端指令和服务器指令。
- 以 `c_` 开头的指令通常是客户端指令,只影响你本地的游戏表现(比如切换上帝模式 `c_godmode()` 只影响你自己)。
- 操作世界或玩家状态的指令通常需要通过服务器对象执行。比如 `TheWorld.` 开头的指令影响整个世界,而修改玩家状态的指令常常需要先获取玩家对象,例如 `GetPlayer().SetMaxHealth(300)`。
- 部分强大的管理指令(如踢人、回档)只有服务器主机或管理员才能执行。
控制台支持自动补全功能,当你输入指令的前几个字母或物品、生物名称的前几个字母时,可以按Tab键来尝试补全。这对于查找指令或记住复杂的prefab名称非常有用。
【饥荒指令代码】有多少种?有哪些常用的?
饥荒的指令数量非常庞大,涵盖了游戏内几乎所有的功能和对象,难以精确计数。但它们可以归类为以下几种主要类型,每种类型下都有许多常用的指令:
物品与结构生成指令
这类指令用于在玩家背包中生成物品,或在世界中生成物品、生物、结构等。
生成物品到背包:
c_give("prefabname", quantity)
在玩家的背包中生成指定数量的物品。`”prefabname”` 是物品的英文名称(也称作prefab名称),`quantity` 是数量(可选,默认为1)。
例如:
c_give("log", 20)– 生成20个原木c_give("goldnugget", 10)– 生成10个金块c_give("meat", 5)– 生成5块大肉c_give("spear")– 生成1个长矛c_give("dragonpie")– 生成1个龙派c_give("amulet_resurrection")– 生成1个复活护符(肉块)c_give("nightsword")– 生成1个影刀c_give("staff_ice")– 生成1个冰魔杖c_give("gears", 5)– 生成5个齿轮c_give("livingtree", 10)– 生成10个活木c_give("deerclopscontrol")– 生成一个鹿角怪眼球
生成实体到世界:
c_spawn("prefabname", quantity)
在玩家光标附近生成指定数量的实体(物品、生物、结构等)。`”prefabname”` 是实体的英文名称,`quantity` 是数量(可选,默认为1)。
例如:
c_spawn("beefalo", 5)– 生成5只牛c_spawn("spider", 10)– 生成10只蜘蛛c_spawn("tent")– 生成1个帐篷c_spawn("mandrake")– 生成1个曼德拉草c_spawn("deerclops")– 生成1只鹿角怪c_spawn("bearger")– 生成1只熊獾c_spawn("moosegoose")– 生成1只夏季Boss(巨鹅)c_spawn("dragonfly")– 生成1只龙蝇c_spawn("walrus_boss")– 生成1个海象营地及海象父子c_spawn("krampus")– 生成1只坎普斯
注意:某些实体生成后可能会立即行动(攻击、逃跑等)。
玩家状态指令
这类指令用于修改玩家角色的生命值、饥饿值、理智值、速度、位置等。
注意:在DST中,这些指令通常需要通过 `GetPlayer().` 来指定当前玩家。在单机版DS中,可以直接使用 `ThePlayer.` 或省略。为了通用性,这里使用 `GetPlayer().`。
修改属性:
GetPlayer().SetMaxHEALTH(value)– 设置最大生命值。GetPlayer().SetHEALTH(value)– 设置当前生命值。GetPlayer().SetMaxHUNGER(value)– 设置最大饥饿值。GetPlayer().SetHUNGER(value)– 设置当前饥饿值。GetPlayer().SetMaxSANITY(value)– 设置最大理智值。GetPlayer().SetSANITY(value)– 设置当前理智值。GetPlayer().SetPristineSANITY()– 瞬间将理智值恢复到最大。GetPlayer().SetRunSpeed(value)– 设置跑步速度(默认是6)。GetPlayer().OverrideLight({0.5, 0.5, 0.5})– 改变玩家的光照颜色(参数为RGB值,0-1)。GetPlayer().RemoveOverrideLight()– 移除自定义光照。
例如:
GetPlayer().SetHEALTH(300)– 将当前生命值设为300。GetPlayer().SetHUNGER(250)– 将当前饥饿值设为250。GetPlayer().SetSANITY(400)– 将当前理智值设为400。GetPlayer().SetRunSpeed(12)– 使跑步速度加倍。
传送与变形:
GetPlayer().Transform(x, y, z)– 将玩家传送到指定的坐标。x和z是水平坐标,y是垂直坐标(通常用0表示地面)。可以通过 `c_listallprefabs()` 等指令输出实体位置来获取坐标。c_goto("prefabname")– 将玩家传送到指定实体的附近。例如:c_goto("beefalo")会传送到最近的一头牛旁边。
世界与环境指令
这类指令用于修改世界的时间、季节、天气、地图显示等。
时间与季节:
TheWorld.SetTime(percent)– 设置一天中的时间,`percent` 为0到1之间的值。0为午夜,0.5为正午,0.75为黄昏开始。例如:TheWorld.SetTime(0.5)设置为正午。TheWorld.SetSeason(season)– 设置季节,`season` 可以是 `”winter”` (冬季)、`”spring”` (春季)、`”summer”` (夏季)、`”autumn”` (秋季)。例如:TheWorld.SetSeason("winter")进入冬季。TheWorld.cycles = day– 设置当前是第几天(仅DST)。例如:TheWorld.cycles = 100设置为第100天。
天气与温度:
TheWorld.SetTemperature(temperature)– 设置世界温度。TheWorld.SetRainIntensity(intensity)– 设置下雨强度,`intensity` 为0到1之间的值。0为不下雨,1为大雨。TheWorld.SetFogIntensity(intensity)– 设置雾强度。TheWorld.Quake()– 触发一次地震。TheWorld.ForceLightning()– 召唤一道闪电。
地图与地形:
TheWorld.RevealArea(x, y, radius)– 显示地图的某个圆形区域。x和y是中心坐标,radius是半径。TheWorld.UnrevealArea(x, y, radius)– 隐藏地图的某个圆形区域。TheWorld.minimap.RevealAllNodes()– 显示整个地图上的所有节点和路径(不会显示资源点)。TheWorld.minimap.RevealEverything()– 显示整个地图,包括所有资源点(慎用,可能卡顿)。
调试与实用指令
这类指令提供了一些特殊的调试功能,如无敌、穿墙、暂停等。
c_godmode()– 切换上帝模式。开启后,玩家不会受到伤害、饥饿或理智值影响。重复输入可关闭。c_supergodmode()– 切换超级上帝模式(仅DST)。比上帝模式更强大,可能包括无限耐久度等。c_noclip()– 切换穿墙模式。开启后,玩家可以穿过障碍物移动。重复输入可关闭。TheGame:SetPause(true)– 暂停游戏(仅单机版DS)。TheGame:SetPause(false)取消暂停。c_speed(multiplier)– 加速游戏时间流逝速度。例如:c_speed(2)使游戏速度加倍。c_speed(1)恢复正常。c_countprefabs("prefabname")– 计算世界中指定实体的数量。c_listallprefabs()– 在控制台输出所有实体的列表及坐标(输出量巨大,慎用)。
DST独有管理指令(需要主机/管理员权限)
这些指令主要用于多人游戏的服务器管理。
TheNet:Kick("userid")– 踢出指定玩家。`”userid”` 是玩家ID,可以通过Tab列表查看。TheNet:Ban("userid")– 封禁指定玩家。TheNet:SetAllowIncomingConnections(false)– 关闭服务器新玩家加入。TheNet:SaveAndRollback(days)– 保存游戏并回档指定天数。例如:TheNet:SaveAndRollback(1)回档1天。TheNet:ResetSession()– 重置世界(回到第一天)。
重要提示: 以上列出的只是饥荒指令代码的冰山一角和常用部分。每个指令、每个prefab名称都需要精确输入(通常区分大小写,尤其是prefab名称)。错误的输入可能导致指令无效或游戏异常。
【饥荒指令代码】使用时要注意什么?
使用饥荒指令代码虽然能带来便利,但也有一些重要的注意事项和潜在风险:
影响游戏体验与成就
- 使用指令(尤其是生成物品、无敌等)会极大降低游戏的生存挑战和乐趣,破坏原有的游戏体验。
- 在《饥荒联机版》中,使用指令通常会禁用当前游戏的Steam成就获取。如果你希望获得成就,请不要使用控制台指令。
潜在的游戏不稳定
- 频繁或不当使用指令,特别是生成大量实体或修改复杂世界状态的指令,可能导致游戏卡顿、崩溃或存档损坏。
- 某些指令可能与游戏更新或模组冲突,导致不可预知的错误。
联机版中的权限问题
- 在《饥荒联机版》中,许多强大的指令(如修改世界、生成Boss、管理玩家)只有服务器主机或拥有管理员权限的玩家才能使用。普通玩家只能使用一些客户端指令(如上帝模式、穿墙)。
- 作为主机在公开服务器中使用指令,可能会影响其他玩家的游戏体验,导致不满甚至纠纷。
指令的精确性
- 指令代码和prefab名称必须准确无误,包括大小写和标点符号。输入错误将无法执行。
- 控制台不会检查你输入的prefab名称是否存在或是否合理,输入错误的名称不会生成任何东西。
【饥荒指令代码】在哪个版本适用?
饥荒的控制台指令系统在其多个主要版本中都是存在的,但具体指令可能略有差异:
- 《饥荒》(Don’t Starve, DS): 包括原版、巨人国(Reign of Giants)、船难(Shipwrecked)、哈姆雷特(Hamlet)等DLC。这些单人版本都支持控制台指令,指令语法相对简单,主要操作 `ThePlayer` 和 `TheWorld` 对象。
- 《饥荒联机版》(Don’t Starve Together, DST): 作为多人游戏版本,DST也支持控制台指令。但如前所述,指令分为客户端指令(`c_`开头)和服务器指令,且部分指令需要通过 `GetPlayer()` 获取玩家对象来执行。管理指令是DST独有的。DST的指令系统更为复杂和强大,但也需要注意服务器/客户端权限。
总的来说,指令代码是饥荒系列游戏的内置功能,在单人版和联机版中都可以使用,只是在联机版中增加了权限和服务器/客户端的区分。在使用特定指令时,最好确认它是否适用于当前你玩的游戏版本。