/client/proc/Debug2() set category = "Debug" set name = "Debug-Game" if(!src.authenticated || !src.holder) src << "Only administrators may use this command." return if(src.holder.rank == "Coder") Debug2 = !Debug2 world << "Debugging [Debug2 ? "On" : "Off"]" log_admin("[key_name(src)] toggled debugging to [Debug2]") else if(src.holder.rank == "Host") Debug2 = !Debug2 world << "Debugging [Debug2 ? "On" : "Off"]" log_admin("[key_name(src)] toggled debugging to [Debug2]") else alert("Coders only baby") return /* 21st Sept 2010 Updated by Skie -- Still not perfect but better! Stuff you can't do: Call proc /mob/proc/make_dizzy() for some player Because if you select a player mob as owner it tries to do the proc for /mob/living/carbon/human/ instead. And that gives a run-time error. But you can call procs that are of type /mob/living/carbon/human/proc/ for that player. */ /client/proc/callproc() set category = "Debug" set name = "Advanced ProcCall" if(!src.authenticated || !src.holder) src << "Only administrators may use this command." return var/target = null var/lst[] // List reference lst = new/list() // Make the list var/returnval = null var/class = null switch(alert("Proc owned by something?",,"Yes","No")) if("Yes") class = input("Proc owned by...","Owner") in list("Obj","Mob","Area or Turf","Client","CANCEL ABORT STOP") switch(class) if("CANCEL ABORT STOP") return if("Obj") target = input("Enter target:","Target",usr) as obj in world if("Mob") target = input("Enter target:","Target",usr) as mob in world if("Area or Turf") target = input("Enter target:","Target",usr.loc) as area|turf in world if("Client") var/list/keys = list() for(var/mob/M in world) keys += M.client target = input("Please, select a player!", "Selection", null, null) as null|anything in keys if("No") target = null var/procname = input("Proc path, eg: /proc/fake_blood","Path:", null) var/argnum = input("Number of arguments","Number:",0) as num lst.len = argnum // Expand to right length var/i for(i=1, i