饥荒联机版控制台代码大全
本文章为饥荒进阶控制台代码,其他更高级的控制代码请参考饥荒联机版控制台物品代码大全
文中大多数内容都并非原创,只是做了简单的整合,方便本人查看
对玩家
创造模式:
1 | ThePlayer.components.builder:GiveAllRecipes() |
设置最大生命值:
1 | ThePlayer.components.health:SetMaxHealth() |
括号内设置生命数值
设置最大理智值:
1 | ThePlayer.components.sanity:SetMax() |
括号内设置理智数值
设置最饥饿值:
1 | ThePlayer.components.hunger:SetMax(value) |
括号内设置最大饥饿值
伤害倍数:
1 | ThePlayer.components.combat.damagemultiplier = 数值 |
设置生命值:
1 | c_sethealth() |
百分比血量,括号内值为0%到100%,可以使用对应分数
设置理智值:
1 | c_setsanity() |
百分比血量,括号内值为0%到100%,可以使用对应分数
设置饱食度:
1 | c_sethunger() |
百分比血量,括号内值为0%到100%,可以使用对应分数
设置温度:
1 | c_settemperature() |
括号内取值为:-20到85
设置湿度:
1 | c_setmoisture() |
百分比,括号内值为0%到100%,可以使用对应分数
上帝模式:
1 | c_godmode() |
超级上帝模式
1 | c_supergodmode() |
修改速度:
1 | c_speedmult() |
在括号内设置速度倍数
对其他玩家命令
列出玩家用户名和编号:
1 | c_listallplayers() |
在游戏中使用时可能由于显示原因,没有列出玩家列表
可在自建服务器中使用
玩家编号可通过Tab键最右边查看,有概率会不一样,但如果是自建服务器就只能这样使用
对某一玩家使用命令:
1 | AllPlayers[] |
[]
内使用玩家编号来选择玩家
对所有玩家使用命令:
1 | for k,v in pairs(AllPlayers) do command end |
只修改command,用其他命令代替command,使用 “v” 代替命令中的 AllPlayers[number]。例如, “for k,v in pairs(AllPlayers) do c_move(v) end” 将会把所有玩家都移动到鼠标所指的位置。
移动一个玩家:
1 | c_move(AllPlayers[number]) |
移动玩家到鼠标指定位置
复活玩家:
1 | AllPlayers[number]:PushEvent('death') |
传送至玩家:
1 | c_goto(AllPlayers[number]) |
number为玩家编号
丢弃玩家物品栏物品:
1 | AllPlayers[number].components.inventory:DropEverything() |
玩家重选角色:
1 | c_despawn(AllPlayers[number]) |
number为玩家编号
服务器指令
踢出或封禁玩家:
1 | TheNet:Kick(userid) |
userid可通过Tab查看,或者使用玩家编号AllPlayers[#].userid
临时封禁:
1 | TheNet:BanForTime(userid,time_in_seconds) |
userid可通过Tab查看,或者使用玩家编号AllPlayers[#].userid
time_in_seconds为要封禁的秒数
连接服务器:
1 | c_connect("IP address", port, "password") |
如果无法进行常规的连接,可以使用该命令直接连接一个IP地址。默认情况下,端口是10999。如果服务器没有密码的话,你可以不填密码参数:c_connect(“10.0.0.8”, 10999)
重新加载世界:
1 | c_reset() |
不保存游戏并重载世界(也就是重载到上一个储存点)。如果你是一个客户端的话,该命令可能会造成你的游戏崩溃(除非你用远程命令模式发送该命令)。
重新生成世界:
1 | c_regenerateworld() |
重生生成世界。
重新生成世界碎片:
1 | c_regenerateshard() |
重新生成世界碎片。
保存:
1 | c_save() |
强制服务器立即保存。(服务器通常在夜晚结束的时候自动保存)
- 关闭服务器:
1 | c_shutdown( true / false) |
true 会保存游戏,false 不会保存游戏。 c_shutdown() 和 c_shutdown(true) 是一样的。
回档:
1 | c_rollback(count) |
回档服务器一定次数。 c_rollback() 会回档一次,c_rollback(3) 会回档三次。
启用/禁用新玩家加入:
1 | TheNet:SetAllowIncomingConnections( true / false ) |
默认情况下设置为 true (新玩家可以加入)。设置为 false 将禁止玩家进入。
发送一个服务器公告:
1 | c_announce("announcement") |
可以发送一个公告给玩家,例如即将关闭 / 重启服务器,让玩家知道即将断线。
对世界
传送:
1 | c_gonext("prefab") |
可以将玩家传送到世界存在的实体处,如果存在多处,执行后依次传送
删除实体:
1 | ConsoleWorldEntityUnderMouse():Remove() |
输入该命令后,将会删除你鼠标下的物品。在专用服务器上使用第二个命令,因为第一个不能在专用服务器上使用。
显示地图:
1 | minimap = TheSim:FindFirstEntityWithTag("minimap") |
这是一个本地命令,且客户端不可用。
跳过一天
1 | TheWorld:PushEvent("ms_nextcycle") |
跳过时间
1 | TheWorld.net.components.clock:OnUpdate(16*30*x) |
跳过 x 天。将 x 修改为所要跳的天数(例如,16*30*4.5 为跳过4.5天)警告:数值太大可能会冻结游戏。(取决于电脑的运算速度)
跳过时间单元并更新
1 | LongUpdate(X) |
对世界对象执行 “LongUpdate” 事件并跳过X个时间单元
注:每一个时间部分有30个时间单元。想要跳过一天可以使用 LongUpdate(480) 或者用乘法计算,例如 LongUpdate(X1630) 或者 LongUpdate(X*TUNING.TOTAL_DAY_TIME) X 为想要跳过的天数
译者注:每天有16个小部分,每部分有30个时间单元,每单元为现实中的一秒,所以一天为现实中的8分钟。(详见日夜周期 )
跳过时钟阶段
1 | TheWorld:PushEvent("ms_nextphase") |
跳过当前时钟阶段。
设置时钟阶段
1 | TheWorld:PushEvent("ms_setclocksegs", {day=x,dusk=y,night=z}) |
设置每个时钟阶段的时间部分的数量。如果 x + y + z 加起来超过 16 将会产生错误。注意这样的修改第二天会复原。
例子:
1 | TheWorld:PushEvent("ms_setclocksegs", {day=14,dusk=1,night=1}) |
非常长的白天,非常短的黄昏和夜晚(只给黄昏一个时间部分和夜晚一个时间部分)
设置季节的时钟阶段
1 | TheWorld:PushEvent("ms_setseasonclocksegs", {summer={day=sx,dusk=sy,night=sz}, winter={day=wx,dusk=wy,night=wz}}) |
为指定季节设置每个时钟阶段的时间部分的数量。如果 x + y + z 加起来超过 16 将会生错误。不像设置时钟阶段一样,该设置是永久性的。
例子:
1 | TheWorld:PushEvent("ms_setseasonclocksegs", {summer={day=14,dusk=1,night=1}, winter={day=13,dusk=1,night=2}}) |
非常长的白天,非常短的黄昏和夜晚(夏天:只给黄昏一个时间部分和夜晚一个时间部分,冬天:只给黄昏一个时间部分和夜晚两个个时间部分)
设置季节长度
1 | TheWorld:PushEvent("ms_setseasonlength", {season="summer", length=15}) |
设置季节的长度。
进入夏季
1 | TheWorld:PushEvent("ms_setseason", "summer") |
进入夏季
进入冬季
1 | TheWorld:PushEvent("ms_setseason", "winter") |
进入冬季
当添加了巨人的统治DLC,会有额外的命令TheWorld:PushEvent(“ms_setseason”, “spring”) 和 TheWorld:PushEvent(“ms_setseason”, “autumn”)
开始下雨
1 | TheWorld:PushEvent("ms_forceprecipitation") |
开始下雨
停止下雨
1 | TheWorld:PushEvent("ms_forceprecipitation", false) |
停止下雨。这包括青蛙雨。
生成闪电
1 | TheWorld:PushEvent("ms_sendlightningstrike", ConsoleWorldPosition()) |
闪电击中玩家,如果靠近避雷针的话,则击中避雷针。
陨星撞击
1 | c_spawn("shadowmeteor", 1) |
陨星撞击在鼠标的位置。随机生成不同类型的岩石。
激活所有的事件
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 |
同一事件内激活所有事件 。
测量距离
1 | print(math.sqrt(ThePlayer:GetDistanceSqToInst(ConsoleWorldEntityUnderMouse()))) |
在控制台日志中输出玩家和鼠标指着的物体的距离(默认情况下按Ctrl + L显示控制台日志)。
交易小店宠物属性
修改宠物品种
1 | Profile:SetKitBuild("宠物品种") |
宠物小猫品种如下
1 | 森林浣小猫:kitcoon_forest_build |
修改名字
1 | Profile:SetKitName("新名字") |
修改地上便便数量
1 | Profile:SetKitPoops(M) |
M为需要修改的便便数量
修改宠物体型
1 | Profile:SetKitSize(N) |
这里的N值不要设置得太大,猫猫最小的时候为0.3倍,最大为1.2倍
养猫小技巧
猫猫每天都要喂两次食物,摸两次;在离开前要把地上的便便清理干净,要不然猫猫会不开心
如果长时间不能登陆游戏,要把猫猫放到窝里冬眠
希望大家的猫猫都不要感受到被冷落而离你而去