异星工厂吧 关注:63,146贴子:408,257
  • 13回复贴,共1

【求助】火车可以搞按需激活吗?

只看楼主收藏回复

大家好
我最近翻出来一个清欢大佬的蓝图包,确实好东西,比我本人的火车站好多了
但是有一个小问题
火车取货的优先级是按照供应确定的,而且火车是通用的,凡是物品同一辆车都可以拉
所以,挖不出来这么多矿,想要也不给你(废话),挖出来这么多矿,不需要也塞上车
在N次工厂缺铁矿罢工,候车区停了6辆装满铜矿的火车后,我想,不能这样了,铜铁两种矿物都这样,这Bmod(自己写的神人mod)几十种流体不得弄死我
同时,我注意到清欢大佬的蓝图的火车轨道自带信号线,我想,可不可以完全用需求来决定火车的行动呢?
具体做法:
火车:
照抄清欢蓝图
需求站:
清欢蓝图自带计算需要的火车数量 ((24k - 缓存)/8k),把L信号换成对应矿物种类信号发送到信号网络中即可
供应站:
由于空火车实际上是按供应站情况活动的,所以实际上我们需要做的是将供给配合需求
设此车站最大可用车辆数L(缓存/8k)
网络中读取到对应种类需求X
令F表示实际设定给车站的容量
step 1 :
if X > 0 : F = max(F + 1, L)
if X < 0 : F = min(F - 1, 0)
step 2 :
将 -F 发送到信号网络对应类别中
但是,这样可能会 需求为1,两个同类车站不断 +2 -2 的情况
所以,不妨加入一个计数器T
if T < 120 : T = T + 1
else T = 0
只在T = 0时更新车站状态即可
当然也许不断+-2没有影响呢,我没试过不知道
问题
1 这个思路可行吗
2 前人是否已经有这个工作
3 有适合2.0DLC的蓝图包吗?
最后,市场经济好阿


IP属地:海南1楼2025-09-25 00:51回复
    卸货站要C-L再上网,否则会在堵车的时候反复提交需求。
    上货站需要把自己的C发到网上,表示该需求已接单,对冲掉卸货站的需求信息。


    IP属地:山西2楼2025-09-25 01:30
    收起回复
      2025-11-06 20:32:10
      广告
      不感兴趣
      开通SVIP免广告
      完全可以行,但比较复杂,需要解决的问题相当多,最后搭出来的会是一套类LTN系统。
      所谓LTN是一个火车调度的mod,不妨尝试一下,它完全实现了题目中说的按需调度。


      IP属地:江苏来自Android客户端3楼2025-09-25 08:05
      收起回复
        贴吧大佬有发过同名车站加中断机制的自助调度方案,在供货站装满候车,按需送货,基本实现了把火车当物流机器人使。用中断机制加同名车站完美平替集中调度系统,不用建全局信号网络,可以搜来看看


        IP属地:重庆来自Android客户端5楼2025-09-26 09:35
        收起回复
          看看我的


          IP属地:浙江来自Android客户端6楼2025-09-27 22:26
          收起回复
            我是用雷达把供货和卸货连一起,某种矿的缓存够了就把供货站关了,再加个定时中断让无路径车去停车场,小规模够用,大规模没试过


            IP属地:浙江7楼2025-09-28 06:47
            收起回复
              最近捡起异星工厂玩,目前是把固体车站弄好了,就三种站点,车库、供应、需求,以负值信号按需发车,不去塞供货站,而且可以直接在需求站卸完货就地接任务不回车库,摆脱车库信号发车依赖,当然车库也可以按需发车,有负值超过一分钟才会轮询发车,出现重复发车的概率微乎其微,目的地已满的站会自动跳过,比如铜矿全部枯竭,有-10个铜矿车辆需求,它可以发车时就跳过个别或全部去不了的站点。所以我可以证明你的想法或者设想是可行的,不过我是按着自己的思路搞的,算法这些和你不一样。


              IP属地:贵州来自iPhone客户端8楼2025-10-31 08:23
              收起回复