__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 == 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 " " } print("Local Info:") print(info) print("===========") if info.rc ~= "S27_HEADSHUNT S27_AROUND" then S.yards.S27['info'] = info print("info.rc false --> S.yards.S27: ") print(S.yards.S27) print("===========") split_at_index(2,"BBWR") set_rc("S27_HEADSHUNT S27_AROUND") set_autocouple() else info = S.yards.S27['info'] print("info.rc true --> S.yards.S27: ") print(S.yards.S27) print("===========") set_rc(info.rc) set_line(info.ln) atc_set_text_inside(info.it) atc_set_text_outside(info.ot) atc_send("BBWD3RD1SM") end atc_set_ars_disable(false) return elseif S.yards.S27.shunt_type == false then --reverse around loop. player not present to supervise autocouple operation 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 end end