diff options
-rw-r--r-- | durt/init_code.lua | 4 | ||||
-rw-r--r-- | durt/nodes/(-1442,11,-2580).lua | 2 | ||||
-rw-r--r-- | durt/nodes/(-1478,11,-2588).lua | 1 | ||||
-rw-r--r-- | durt/nodes/(-1499,8,-2597).lua | 4 | ||||
-rw-r--r-- | durt/nodes/(-1511,11,-2591).lua | 1 | ||||
-rw-r--r-- | durt/nodes/(-1513,11,-2588).lua | 1 |
6 files changed, 12 insertions, 1 deletions
diff --git a/durt/init_code.lua b/durt/init_code.lua index af89c7c..2cd41c9 100644 --- a/durt/init_code.lua +++ b/durt/init_code.lua @@ -16,7 +16,9 @@ F.M27_tracking = function(id)
if not event.train then return end
local rc = ge --Atlac Yard Operations if event.init then local list_of_yards = { - ["WOA"] = {} + ["WOA"] = {}, + ["S27"] = {}, + } S.yards = S.yards or list_of_yards end diff --git a/durt/nodes/(-1442,11,-2580).lua b/durt/nodes/(-1442,11,-2580).lua new file mode 100644 index 0000000..c542ec7 --- /dev/null +++ b/durt/nodes/(-1442,11,-2580).lua @@ -0,0 +1,2 @@ +-- +--to do: use rc token search to remove S27_EXIT rc
\ No newline at end of file diff --git a/durt/nodes/(-1478,11,-2588).lua b/durt/nodes/(-1478,11,-2588).lua new file mode 100644 index 0000000..bb966dd --- /dev/null +++ b/durt/nodes/(-1478,11,-2588).lua @@ -0,0 +1 @@ +__approach_callback_mode = 1
if event.approach and not event.has_entered then
atc_set_ars_disable(true)
atc_set_lzb_tsr(1)
end
if event.train and atc_arrow then
atc_send("S1")
end
\ No newline at end of file diff --git a/durt/nodes/(-1499,8,-2597).lua b/durt/nodes/(-1499,8,-2597).lua new file mode 100644 index 0000000..af45761 --- /dev/null +++ b/durt/nodes/(-1499,8,-2597).lua @@ -0,0 +1,4 @@ +if event.type=="digiline" then + if event.channel ~= "shunt_type" then return end + S.yards.S27['shunt_type'] = event.msg +end
\ No newline at end of file diff --git a/durt/nodes/(-1511,11,-2591).lua b/durt/nodes/(-1511,11,-2591).lua new file mode 100644 index 0000000..1ba9e10 --- /dev/null +++ b/durt/nodes/(-1511,11,-2591).lua @@ -0,0 +1 @@ +digiline_send("lcd",tostring(S.yards.S27.shunt_type))
\ No newline at end of file diff --git a/durt/nodes/(-1513,11,-2588).lua b/durt/nodes/(-1513,11,-2588).lua new file mode 100644 index 0000000..ca9cbd9 --- /dev/null +++ b/durt/nodes/(-1513,11,-2588).lua @@ -0,0 +1 @@ +__approach_callback_mode = 1
if event.approach and not event.has_entered then
atc_set_ars_disable(true)
atc_set_lzb_tsr(1)
end
if event.train and atc_arrow then
if S.yards.S27.shunt_type == false then
local rc = get_rc() or ""
local action = 0
local rc_list = {}
for token in rc:gmatch("[^%s]+") do
if token=="S27_LOOP" then
action = 1
else
table.insert(rc_list,token)
end
end
if action == 0 then
rc = rc.." S27_LOOP"
else
rc = table.concat(rc_list," ").." S27_EXIT"
end
set_rc(rc)
atc_set_ars_disable(false)
atc_send("B0WRD1S3")
return
elseif S.yards.S27.shunt_type == true then
local info = {
['rc'] = get_rc() or "",
['ln'] = get_line() or "",
['it'] = atc_get_text_inside() or "",
['ot'] = atc_get_text_outside() or ""
}
if info.rc == "S27_HEADSHUNT S27_AROUND" then
info = S.yards.S27.info
set_rc(info.rc)
set_line(inf.ln)
atc_set_text_inside(info.it)
atc_set_text_outside(info.ot)
atc_send("BBWD3RD1SM")
else
S.yards.S27[info] = info
split_at_index(2,"BB")
set_rc("S27_HEADSHUNT S27_AROUND")
end
atc_set_ars_disable(false)
return
end
end
\ No newline at end of file |