level 10
zhuyw05
楼主
h ttps://mods.factorio.com/mod/MegaPackFactory
众所周知,玩大型mod,UPS是绕不过去的痛点(说的就是你PY)。很多兄弟们玩到UPS只剩30-40就不想再玩这个档了。而且,越是好玩的机制(比如LTN火车,传送带分流器)越耗UPS。
我曾开过一贴,当时用的办法是魔改factory planner让它输出量化信息写到文件上,再在场外用python脚本根据量化结果生成一个特定的制造机和特定的等效配方。我最后没有发布那个工作,因为看起来可能不错但是玩起来体验非常差
1 每做一个量化就要切出去生成然后重新加载进游戏。py这种mod很大进一次游戏2分钟
2 py非常讲究一个配方升级。新机器,新插件,新配方是老办法的几十倍效率。不得不对同样功能的模组反复做很多次,而且塞进去的机器和插件无法回收...
3 每个量化结果对应一种新机器和新配方,而mod内容随着游戏过程不停动态修改,一旦把之前的某一个实体定义cover了,原来的存档立刻崩溃...
当时讨论帖里,有几个朋友都提到了一个思路,就是实际摆出一个厂区然后用脚本去监控它们的生产和消耗,然后用一个大箱子代替这个厂区,用脚本控制移除,插入物品来模拟一个等效的投入产出。
当时学艺不精,不知道怎么实现。这两天按这个思路实现了一个mod。刚刚写完,估计bug较多,贴图和操作方式也很粗陋。放在官网上了,请有兴趣的小伙伴们多测试多提意见,以及谁有适合体积很大的厂区 (50*50,100*100,200*200)的贴图甚至动图,请回帖教我。非常感谢!
这个mod通过生成constant-combinator展示信息,有个副作用就是会把原版constant-combinator的slots扩到1000.
完全靠本身的脚本实现功能,不依赖任何mod也应该和所有mod兼容。
使用方法是这样的 分为以下4步
1 站在一片空地上,命令行里输入/M1 或/M2 或/M3 (Mark),标记以角色为中心,边长50/100/200的一片区域。如果标记成功,会生成一个石砖铺成的框框。同时会移除周围其它的石砖地面。
2 在这片区域内,铺设你的蓝图区块。当稳定运行时,输入/S (Start monitor)启动监控。如果成功,你应该会看到每一个机器在产出物品时有白字飘过。
3 一段时间后,输入/E (End_monitor)停止监控。成功的话,区块右侧会生成三个constant-combinator。内容是这片区域平均每分钟的产出,输入,以及里面包含的建筑物和插件。为了减少中间产物体现在净输入和净输出上,你可以启动后再投料,切断投料等中间产物消耗完毕再停止监控。当然这会损失一点点效率
4 如果对结果满意,输入/P 厂区内的所有建筑物会被摧毁,创建一个同等大小的巨大的箱子,有1500个slot。每分钟脚本会检查箱子里的物品,尝试扣除1分钟的输入并放入1分钟的产出。这个箱子可以用以上流程创建多个,但是不能套娃(因为它本身是箱子不是制造机),也不能用蓝图复制。因为这个箱子作为entity只会被脚本创建,不存在对应的item。
5 不需要或者需要升级它时,右键挖掉它,会在角色背包插入里面包含的机器。如果恰好你背包满了,那就无了。(当前版本如果你/P之前拆除机器,可以复制一份机器。后续可能会修改这一点,会增加一个判断,所有机器都在才允许创建)
6 当前版本尚未处理电力消耗,造出来的大箱子不耗电(可能后续会调整)。无法处理输入和输出的流体:如果你的净输出包含流体会被移除,净输入包含除了水以外的流体则无法创建。净输入的水会被忽略。但是生产过程中的流体是允许的。如果你确实需要某个区块输入流体,可以改成输入装满的桶?
7 当前版本不处理需要燃料运作的entity,等于所有的燃料是免费的(当然也得不到burnt result)。后续可能会改
基本就是这样。召唤勇于试毒的吧友~
2023年10月02日 16点10分
1
众所周知,玩大型mod,UPS是绕不过去的痛点(说的就是你PY)。很多兄弟们玩到UPS只剩30-40就不想再玩这个档了。而且,越是好玩的机制(比如LTN火车,传送带分流器)越耗UPS。
我曾开过一贴,当时用的办法是魔改factory planner让它输出量化信息写到文件上,再在场外用python脚本根据量化结果生成一个特定的制造机和特定的等效配方。我最后没有发布那个工作,因为看起来可能不错但是玩起来体验非常差
1 每做一个量化就要切出去生成然后重新加载进游戏。py这种mod很大进一次游戏2分钟
2 py非常讲究一个配方升级。新机器,新插件,新配方是老办法的几十倍效率。不得不对同样功能的模组反复做很多次,而且塞进去的机器和插件无法回收...
3 每个量化结果对应一种新机器和新配方,而mod内容随着游戏过程不停动态修改,一旦把之前的某一个实体定义cover了,原来的存档立刻崩溃...
当时讨论帖里,有几个朋友都提到了一个思路,就是实际摆出一个厂区然后用脚本去监控它们的生产和消耗,然后用一个大箱子代替这个厂区,用脚本控制移除,插入物品来模拟一个等效的投入产出。
当时学艺不精,不知道怎么实现。这两天按这个思路实现了一个mod。刚刚写完,估计bug较多,贴图和操作方式也很粗陋。放在官网上了,请有兴趣的小伙伴们多测试多提意见,以及谁有适合体积很大的厂区 (50*50,100*100,200*200)的贴图甚至动图,请回帖教我。非常感谢!
这个mod通过生成constant-combinator展示信息,有个副作用就是会把原版constant-combinator的slots扩到1000.
完全靠本身的脚本实现功能,不依赖任何mod也应该和所有mod兼容。
使用方法是这样的 分为以下4步
1 站在一片空地上,命令行里输入/M1 或/M2 或/M3 (Mark),标记以角色为中心,边长50/100/200的一片区域。如果标记成功,会生成一个石砖铺成的框框。同时会移除周围其它的石砖地面。
2 在这片区域内,铺设你的蓝图区块。当稳定运行时,输入/S (Start monitor)启动监控。如果成功,你应该会看到每一个机器在产出物品时有白字飘过。
3 一段时间后,输入/E (End_monitor)停止监控。成功的话,区块右侧会生成三个constant-combinator。内容是这片区域平均每分钟的产出,输入,以及里面包含的建筑物和插件。为了减少中间产物体现在净输入和净输出上,你可以启动后再投料,切断投料等中间产物消耗完毕再停止监控。当然这会损失一点点效率
4 如果对结果满意,输入/P 厂区内的所有建筑物会被摧毁,创建一个同等大小的巨大的箱子,有1500个slot。每分钟脚本会检查箱子里的物品,尝试扣除1分钟的输入并放入1分钟的产出。这个箱子可以用以上流程创建多个,但是不能套娃(因为它本身是箱子不是制造机),也不能用蓝图复制。因为这个箱子作为entity只会被脚本创建,不存在对应的item。
5 不需要或者需要升级它时,右键挖掉它,会在角色背包插入里面包含的机器。如果恰好你背包满了,那就无了。(当前版本如果你/P之前拆除机器,可以复制一份机器。后续可能会修改这一点,会增加一个判断,所有机器都在才允许创建)
6 当前版本尚未处理电力消耗,造出来的大箱子不耗电(可能后续会调整)。无法处理输入和输出的流体:如果你的净输出包含流体会被移除,净输入包含除了水以外的流体则无法创建。净输入的水会被忽略。但是生产过程中的流体是允许的。如果你确实需要某个区块输入流体,可以改成输入装满的桶?
7 当前版本不处理需要燃料运作的entity,等于所有的燃料是免费的(当然也得不到burnt result)。后续可能会改
基本就是这样。召唤勇于试毒的吧友~





