Appearance
DST(饥荒联机版) 常用指令教程
饥荒联机版常用指令列表
在使用指令时,需注意“prefab”指的是游戏中的物品实体。通过它们的代码,你可以召唤或操作游戏内的各种对象。以下是你可以在服务器上使用的主要指令汇总:
一、使用前提
| 项目 | 说明 |
|---|---|
| 打开控制台 | 游戏中按 `(反引号/波浪号键,Esc 下方,如果没效果可能是输入法的问题,换成全英文输入法) |
| 切换执行模式 | 按 Ctrl 切换 本地(Local) / 远程(Remote) 模式。影响服务器/世界的命令必须在 Remote 模式下执行 |
| 管理员权限 | 服务器管理类命令(踢人、封禁、回滚、关服等)需要管理员身份,通过 adminlist.txt 配置 |
二、物品、生物与属性指令
| 指令名称 | 功能说明 | 使用格式 | 备注 |
|---|---|---|---|
| 召唤物品/生物 | 在鼠标位置生成指定数量的物品或生物 | c_spawn("prefab", 数量) | 数量省略默认为 1;可用于生成蜘蛛、猪人等 |
| 给予物品 | 将物品直接放入玩家背包 | c_give("prefab", 数量) | 背包满时掉落在地 |
| 设置生命值 | 设置当前生命值百分比 | c_sethealth(百分比) | 如 0.9 表示 90% |
| 设置理智值 | 设置当前理智值百分比 | c_setsanity(百分比) | — |
| 设置饥饿值 | 设置当前饥饿值百分比 | c_sethunger(百分比) | — |
| 设置湿度 | 设置当前湿度百分比 | c_setmoisture(百分比) | — |
| 设置温度 | 设置当前温度(具体数值) | c_settemperature(温度值) | 如 30 表示 30°C |
| 无敌模式 | 角色不会失去理智、饥饿和生命值 | c_godmode() | 再次输入关闭 |
| 超级无敌模式 | 所有属性直接满值,关闭后保持满值 | c_supergodmode() | 比 c_godmode() 更强 |
| 生命值持续回复 | 持续回复生命值 | c_maintainhealth(ThePlayer) | 取消:c_cancelmaintasks(ThePlayer) |
| 理智持续回复 | 持续回复理智值 | c_maintainsanity(ThePlayer) | 取消同上 |
| 饥饿持续回复 | 持续回复饥饿值 | c_maintainhunger(ThePlayer) | 取消同上 |
| 温度持续维持 | 持续保持温度稳定 | c_maintaintemperature(ThePlayer) | 取消同上 |
| 湿度持续维持 | 持续保持湿度稳定 | c_maintainmoisture(ThePlayer) | 取消同上 |
| 全属性持续回复 | 持续回复所有属性 | c_maintainall(ThePlayer) | 取消同上 |
| 怪物隐身 | 怪物不会主动攻击玩家 | c_makeinvisible() | 部分 Boss 战无效;DST 中仅对主机/管理员稳定有效 |
| 设置奔跑速度 | 设置移动速度倍率 | c_speedmult(倍数) | 默认 1.2;12 以上可穿墙和水面 |
三、玩家自身指令(ThePlayer)
| 指令名称 | 功能说明 | 使用格式 | 备注 |
|---|---|---|---|
| 隐藏界面 | 隐藏游戏 HUD 界面 | ThePlayer.HUD:Hide() | — |
| 显示界面 | 显示游戏 HUD 界面 | ThePlayer.HUD:Show() | — |
| 创造模式 | 免费解锁所有配方 | ThePlayer.components.builder:GiveAllRecipes() | 切换地图/洞穴后需重新输入 |
| 设置最大生命值 | 设置角色最大生命值上限 | ThePlayer.components.health:SetMaxHealth(数值) | — |
| 设置最大理智值 | 设置角色最大理智值上限 | ThePlayer.components.sanity:SetMax(数值) | — |
| 设置最大饥饿值 | 设置角色最大饥饿值上限 | ThePlayer.components.hunger:SetMax(数值) | — |
| 暂停饥饿 | 角色不再感到饥饿 | ThePlayer.components.hunger:Pause(true) | 传入 false 恢复饥饿消耗 |
| 设置伤害倍率 | 设置玩家攻击伤害倍率 | ThePlayer.components.combat.damagemultiplier = 数值 | 如 2 表示双倍伤害 |
| 设置攻击范围 | 设置玩家攻击距离 | ThePlayer.components.combat.attackrange = 数值 | 默认约 2 |
| 全图解锁 | 解锁全地图迷雾 | ThePlayer.components.minimap:EnableAllMinimapData() | — |
| 清空背包 | 清空玩家背包(物品掉落在地) | ThePlayer.components.inventory:DropEverything() | — |
| 设置年龄 | 设置角色特殊天数(影响伍迪露西斧对话等) | ThePlayer.components.age:SetAge(天数) | — |
| 变成河狸人 | 将伍迪变成河狸人形态 | ThePlayer.components.beaverness:SetPercent(1) | 仅伍迪角色有效 |
四、其他玩家指令(AllPlayers)
| 指令名称 | 功能说明 | 使用格式 | 备注 |
|---|---|---|---|
| 列出所有玩家 | 在聊天框显示所有玩家用户名和编号 | c_listallplayers() | 编号从 1 开始 |
| 获取指定玩家 | 通过编号获取玩家对象 | AllPlayers[编号] | 如 AllPlayers[1] 表示 1 号玩家 |
| 对所有玩家执行 | 循环对所有玩家执行命令 | for k,v in pairs(AllPlayers) do [命令] end | 需将 [命令] 替换为实际代码 |
| 杀死玩家 | 立即杀死指定玩家 | AllPlayers[编号]:PushEvent('death') | — |
| 复活玩家 | 让指定玩家复活(从幽灵状态) | AllPlayers[编号]:PushEvent('respawnfromghost') | — |
| 给予创造模式 | 给指定玩家开启创造模式 | AllPlayers[编号].components.builder:GiveAllRecipes() | — |
| 瞬移到玩家 | 瞬移到指定玩家位置 | c_goto(AllPlayers[编号]) | — |
五、世界与环境指令
| 指令名称 | 功能说明 | 使用格式 | 备注 |
|---|---|---|---|
| 瞬移到物品 | 瞬移到指定 prefab 的第一个实例 | c_gonext("prefab") | 多实例时循环切换 |
| 删除鼠标下物品 | 删除鼠标指向的物品 | c_select():Remove() | 联机版标准写法 |
| 删除所有指定物品 | 删除地图上所有指定 prefab | for k,v in pairs(Ents) do if v.prefab == "prefab" then v:Remove() end end | 谨慎使用,可能误删重要实体 |
| 跳过到下一天周期 | 跳过当前时间段,进入下一周期 | TheWorld:PushEvent("ms_nextcycle") | — |
| 跳过指定时间 | 跳过指定时间单位 | c_skip(x) | 数值过大可能导致卡顿 |
| 跳过时间并更新 | 跳过时间单位并执行长时间更新 | LongUpdate(X) | — |
| 加速游戏模拟 | 加快世界模拟速度 | c_speedup() | 提前触发事件 |
| 设置模拟时间倍率 | 设置时间流速 | TheSim:SetTimeScale(X) | 1=正常,0=暂停。暂停时无法使用控制台 |
| 跳过当前阶段 | 跳过当前游戏阶段 | TheWorld:PushEvent("ms_nextphase") | — |
| 设置时间段长度 | 设置白天/黄昏/黑夜时长 | TheWorld:PushEvent("ms_setclocksegs", {day=x,dusk=y,night=z}) | 总和不超过 16 |
| 设置季节时间段 | 按季节设置时段长度 | TheWorld:PushEvent("ms_setseasonclocksegs", {summer={day=sx,dusk=sy,night=sz}, winter={day=wx,dusk=wy,night=wz}}) | 总和不超过 16 |
| 设置季节长度 | 设置某个季节的持续时间 | TheWorld:PushEvent("ms_setseasonlength", {season="summer", length=15}) | season 可填 spring / summer / autumn / winter |
| 切换到春季 | 将季节调整为春季 | TheWorld:PushEvent("ms_setseason", "spring") | — |
| 切换到夏季 | 将季节调整为夏季 | TheWorld:PushEvent("ms_setseason", "summer") | — |
| 切换到秋季 | 将季节调整为秋季 | TheWorld:PushEvent("ms_setseason", "autumn") | — |
| 切换到冬季 | 将季节调整为冬季 | TheWorld:PushEvent("ms_setseason", "winter") | — |
| 开始下雨 | 触发降雨天气 | TheWorld:PushEvent("ms_forceprecipitation") | — |
| 触发闪电 | 在鼠标位置召唤闪电 | TheWorld:PushEvent("ms_sendlightningstrike", ConsoleWorldPosition()) | 附近有避雷针优先击中避雷针 |
| 陨石撞击 | 在鼠标位置召唤陨石 | c_spawn("shadowmeteor", 1) | 随机生成不同岩石 |
| 激活所有事件 | 同时激活所有特殊事件 | for k, v in pairs(SPECIAL_EVENTS) do if v ~= SPECIAL_EVENTS.NONE then local tech = TECH[k] if tech ~= nil then tech.SCIENCE = 0 end end end function IsSpecialEventActive(event) return true end | 世界生成时事件设为"自动"则无效 |
六、服务器管理指令
| 指令名称 | 功能说明 | 使用格式 | 备注 |
|---|---|---|---|
| 保存存档 | 立即保存当前世界 | c_save() | 建议回档/重启前执行;需 Remote 模式 |
| 关闭服务器 | 保存并关闭服务器 | c_shutdown() | 需管理员权限,Remote 模式 |
| 回滚存档 | 回滚到之前的存档 | c_rollback(天数) | 如 c_rollback(1) 回滚 1 天;需管理员权限,Remote 模式 |
| 重置世界分片 | 重置指定分片的物品 | c_regenerateshard() | — |
| 踢出玩家 | 将玩家踢出服务器 | TheNet:Kick(userid) | 需管理员权限,Remote 模式 |
| 封禁玩家 | 踢出并禁止玩家再次进入 | TheNet:Ban(userid) | 需管理员权限,Remote 模式 |
| 允许/禁止新玩家加入 | 控制服务器是否接受新连接 | TheNet:SetAllowIncomingConnections(true/false) | true=允许(默认),false=禁止;需 Remote 模式 |
拥有管理员指令后,你可以打造理想的服务器环境,避免饥饿死亡。无论是召唤强力装备助战Boss,还是开启超级无敌模式保护自己,都能轻松实现。