local notification_id = "ARC" local ind = POS(-1954,16,840) local print_notification = true local sections ={ store_4 = "032832" -- Destined for Arcadius Basement Loading Dock } local function send_train() atc_send("S0WRD2A1S4") local cmd = { -- collect wagons from BYARD, and park loco in loco siding if no departures at ARC "FREIGHT", "ARC_LOCOSTORE", "ARC_AUTO", "ARC_RTS", "ARC_COLLECT_ARC_SB", "ARC_AUTO_S23S", "S23E3N", "BYARD", "BY_RTS", "BY_COLLECT_ARC", "E3S23N", "ARC_LIGHT_EXIT" } if #section_occupancy(sections.store_4) ~= 0 then if print_notification then print(rwt.to_string(rwt.now()).. " "..notification_id.." send_train() has local job from STORE_4") end -- perform local job to Arcadius Basement Loading Dock before taking wagons to BYARD cmd = { "FREIGHT", --because it's freight "ARC_LOCOSTORE", --technically the loco identifier until we have wagon ID. will be ignored by yard_headshunt because no "ARC_DEPART" etc "ARC_YARD_REENTRY", --redirect back into the yard from yard_exit controller. will be checked by yard_exit before ARS triggers "ARC_RTS", --basic yard call "ARC_COLLECT_ARC_LOAD_DOCK", -- collect req wagons. can be left in place, if train_length == 1 then will return to siding anyway "ARC_AUTO_LOCAL_LOADING", --direct to ARC Basement Loading Dock "ARC_LOAD", --trigger the loading track } end set_rc(table.concat(cmd," ")) atc_send("S0WRD2A1S4") F.indicator(ind,false) -- will be reenabled by returning the wagons from the local job end if event.ext_int then if event.message == "notify" then if print_notification then print(rwt.to_string(rwt.now()).. " "..notification_id.." RX Notification") end if F.indicator(ind) then return end if atc_id then send_train() return else F.indicator(ind,true) return end end if event.message == "notify_local" then if print_notification then print(rwt.to_string(rwt.now()).. " "..notification_id.." RX Notification - Local Job") end if F.indicator(ind) then return end if atc_id then send_train() return else F.indicator(ind,true) return end end end if event.train then if F.indicator(ind) then send_train() return end atc_send("B0") return end