控制台
概述
游戏中的控制台用于:
- 与其他玩家聊天
- 运行命令/脚本/作弊器
- 偶尔的状态更新
有三种类型的命令:
- 多人游戏 - 消息过滤,禁止用户等
- 信息 -显示游戏的各种信息
- 脚本/作弊器 - 运行小的Lua脚本(但是他们不能保存游戏)
使用控制台
可以使用/或者~键进行切换控制台。
可以通过选项菜单 -> 键盘 ->切换Lua控制台指定按键。
当控制台被打开,你会在屏幕底部看到的一个闪烁的光标,输入你的消息或命令,并点击返回进行发送(这也将关闭控制台)。关于消息和命令前缀可在本页进一步了解。
当控制台关闭,只会显示最新消息/命令,但它们会逐渐消失(打开控制台将立即显示所有最近的消息)。
通过选项菜单 ->其他设置->信息延迟你可以设置淡出时间。
如果你想立即隐藏控制台,打开控制台,然后按“退出”键(或按回车键,不输入任何消息/命令)。这不仅关闭控制台,也隐藏了所有最近的消息/命令。
在《异星工厂》0.14.5及以后的版本,可以使用/clear命令关闭控制台。
控制台历史
控制台有一个内置的历史,它有些像文本编辑器,一次只能显示一行文本。
使用向上和向下键查看控制器历史。
使用向左和向右键 查看当前信息和命令,可以编辑(删除,插入等)和重新发送(按回车).
在《异星工厂》0.14.5及以后的版本,Tab键将自动完成命令和玩家的ID。
多人聊天
向特定玩家发送私人信息输入/whisper (或者 /w):
/whisper <playerId> <message>
回复最新收到的私人信息输入/reply (或者 /r):
/reply <message>
在《异星工厂》 0.14.4及以后的版本,群聊工作方式如下:
hello my team!
/s hello all players! /shout same as /s
在《异星工厂》0.14.3及更早的版本,群聊工作方式如下:
hello all players!
/team hello my team!
这些都是主要的聊天功能,有选项禁止,忽略和静音的玩家;通过控制台/help查看完整列表。
命令
查看所有可用的命令列表,在控制台输入/help (或/h), 可用的命令取决于《异星工厂》的版本和游戏设置。
/help
在《异星工厂》0.14.4及以后的版本,/help命令将只显示一个命令列表,/help(或者/h)输入命令名称(无斜线),例如,你想查阅/evolution命令,你可输入:
/h evolution
脚本和作弊命令
通过控制台你可以运行Lua脚本命令。它的工作方式类似于任何命令行界面或浏览器的JavaScript控制台。
这是个很强大的功能,可用于作弊,使用脚本命令成就保存将永久禁用。
运行脚本,在它之前加前缀/command(或 /c),例如:
/c game.player.print 'hello me!'
多人游戏中,该命令会在所有玩家屏幕上显示(他们会知道你是否在作弊)。
在《异星工厂》0.14.5及以后的版本,多人游戏服务器管理员使用/silent-command (只能通过RCON/服务器控制台)恶如不是/c避免该命令被所有用户知道。
/silent-command game.player.print 'only admins can use (and see) silent commands'
Mod开发商使用/measured-command,这很像/c,但是该命令运行需要很长时间,对于脚本性能优化很有用。
/measured-command game.player.print 'how much time does this take to run?'
在控制台中粘贴“小脚本”时,忽略换行符,这使得脚本可以以人类可读的形式编辑或复制/粘贴到控制台中,方便理解和编辑。
你可以删除任何Lua命令,就像删除Lua程序 - 《异星工厂》的Mods几乎没有Lua命令。因此你不需要“作弊”,因为控制台允许玩家进入游戏内部,你只需要熟悉命令和类型,以下面例子和Modding片段展示。
基本命令示例
作为计算机使用
/c game.player.print(1234 * 5678)
开采提速
/c game.player.force.manual_mining_speed_modifier=1000
合成提速
/c game.player.force.manual_crafting_speed_modifier=1000
解锁和研究所有科技
/c game.player.force.research_all_technologies()
撤销:
for _, tech in pairs(game.player.force.technologies) do tech.researched=false end
恢复默认设置
包括科技和速度改变。
/c game.player.force.reset()
缩放超过正常范围
注意缩放太远会导致性能问题。
/c game.player.zoom = 0.1
库存操作
补充资源(补充油,贴等)
在游戏中,将光标按在一个资源格上
/c game.player.selected.amount=7500
向玩家库存添加物品
用物品所需的内部名称替换铁板。
/c game.player.insert{name="iron-plate", count=100}
作弊模式
允许无限自由合成。用虚假替代真实进行禁用。
/c game.player.cheat_mode=true
世界操作
消除夜晚
使游戏只有白天。
/c game.surfaces[1].always_day=true
改变游戏速度
0.5是二分之一倍速,1是默认值,2是2倍速。这可以用来做很多事情,例如当你必须等待很长时间去完成一件事。注意,提速会造成性能下降。
/c game.speed = X
冻结时间
如果真实的时间过去可冻结时间,如果没有可以解除冻结。
/c game.player.surface.freeze_daytime(BOOL)
添加新的资源补丁
以玩家为中心,创造一个新的5x5的资源补丁,对于除了石头以外的资源,只需将"stone"改为"iron-ore","copper-ore"或者"coal"。
/c local surface = game.player.surface; for y=-2,2 do for x=-2,2 do surface.create_entity({name="stone", amount=5000, position={game.player.position.x+x, game.player.position.y+y}}) end end
计数单位
计算名字带有本地实体字符串的所有实体。
/c local entity = "belt"
local surface = game.player.surface local count = 0 for c in surface.get_chunks() do for key, entity in pairs(surface.find_entities_filtered({area={{c.x * 32, c.y * 32}, {c.x * 32 + 32, c.y * 32 + 32}}, force= game.player.force})) do if string.find(entity.name,entity) then count = count + 1 end end end game.player.print(count) end
敌人/进化
检查食人虫进化进程
注意不以"/c"开头的命令不能禁用成就。
/evolution
设置进化因素
范围从0 (新游戏)到1。
/c game.evolution_factor=X
禁用基于时间的进化&提升基于污染的进化
/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
最后命令后面的“2”是2倍默认污染因素,可以设置其他数值提高或降低污染因素。
杀死所有“敌方”势力的虫子
注意这只会杀死移动的单位和沙虫,虫巢不会被杀死。
/c game.forces["enemy"].kill_all_units()
杀死所有敌对生物
食人虫,基地和沙虫以及所有敌人的单位都会被杀死。这只会影响位于已探索世界的敌人,在地图上待探索的部分敌人仍然存在。
/c local surface = game.player.surface for c in surface.get_chunks() do for key, entity in pairs(surface.find_entities_filtered({area={{c.x * 32, c.y * 32}, {c.x * 32 + 32, c.y * 32 + 32}}, force= "enemy"})) do entity.destroy() end end
启用和平模式
在此模式下,虫子只会在被激怒的情况下才会发起攻击。
/c game.player.surface.peaceful_mode = true
禁止虫子扩张
禁止虫子制造新的虫巢。
/c game.map_settings.enemy_expansion.enabled = false
玩家角色
直接关于玩家的命令。
玩家定位
确定你当前位置的坐标。
/c game.player.print({"", "(", game.player.position.x, ", ", game.player.position.y, ")"})
玩家传送
向指定地点传送玩家。如果通过他们执行前一个命令获取他们的位置,你可以传送指定的玩家到你指定的地方。
/c game.player.teleport({X, Y})
传送到世界的起源,使用0,0。
产生一个玩家角色
在逃避上帝模式方面很有用。(使用上帝模式)。在世界的产生点产生一个可受控制的新玩家。
/c game.player.character = game.player.surface.create_entity{name="player", position = {0,0}, force = game.forces.player}
改变玩家颜色
注意,注意不以"/c"开头的命令不能禁用成就。使用颜色的名称替换COLOR。
/color COLOR
使用上帝模式
上帝模式允许你的角色飞跃障碍,不受伤害。
脱离玩家的控制:
/c game.player.character = nil
将鼠标悬浮在无用的玩家上,输入下列内容摧毁它:
/c game.player.selected.destroy()
研究
提升研究速度
/c game.player.force.laboratory_speed_modifier = 1
1是正常速度,2是2倍速。3是3倍速。我希望可以达到100。
使用特殊技术
使用技术 (论坛)
/c game.player.force.technologies['electric-energy-distribution-1'].researched=true /c game.player.force.technologies['steel-processing'].researched=true
立即结束研究
/c for name,technology in pairs(game.player.force.technologies) do technology.researched=technology.enabled end
大屏幕截图
你可以获取一个大的HD截图,使用你想要的数值替换X和Y。
该文件被放在名为"script-output"的文件夹, 与文件夹在相同位置。截图可以相当大。
/c game.take_screenshot{resolution = {x = XPOS, y = YPOS}}
或者
/c game.take_screenshot{showgui = true, resolution = {x = XPOS, y = YPOS}}
命令行参数
0.12.7游戏版本
命令行参数可以用来在游戏开始前用来设置命令行,这主要用于高级用户或服务器主机。
通用选项:
-h [ --help ] display help --wait-to-close arg Wait until the specified process finishes. --version show version information -c [ --config ] PATH config file to use
运行选项:
-s [ --map2scenario ] arg map to scenario conversion -v [ --convert ] SAVE[, SAVE...] convert maps from previous versions to current version --apply-update arg immediately apply update package --create SAVE create a new map --start-server SAVE start a multiplayer server --mp-load-game SAVE start factorio and load game for multiplayer --mp-connect ADDRESS start factorio and connect to address --benchmark SAVE load save and run benchmark --benchmark-ticks N (=1,000) number of ticks for benchmarking. Default is 1000
服务器选项:
--latency N multiplayer server latency, in ticks --latency-ms N multiplayer server latency, in milliseconds --autosave-interval N (=2) server autosave interval, in minutes --autosave-slots N (=3) server autosave slots --disallow-commands disallow use of the command console --peer-to-peer use peer-to-peer communication
多人游戏
--start-server SAVE
无GUI,在无终端(专用)服务器开始。
--mp-load-game SAVE
SAVE是保存文件的文件名,例如saves/MySave.zip: ./factorio --mp-load-game MySave.zip
--mp-connect ADDRESS
地址是IP:远程主机的端口。端口是可选的。 例如:
./factorio --mp-connect 192.168.1.101 ./factorio --mp-connect 192.168.1.101:2345
如上所述,端口可由地址中冒号后的端口数字指定。
--map2scenario SAVE
将一个保存游戏转换为用户剧情,允许保存的游戏状态加载到地图编辑器。假设保存的游戏名为"foo.zip",执行'./factorio --map2scenario s1',将会进行《异星工厂》加载,打开保存文件,将剧情保存在剧情文件夹中。
参见
- http://lua-api.factorio.com/latest/ - 《异星工厂》API参见最新版本。
- http://lua-api.factorio.com/ - 链接到特定版本的API参阅。
|