Edit()
set category = "Moderator"
var
list
variables=new
allowed_vars=list("name","icon","number")
mobs=new
var_editing
for(var/mob/X in world) if(X.client) mobs+=X
var/mob/M=input("Who do you want to edit?")as null|anything in mobs
if(M)
for(var/i in M.vars) if(i in allowed_vars) variables+=i
var_editing=input("Which of [M]'s vars do you wish to edit?")as null|anything in variables
if(var_editing)
if(isnum(M.vars[var_editing])) M.vars[var_editing]=input("Current value: [M.vars[var_editing]] \n What is the new value?")as null|num
if(istext(M.vars[var_editing])) M.vars[var_editing]=input("Current value: [M.vars[var_editing]] \n What is the new value?") as null|text
if(isicon(M.vars[var_editing])) M.vars[var_editing]=input("Current value: [M.vars[var_editing]] \n What is the new value?") as null|icon
src<<"[M]'s [var_editing] variable was edited to [M[var_editing]]."
Problem description: I get a runtime:
runtime error: bad index
proc name: Edit (/mob/admin/verb/Edit)
usr: Artemio (/mob)
src: Artemio (/mob)
call stack:
Artemio (/mob): Edit()
edit: Yeah, I know that last message will give "0" if the person cancels the last input, I fixed that in the version I have.
src<<"[M]'s [var_editing] variable was edited to [M[var_editing]]."
problem [M[var_editing]]
A.T.H.K