summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--durt/nodes/(-4599,7,-6502).lua17
-rw-r--r--durt/nodes/(-4623,7,-6597).lua17
-rw-r--r--durt/nodes/(-4626,7,-6638).lua18
3 files changed, 32 insertions, 20 deletions
diff --git a/durt/nodes/(-4599,7,-6502).lua b/durt/nodes/(-4599,7,-6502).lua
index 0fa580c..6040727 100644
--- a/durt/nodes/(-4599,7,-6502).lua
+++ b/durt/nodes/(-4599,7,-6502).lua
@@ -1,13 +1,20 @@
-if event.train and atc_arrow then
- local rc = get_rc() or ""
- if rc:match("BFT_Mainline_Headshunt") then
- schedule_in(";01",atc_id)
+if event.train then
+ if atc_arrow then
+ if F.has_rc("BFT_Mainline_Headshunt") then
+ schedule_in(";01",atc_id)
+ print("Train's id: " ..atc_id)
+ return
+ end
+ else
+ if not F.has_rc("BFT_rejoin_from_north") then return end
+ atc_send("CplD1S1")
return
end
end
if event.schedule then
- if event.msg == atc_id then
+ print("Msg id: "..event.msg)
+ if atc_id and event.msg == atc_id then
schedule_in(";01",event.msg)
return
else
diff --git a/durt/nodes/(-4623,7,-6597).lua b/durt/nodes/(-4623,7,-6597).lua
index 4095975..649ba8b 100644
--- a/durt/nodes/(-4623,7,-6597).lua
+++ b/durt/nodes/(-4623,7,-6597).lua
@@ -1,6 +1,15 @@
local split_indicator = POS(-4630,8,-6589)
__approach_callback_mode = 1
+local shunt_actions = {
+ "BFT_Siding_B",
+ "BFT_shunt_platforms",
+ "BFT_shunt_around_Track2",
+ "BFT_Mainline_Headshunt",
+ "BFT_rejoin_from_north",
+ "BFT_Platform1"
+}
+
if event.approach and not event.has_entered then
if F.has_rc("BFT_around_test") == false then return end
@@ -13,14 +22,14 @@ if event.train then
if not atc_arrow then return end
local state = getstate(split_indicator)
if state == "off" then
- split_off_locomotive("A0B0OL",1)
+ split_off_locomotive("A0B0OR",1)
atc_send("S3")
atc_set_ars_disable(false)
setstate(split_indicator,"on")
- set_rc((get_rc() or "").." BFT_Siding_B BFT_shunt_around_Track2 BFT_Mainline_Headshunt BFT_Platform1")
+ set_rc(F.get_rc_safe() .. table.concat(shunt_actions," "))
elseif state == "on" then
- atc_send("B0WROCA1D2S4D10SM")
+ atc_send("I>1B0ES0;WROCA1D2S4D10SM")
setstate(split_indicator,"off")
- F.remove_rc({"BFT_Siding_B","BFT_shunt_around_Track2","BFT_Mainline_Headshunt","BFT_Platform1"})
+ F.remove_rc(shunt_actions)
end
end \ No newline at end of file
diff --git a/durt/nodes/(-4626,7,-6638).lua b/durt/nodes/(-4626,7,-6638).lua
index 17a83e8..f602f9b 100644
--- a/durt/nodes/(-4626,7,-6638).lua
+++ b/durt/nodes/(-4626,7,-6638).lua
@@ -1,23 +1,19 @@
local signal = POS(-4626,7,-6616)
if event.train and atc_arrow then
- local rc = (get_rc() or "")
- if rc:match("BFT_shunt_platforms") then
+ if F.has_rc("BFT_shunt_platforms") then
local control = {"B0WD2A0R"}
- if rc:match("BFT_shunt_Platform1") then
+ if F.has_rc("BFT_shunt_Platform1") then
set_route(signal,"SHUNT Platform 1")
control[2] = "S3CplS1"
- elseif rc:match("BFT_shunt_Track2") then
+ elseif F.has_rc("BFT_shunt_Track2") then
set_route(signal,"SHUNT Track 2")
control[2] = "S3CplS1"
- elseif rc:match("BFT_shunt_around_Track2") then
- set_route(signal,"Around via Track2")
+ elseif F.has_rc("BFT_shunt_around_Track2") then
+ set_route(signal,"Around via Track 2")
control[2] = "S4"
end
-
- if #control > 1 then
- control[1] = table.concat(control,"")
- end
- atc_send(control[1])
+ control = table.concat(control,"")
+ atc_send(control)
return
end
end \ No newline at end of file