mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-16 12:22:42 +00:00
* SDQL2 update * fix that verb * cl * fix that * toworld * this is pointless * update info * siiiiick.. * vv edit update * fix that * fix editing vars * fix VV * Port the /TG/ globals controller. * part 1 * part 2 * oops * part 3 * Hollow Purple * sadas * bsbsdb * muda na agaki ta * ids 1-15 * 16-31 * 41-75 * bring me back to how things used to be before i lost it all * the strength of mayhem * final touches * cl * protect some vars * update sdql2 to use glob * stuff? * forgot that is not defined there * whoops * observ * but it never gets better * a --------- Co-authored-by: Matt Atlas <liermattia@gmail.com>
51 lines
2.0 KiB
Plaintext
51 lines
2.0 KiB
Plaintext
//By Carnwennan
|
|
|
|
//This system was made as an alternative to all the in-game lists and variables used to log stuff in-game.
|
|
//lists and variables are great. However, they have several major flaws:
|
|
//Firstly, they use memory. TGstation has one of the highest memory usage of all the ss13 branches.
|
|
//Secondly, they are usually stored in an object. This means that they aren't centralised. It also means that
|
|
//the data is lost when the object is deleted! This is especially annoying for things like the singulo engine!
|
|
#define INVESTIGATE_DIR "data/investigate/"
|
|
|
|
//SYSTEM
|
|
/proc/investigate_subject2file(var/subject)
|
|
return file("[INVESTIGATE_DIR][subject].html")
|
|
|
|
/hook/startup/proc/resetInvestigate()
|
|
investigate_reset()
|
|
return 1
|
|
|
|
/proc/investigate_reset()
|
|
if(fdel(INVESTIGATE_DIR)) return 1
|
|
return 0
|
|
|
|
/atom/proc/investigate_log(var/message, var/subject)
|
|
if(!message) return
|
|
var/F = investigate_subject2file(subject)
|
|
if(!F) return
|
|
to_chat(F, "<small>[time2text(world.timeofday,"hh:mm")] \ref[src] ([x],[y],[z])</small> || [src] [message]<br>")
|
|
|
|
//ADMINVERBS
|
|
/client/proc/investigate_show( subject in list("hrefs","notes","singulo","telesci") )
|
|
set name = "Investigate"
|
|
set category = "Admin"
|
|
if(!holder) return
|
|
switch(subject)
|
|
if("singulo", "telesci") //general one-round-only stuff
|
|
var/F = investigate_subject2file(subject)
|
|
if(!F)
|
|
to_chat(src, "<span class='warning'>Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed.</span>")
|
|
return
|
|
src << browse(F,"window=investigate[subject];size=800x300")
|
|
|
|
if("hrefs") //persistant logs and stuff
|
|
if(GLOB.config && GLOB.config.logsettings["log_hrefs"])
|
|
if(GLOB.config.logfiles["world_href_log"])
|
|
src << browse(GLOB.config.logfiles["world_href_log"], "window=investigate[subject];size=800x300")
|
|
else
|
|
to_chat(src, "<span class='warning'>Error: admin_investigate: No href logfile found.</span>")
|
|
return
|
|
else
|
|
to_chat(src, "<span class='warning'>Error: admin_investigate: Href Logging is not on.</span>")
|
|
return
|