mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-25 13:07:46 +01:00
Adds the ability to compile to all telecomms servers at the same time
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
name = "telecommunications traffic control"
|
||||
|
||||
var/screen = 0 // the screen number:
|
||||
var/allservers = 0 // Are all servers being edited at the same time?
|
||||
var/list/servers = list() // the servers located by the computer
|
||||
var/mob/editingcode
|
||||
var/mob/lasteditor
|
||||
@@ -43,6 +44,7 @@
|
||||
dat += "<br>Detected Telecommunication Servers:<ul>"
|
||||
for(var/obj/machinery/telecomms/T in servers)
|
||||
dat += "<li><a href='?src=\ref[src];viewserver=[T.id]'>\ref[T] [T.name]</a> ([T.id])</li>"
|
||||
dat += "<li><a href='?src=\ref[src];viewserver=all'>Modify All Detected Servers</a></li>"
|
||||
dat += "</ul>"
|
||||
|
||||
dat += "<br><a href='?src=\ref[src];operation=release'>\[Flush Buffer\]</a>"
|
||||
@@ -54,13 +56,19 @@
|
||||
dat += "<br>[temp]<br>"
|
||||
dat += "<center><a href='?src=\ref[src];operation=mainmenu'>\[Main Menu\]</a> <a href='?src=\ref[src];operation=refresh'>\[Refresh\]</a></center>"
|
||||
dat += "<br>Current Network: [network]"
|
||||
dat += "<br>Selected Server: [SelectedServer.id]<br><br>"
|
||||
if(allservers)
|
||||
dat += "<br>Selected Server: All Servers<br><br>"
|
||||
else
|
||||
dat += "<br>Selected Server: [SelectedServer.id]<br><br>"
|
||||
dat += "<br><a href='?src=\ref[src];operation=editcode'>\[Edit Code\]</a>"
|
||||
dat += "<br>Signal Execution: "
|
||||
if(SelectedServer.autoruncode)
|
||||
dat += "<a href='?src=\ref[src];operation=togglerun'>ALWAYS</a>"
|
||||
if(allservers)
|
||||
dat += "<a href='?src=\ref[src];operation=runon'>ALWAYS</a> <a href='?src=\ref[src];operation=runoff'>NEVER</a>"
|
||||
else
|
||||
dat += "<a href='?src=\ref[src];operation=togglerun'>NEVER</a>"
|
||||
if(SelectedServer.autoruncode)
|
||||
dat += "<a href='?src=\ref[src];operation=togglerun'>ALWAYS</a>"
|
||||
else
|
||||
dat += "<a href='?src=\ref[src];operation=togglerun'>NEVER</a>"
|
||||
|
||||
if(screen == 2) //code editor
|
||||
if(editingcode == user)
|
||||
@@ -213,6 +221,26 @@
|
||||
compiling_errors += "(0 errors)"
|
||||
|
||||
updateUsrDialog()
|
||||
if(allservers)
|
||||
spawn(0)
|
||||
compiling_errors = "<font color = black>Please wait, compiling...</font>"
|
||||
updateUsrDialog()
|
||||
|
||||
for(var/obj/machinery/telecomms/server/Server in servers)
|
||||
Server.setcode(code)
|
||||
var/list/compileerrors = Server.compile(user)
|
||||
if(!telecomms_check(user))
|
||||
return
|
||||
if(compileerrors.len)
|
||||
compiling_errors = "<b>Compile Errors</b><br>"
|
||||
for(var/datum/scriptError/e in compileerrors)
|
||||
compiling_errors += "<font color = red>\t>[e.message]</font></br>"
|
||||
compiling_errors += "([compileerrors.len] errors)"
|
||||
updateUsrDialog()
|
||||
return // If there are errors, don't waste time compiling on other servers
|
||||
compiling_errors = "<font color='#4266DB'>TCS compilation successful!</font><br>"
|
||||
compiling_errors += "(0 errors)"
|
||||
updateUsrDialog()
|
||||
|
||||
if("Clear")
|
||||
if(!telecomms_check(user) || user != editingcode)
|
||||
@@ -225,13 +253,24 @@
|
||||
compiling_errors = "<font color='#4266DB'>Server Memory Cleared!</font>"
|
||||
storedcode = null
|
||||
updateUsrDialog()
|
||||
if(allservers)
|
||||
for(var/obj/machinery/telecomms/server/Server in servers)
|
||||
Server.memory = list() // clear the memory
|
||||
|
||||
compiling_errors = "<font color='#4266DB'>Server Memory Cleared!</font>"
|
||||
storedcode = null
|
||||
updateUsrDialog()
|
||||
|
||||
if(href_list["viewserver"])
|
||||
screen = 1
|
||||
for(var/obj/machinery/telecomms/T in servers)
|
||||
if(T.id == href_list["viewserver"])
|
||||
SelectedServer = T
|
||||
break
|
||||
if(href_list["viewserver"] == "all")
|
||||
allservers = 1
|
||||
else
|
||||
allservers = 0
|
||||
for(var/obj/machinery/telecomms/T in servers)
|
||||
if(T.id == href_list["viewserver"])
|
||||
SelectedServer = T
|
||||
break
|
||||
|
||||
if(href_list["operation"])
|
||||
switch(href_list["operation"])
|
||||
@@ -244,7 +283,7 @@
|
||||
screen = 0
|
||||
|
||||
if("codeback")
|
||||
if(SelectedServer)
|
||||
if(allservers || SelectedServer)
|
||||
screen = 1
|
||||
|
||||
if("scan")
|
||||
@@ -268,6 +307,12 @@
|
||||
|
||||
if("togglerun")
|
||||
SelectedServer.autoruncode = !(SelectedServer.autoruncode)
|
||||
if("runon")
|
||||
for(var/obj/machinery/telecomms/server/Server in servers)
|
||||
Server.autoruncode = 1
|
||||
if("runoff")
|
||||
for(var/obj/machinery/telecomms/server/Server in servers)
|
||||
Server.autoruncode = 0
|
||||
|
||||
if(href_list["network"])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user