summaryrefslogtreecommitdiff
path: root/durt
diff options
context:
space:
mode:
Diffstat (limited to 'durt')
-rw-r--r--durt/init_code.lua2
-rw-r--r--durt/nodes/(-3530,8,-2267).lua7
-rw-r--r--durt/nodes/(-3544,8,-2277).lua2
-rw-r--r--durt/nodes/(-3588,8,-2277).lua2
-rw-r--r--durt/nodes/(-73,2,-1984).lua2
-rw-r--r--durt/nodes/(430,17,19).lua1
-rw-r--r--durt/nodes/(430,17,7).lua1
-rw-r--r--durt/nodes/(839,6,-1864).lua2
8 files changed, 8 insertions, 11 deletions
diff --git a/durt/init_code.lua b/durt/init_code.lua
index b9ec142..2ecf27d 100644
--- a/durt/init_code.lua
+++ b/durt/init_code.lua
@@ -1 +1 @@
-S.termini = { E = "Tro", W = "Dbl" } S.stations = { Dbl = "Dubulti", Pav = "Pence Avenue", Ghd = "Greenhat Mountain", Acm = "Acacia Mountains", Ghb = "Green Hill Beach", Ged = "Green Edge", Dri = "Dry Island", Gcl = "Green Cliffs", Sfs = "South Forest", Jms = "Jude Milhon Street", Bam = "Bamboo Hills", Cli = "Clown Island", Wat = "Something in the Water", Duf = "Duff Rd", Tro = "Turtle Rock" } S.next_station = { E = { Dbl = "Pav", Pav = "Ghd", Ghd = "Acm", Acm = "Ghb", Ghb = "Ged", Ged = "Dri", Dri = "Gcl", Gcl = "Sfs", Sfs = "Jms", Jms = "Bam", Bam = "Cli", Cli = "Wat", Wat = "Duf", Duf = "Tro" }, W = { Tro = "Duf", Duf = "Wat", Wat = "Cli", Cli = "Bam", Bam = "Jms", Jms = "Sfs", Sfs = "Gcl", Gcl = "Dri", Dri = "Ged", Ged = "Ghb", Ghb = "Acm", Acm = "Ghd", Ghd = "Dbl", } } S.doors = { Tro = "L", Duf = "R", Wat = "L", Cli = "R", Bam = "R", Jms = "R", Sfs = "R", Gcl = "R", Dri = "L", Ged = "L", Ghb = "L", Acm = "L", Ghd = "L", Dbl = "R", Pav = "L" } F.arrive = function(stn_code) atc_send("B0 W O"..S.doors[stn_code]) atc_set_text_inside(S.stations[stn_code]) end F.leave = function(stn_code, dir) -- Try to set departure route e.g. StaW->Stb local pos = stn_code .. dir local route = stn_code .. "->" .. S.next_station[dir][stn_code] if can_set_route(pos, route) then set_route(pos, route) atc_set_text_inside("Next stop:\n" .. S.stations[S.next_station[dir][stn_code]]) atc_send("OC D1 SM") return end -- Wait another 5s before trying again atc_set_text_inside("Waiting to depart...") interrupt(5, "depart") end F.set_desto = function(dir, line) atc_set_text_outside("LINE " .. line .. "\n---> " .. S.stations[S.termini[dir]]) end F.station = function(stn_code, dir) if event.train then F.arrive(stn_code) interrupt(10, "depart") end if event.int and event.msg == "depart" then F.leave(stn_code, dir) end end F.terminus = function(stn_code, newdir, line) if event.train then atc_set_text_inside(S.stations[stn_code]) atc_send("B0 W R O"..S.doors[stn_code]) F.set_desto(newdir, line) interrupt(10, "depart") end if event.int and event.msg == "depart" then F.leave(stn_code, newdir) end end \ No newline at end of file
+S.lines = { S23 = { termini = { N = "Arc", S = "Rew" }, stations = { Rew = { name = "Redwood", doors = "L", next_station = { N = "Thc", S = false }, }, Thc = { name = "Tanh Cliffs", doors = "L", next_station = { N = "Noi", S = "Rew" }, }, Noi = { name = "No Idea", doors = "L", next_station = { N = "Lzf", S = "Thc" }, }, Lzf = { name = "Laza's Field", doors = "L", next_station = { N = "Bbh", S = "Noi" }, }, Bbh = { name = "Bamboo Hills", doors = "L", next_station = { N = "Arc", S = "Lzf" }, }, Arc = { name = "Arcadius", doors = "L", next_station = { N = false, S = "Bbh" }, } }, monitoring = { N = {}, S = {} } }, U21 = { termini = { E = "Tro", W = "Dbl" }, stations = { Dbl = { name = "Dubulti", doors = "R", next_station = { E = "Pav", W = "Ghd" } }, Pav = { name = "Pence Avenue", doors = "L", next_station = { E = "Ghd", W = "Dbl" } }, Ghd = { name = "Greenhat Mountain", doors = "L", next_station = { E = "Acm", W = "Dbl" } }, Acm = { name = "Acacia Mountains", doors = "L", next_station = { E = "Ghb", W = "Ghd" } }, Ghb = { name = "Green Hill Beach", doors = "L", next_station = { E = "Ged", W = "Acm" } }, Ged = { name = "Green Edge", doors = "L", next_station = { E = "Dri", W = "Ghb" } }, Dri = { name = "Dry Island", doors = "L", next_station = { E = "Gcl", W = "Ged" } }, Gcl = { name = "Green Cliffs", doors = "R", next_station = { E ="Sfs", W = "Dri" } }, Sfs = { name = "South Forest", doors = "R", next_station = { E = "Jms", W = "Gcl" } }, Jms = { name = "Jude Milhon Street", doors = "R", next_station = { E = "Bam", W = "Sfs" } }, Bam = { name = "Bamboo Hills", doors = "R", next_station = { E = "Cli", W = "Jms" } }, Cli = { name = "Clown Island", doors = "R", next_station = { E = "Wat", W = "Bam" } }, Wat = { name = "Something in the Water", doors = "L", next_station = { E = "Duf", W = "Cli" } }, Duf = { name = "Duff Rd", doors = "R", next_station = { E = "Tro", W = "Wat" } }, Tro = { name = "Turtle Rock", doors = "L", next_station = { E = false, W = "Duf" }, } }, monitoring = { E = {}, W = {}, S = {}, N = {} } } } --------------------------------------------------------------------- --defining the functions F.arrive = function(stn_code,dir,line) S.lines[line].monitoring[dir][stn_code] = atc_id atc_send("B0 W O"..S.lines[line].stations[stn_code].doors) atc_set_text_inside("Arrived at:\n"..S.lines[line].stations[stn_code].name.."\n \nNext Station:\n"..S.lines[line].stations[S.lines[line].stations[stn_code].next_station[dir]].name) end F.depart = function(stn_code,dir,line) local pos = stn_code..dir local inside_text = "Next Stop:\n"..S.lines[line].stations[S.lines[line].stations[stn_code].next_station[dir]].name if can_set_route(pos,stn_code.."->"..S.lines[line].stations[stn_code].next_station[dir]) then set_route(pos,stn_code.."->"..S.lines[line].stations[stn_code].next_station[dir]) atc_send("OC SM") S.lines[line].monitoring[dir][stn_code] = nil S.lines[line].monitoring[dir][S.lines[line].stations[stn_code].next_station[dir]] = atc_id else -- Wait another 5s before trying again inside_text = inside_text.."\nWaiting to depart..." interrupt(5, "depart") end atc_set_text_inside(inside_text) end F.set_desto = function(dir, line) atc_set_text_outside("LINE " .. line .."\n---> " .. S.lines[line].stations[S.lines[line].termini[dir]].name) end --------------------------------------------------------------------- --LuaATC track functions F.station = function(stn_code,dir,line) -- temp until all SF LuaAtc tracks are changed------------------------- if line == nil or line == "1" then line = "U21" end --------------------------------------------------------------------- if event.train then F.arrive(stn_code,dir,line) interrupt(10,"depart") elseif event.int and event.msg=="depart" then F.depart(stn_code,dir,line) end end F.terminus = function(stn_code, newdir, line) if event.train then S.lines[line].monitoring[newdir][stn_code] = atc_id atc_send("B0 W R O"..S.lines[line].stations[stn_code].doors) atc_set_text_inside("Arrived at:\n"..S.lines[line].stations[stn_code].name.."\n \nNext Station:\n"..S.lines[line].stations[S.lines[line].stations[stn_code].next_station[newdir]].name) atc_set_text_outside("LINE " .. line .."\n---> " .. S.lines[line].stations[S.lines[line].termini[newdir]].name) interrupt(10, "depart") end if event.int and event.msg == "depart" then F.depart(stn_code, newdir,line) end end \ No newline at end of file
diff --git a/durt/nodes/(-3530,8,-2267).lua b/durt/nodes/(-3530,8,-2267).lua
index cef1cec..40c32b6 100644
--- a/durt/nodes/(-3530,8,-2267).lua
+++ b/durt/nodes/(-3530,8,-2267).lua
@@ -1,6 +1 @@
---control interface loading_road_control_track = POS(-3544,8,-2277) entry_exit_road_control = nil --still need to add a track for traffic balancing if event.ext_int then digiline_send("train_control_screen",event.message) return end if event.digiline then if event.channel ~= "train_control" then return end if event.msg=="rehead" then digiline_send("train_control_screen","Loco Change Ends") interrupt_pos(loading_road_control_track,"split_around") return end if event.msg=="depart" then digiline_send("train_control_screen","Depart via Accelerator") interrupt_pos(loading_road_control_track,"depart") return end if event.msg=="shuffle_loading" then digiline_send("train_control_screen","Loading Shuffle") interrupt_pos(loading_road_control_track,"shuffle") return end
-
-if event.msg=="emergency_ext_int" then interrupt_pos(POS(-73,2,-1984),"go") return end
-
-
- return end \ No newline at end of file
+--control interface loading_road_control_track = POS(-3544,8,-2277) entry_exit_road_control = nil --still need to add a track for traffic balancing if event.ext_int then digiline_send("train_control_screen",event.message) return end if event.digiline then if event.channel ~= "train_control" then return end if event.msg=="rehead" then digiline_send("train_control_screen","Loco Change Ends") interrupt_pos(loading_road_control_track,"split_around") return end if event.msg=="depart" then digiline_send("train_control_screen","Depart via Accelerator") interrupt_pos(loading_road_control_track,"depart") return end if event.msg=="shuffle_loading" then digiline_send("train_control_screen","Loading Shuffle") interrupt_pos(loading_road_control_track,"shuffle") return end return end \ No newline at end of file
diff --git a/durt/nodes/(-3544,8,-2277).lua b/durt/nodes/(-3544,8,-2277).lua
index ba6c2bf..20c7298 100644
--- a/durt/nodes/(-3544,8,-2277).lua
+++ b/durt/nodes/(-3544,8,-2277).lua
@@ -1 +1 @@
--- Loading Road Control info = { line = "Maverick2797_diamonds", rc = "autorun FREIGHT", outside = "DURT Logs to Diamonds Conversion Train", inside = "Cargo: Logs and Leaves\nOrigin: Auto Logging Plantation\nDestination: Icebreaker Factory", } accelerator_loop_diverge_sig = POS(-3602,9,-2282) loading_exit_sig = POS(-3539,9,-2279) control_interface = POS(-3530,8,-2267) depart = function() if not atc_arrow then atc_send("R") end if can_set_route(loading_exit_sig,"Train Accelerator Loop") then set_route(loading_exit_sig,"Train Accelerator Loop") atc_send("SM") set_line(info.line) set_rc(info.rc) atc_set_text_inside(info.inside) atc_set_text_outside(info.outside) return else interrupt(2,"depart") return end end if event.type=="ext_int" then if not atc_id then interrupt_pos(control_interface,"No Train at Signal") return elseif atc_speed ~= 0 then interrupt_pos(control_interface,"Train Still Moving") return end if event.message == "split_around" then set_rc("split_around") if atc_arrow == true then atc_send("S0WR") end atc_send("S0WS3") return end if event.message == "depart" then depart() return end if event.message=="shuffle" then if can_set_route(loading_exit_sig,"Loop Around") then set_route(loading_exit_sig,"Loop Around") set_route(accelerator_loop_diverge_sig,"Loading Road") atc_send("S8D30S5") return else interrupt_pos(control_interface,"Unable to set routes") return end return end return end if event.type=="int" then if event.message=="depart" then depart() return end return end \ No newline at end of file
+-- Loading Road Control info = { line = "Maverick2797_diamonds", rc = "autorun FREIGHT", outside = "DURT Logs to Diamonds Conversion Train", inside = "Cargo: Logs and Leaves\nOrigin: Auto Logging Plantation\nDestination: Icebreaker Factory", } accelerator_loop_diverge_sig = POS(-3602,9,-2282) loading_exit_sig = POS(-3539,9,-2279) control_interface = POS(-3530,8,-2267) depart = function() if not atc_arrow then atc_send("R") end if can_set_route(loading_exit_sig,"Train Accelerator Loop") then set_route(loading_exit_sig,"Train Accelerator Loop") atc_send("SM") set_line(info.line) set_rc(info.rc) atc_set_text_inside(info.inside) atc_set_text_outside(info.outside) return else interrupt(2,"depart") return end end if event.type=="ext_int" then if not atc_id then interrupt_pos(control_interface,"No Train at Signal") return elseif atc_speed ~= 0 then interrupt_pos(control_interface,"Train Still Moving") return end if event.message == "split_around" then atc_send("I+S0B0WRS3 E S3;") set_rc("split_around") return end if event.message == "depart" then depart() return end if event.message=="shuffle" then if can_set_route(loading_exit_sig,"Loop Around") then set_route(loading_exit_sig,"Loop Around") set_route(accelerator_loop_diverge_sig,"Loading Road") atc_send("S8D30S5") return else interrupt_pos(control_interface,"Unable to set routes") return end return end return end if event.type=="int" then if event.message=="depart" then depart() return end return end \ No newline at end of file
diff --git a/durt/nodes/(-3588,8,-2277).lua b/durt/nodes/(-3588,8,-2277).lua
index 9077f3c..0858265 100644
--- a/durt/nodes/(-3588,8,-2277).lua
+++ b/durt/nodes/(-3588,8,-2277).lua
@@ -1 +1 @@
---train splitter track mainline_line = "Maverick2797_diamonds" mainline_rc = "autorun FREIGHT" text_outside = "DURT Logs to Diamonds Conversion Train" loading_stopper_sig = POS(-3594,9,-2277) split_around = function() if ((atc_speed==0) and can_set_route(loading_stopper_sig,"Shunt Around Via Loop")) then split_at_index(2,"") atc_send("S4") set_route(loading_stopper_sig,"Shunt Around Via Loop") return else interrupt(2,"split_around") return end end if event.train then if not atc_arrow then atc_send("B1S1") return end if get_rc() == "split_around" then atc_send("B0") split_around() return else --rejoined from splitting or arriving train atc_send("S0WRS1") set_line(mainline_line) set_rc(mainline_rc) atc_set_text_outside(text_outside) atc_set_text_inside("Loading Cargo") return end end if event.type=="int" then if event.message=="split_around" then split_around() return end return end \ No newline at end of file
+--train splitter track mainline_line = "Maverick2797_diamonds" mainline_rc = "autorun FREIGHT" text_outside = "DURT Logs to Diamonds Conversion Train" loading_stopper_sig = POS(-3594,9,-2277) split_around = function() if ((atc_speed==0) and can_set_route(loading_stopper_sig,"Shunt Around Via Loop")) then split_at_index(2,"") atc_send("S4") set_route(loading_stopper_sig,"Shunt Around Via Loop") return else interrupt(2,"split_around") return end end if event.train then if not atc_arrow then atc_send("B1S1") return end if get_rc() == "split_around" then atc_send("B0") split_around() return else --rejoined from splitting or arriving train atc_send("B0S0WD2RS1") set_line(mainline_line) set_rc(mainline_rc) atc_set_text_outside(text_outside) atc_set_text_inside("Loading Cargo") return end end if event.type=="int" then if event.message=="split_around" then split_around() return end return end \ No newline at end of file
diff --git a/durt/nodes/(-73,2,-1984).lua b/durt/nodes/(-73,2,-1984).lua
index 569eab1..8c67c6d 100644
--- a/durt/nodes/(-73,2,-1984).lua
+++ b/durt/nodes/(-73,2,-1984).lua
@@ -1,2 +1,2 @@
-F.set_desto("E", 21)
+F.set_desto("E", "U21")
F.station("Dbl", "E") \ No newline at end of file
diff --git a/durt/nodes/(430,17,19).lua b/durt/nodes/(430,17,19).lua
new file mode 100644
index 0000000..ed65c79
--- /dev/null
+++ b/durt/nodes/(430,17,19).lua
@@ -0,0 +1 @@
+local line = "S23" if event.punch or (event.channel=="clock" and event.msg=="pulse")then digiline_send("status_update",S.lines[line].monitoring) end \ No newline at end of file
diff --git a/durt/nodes/(430,17,7).lua b/durt/nodes/(430,17,7).lua
new file mode 100644
index 0000000..07c8260
--- /dev/null
+++ b/durt/nodes/(430,17,7).lua
@@ -0,0 +1 @@
+local line = "U21" if event.punch or (event.channel=="clock" and event.msg=="pulse")then digiline_send("status_update",S.lines[line].monitoring) end \ No newline at end of file
diff --git a/durt/nodes/(839,6,-1864).lua b/durt/nodes/(839,6,-1864).lua
index 85f60e1..6029c42 100644
--- a/durt/nodes/(839,6,-1864).lua
+++ b/durt/nodes/(839,6,-1864).lua
@@ -1 +1 @@
-F.terminus("Tro", "W", 21) \ No newline at end of file
+F.terminus("Tro", "W", "U21") \ No newline at end of file