diff options
-rw-r--r-- | auto_yards/nodes/(-2004,2,-1101).lua | 1 | ||||
-rw-r--r-- | durt/nodes/(-2204,8,-651).lua | 27 | ||||
-rw-r--r-- | durt/nodes/(-2204,8,-676).lua | 29 | ||||
-rw-r--r-- | durt/nodes/(-2209,9,-651).lua | 10 | ||||
-rw-r--r-- | durt/nodes/(-2213,10,-728).lua | 2 | ||||
-rw-r--r-- | far/init_code.lua | 1 | ||||
-rw-r--r-- | far/nodes/(5856,21,2314).lua | 3 | ||||
-rw-r--r-- | far/nodes/(5856,21,2315).lua | 3 |
8 files changed, 73 insertions, 3 deletions
diff --git a/auto_yards/nodes/(-2004,2,-1101).lua b/auto_yards/nodes/(-2004,2,-1101).lua index c0d57ae..031f395 100644 --- a/auto_yards/nodes/(-2004,2,-1101).lua +++ b/auto_yards/nodes/(-2004,2,-1101).lua @@ -10,6 +10,7 @@ local subs = { ]]-- ['ARC'] = {['pos'] = POS(-1973,16,800), ['msg'] = "notify"}, + ['NOID'] = {['pos'] = POS(-2204,8,-676), ['msg'] = "notify"}, } if event.ext_int or event.punch then diff --git a/durt/nodes/(-2204,8,-651).lua b/durt/nodes/(-2204,8,-651).lua new file mode 100644 index 0000000..1607eaf --- /dev/null +++ b/durt/nodes/(-2204,8,-651).lua @@ -0,0 +1,27 @@ +local cmd = { + "TREES_RUNAROUND", + "SHUNT_MAINLINE_REV", +} +__approach_callback_mode = 1 + +if event.approach and not event.has_entered then + atc_set_ars_disable(true) + atc_set_lzb_tsr(1) + return +end + +if event.train and atc_arrow then + if not F.has_rc("BYARD_NOID_SHUTTLE") then return end -- not our train, disregard + if not F.has_rc("TREES_RUNAROUND") then -- train has arrived from yard, split and runaround + split_off_locomotive("A0B0") --disable ARS to stop the rest of the train engaging the signal + F.add_rc(cmd) --add RC commands tomake the train runaround + atc_send("S3A1") --send the loco on its way to make the runaround + return + end + --else loco has returned from runaround + F.remove_rc(cmd) -- remove runaround RCs + atc_send("S0WRS1") --reverse the train and creep towards the other departure signal + step_fc() --step the fc forward to be ready for the autoyard + return +end +
\ No newline at end of file diff --git a/durt/nodes/(-2204,8,-676).lua b/durt/nodes/(-2204,8,-676).lua new file mode 100644 index 0000000..f4a3fe5 --- /dev/null +++ b/durt/nodes/(-2204,8,-676).lua @@ -0,0 +1,29 @@ +local notification_id = "NOID" +local ind = POS(-2209,8,-651) -- IMPORTANT NB: remember to update this if you move the indicator mesecon switch +local print_notification = true +local function send_train() + set_rc("FREIGHT BYARD_NOID_SHUTTLE BYARD BY_COLLECT_NOID BY_RTS NIDTH NOIDEA IND TREES") -- RC string to overwrite when departing for the autoyard, remember to include the return RCs as well + atc_send("A1SM") + F.indicator(ind,false) +end +if event.ext_int then -- trigger event from the yard itself. + if event.message == "notify" then -- can also be a manual/other message, just edit this if statement + if print_notification then print(rwt.to_string(rwt.now()).. " "..notification_id.." RX Notification") end + if F.indicator(ind) then return end -- indicator is already lit, train hasn't collected the first set yet + if atc_id then --send the train to the yard for collection + send_train() + return + else -- set the indicator to await the returning train + F.indicator(ind,true) + return + end + end +end +if event.train and atc_arrow then + if F.indicator(ind) then + send_train() + return + end + atc_send("B0") + return +end
\ No newline at end of file diff --git a/durt/nodes/(-2209,9,-651).lua b/durt/nodes/(-2209,9,-651).lua new file mode 100644 index 0000000..391fab3 --- /dev/null +++ b/durt/nodes/(-2209,9,-651).lua @@ -0,0 +1,10 @@ +local users = { +"gabriel", +"survivalg", +"Maverick2797" +} +if event.punch then +for _,name in pairs(users) do +if event.name==name then interrupt_pos(POS(-2204,8,-676),"notify") return end +end +end
\ No newline at end of file diff --git a/durt/nodes/(-2213,10,-728).lua b/durt/nodes/(-2213,10,-728).lua new file mode 100644 index 0000000..23ac35d --- /dev/null +++ b/durt/nodes/(-2213,10,-728).lua @@ -0,0 +1,2 @@ +if not F.has_rc("TREES_RUNAROUND") then return end +atc_send("CplS1")
\ No newline at end of file diff --git a/far/init_code.lua b/far/init_code.lua index 429d6ac..49b0be6 100644 --- a/far/init_code.lua +++ b/far/init_code.lua @@ -29,6 +29,7 @@ F.ttp={ stn_display = "FAR Salt Factory", }, } +-- S.ttp["FAR_E"].force_tt_reset = true F.print = function (str) if F.debug then print("".. (str or "nil") ) end end F.isempty = function (s) return s == nil or s == "" end diff --git a/far/nodes/(5856,21,2314).lua b/far/nodes/(5856,21,2314).lua new file mode 100644 index 0000000..16b02a4 --- /dev/null +++ b/far/nodes/(5856,21,2314).lua @@ -0,0 +1,3 @@ +-- far_luaatctrack_spot_check_01.lua + +F.save_train(POS(5856,21,2314), "west") diff --git a/far/nodes/(5856,21,2315).lua b/far/nodes/(5856,21,2315).lua deleted file mode 100644 index 9e62790..0000000 --- a/far/nodes/(5856,21,2315).lua +++ /dev/null @@ -1,3 +0,0 @@ --- far_luaatctrack_spot_check_01.lua - -F.save_train(POS(5856,21,2315), "west") |