blob: c76d2cedac81a5ab86d83372d6f4528e6e239376 (
plain)
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
--reverse around loop. player not present to supervise autocouple
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
--split and run around properly. player is present to supervise autocouple
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,"BBWR")
set_rc("S27_HEADSHUNT S27_AROUND")
set_autocouple()
end
atc_set_ars_disable(false)
return
end
end
|