ID:145636
 
Code (/mob/admin/verb/Edit()):
            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.
The code does work but you get an error try this

            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.vars[var_editing]]."




src<<"[M]'s [var_editing] variable was edited to [M[var_editing]]."

problem [M[var_editing]]


A.T.H.K
I'm guessing that the probberlem is this line right here:
Artemio wrote:
>                       src<<"[M]'s [var_editing] variable was edited to [M[var_editing]]."
>

...At the point where it says [M[var_editing]]. I think that should be [M.vars[var_editing]].

If that doesn't solve it, run in Debug mode and tell me which line it occurs on.

Hiead
How in the blue hell did you get ahold of my edit verb!!!!!!!!!! It seems like a edited version I made for some kid named DipsetXxX. <.<



mob
admin
verb
Edit()
var/list/mobs=new
for(var/mob/X in world)if(X.client)mobs+=X
var/mob/M=input("Who?") as anything in mobs
var/list/vars=new
var/var_editing
var/list/allowed_vars=list("name","speed","attack","defense","knowledge","stamina","powerlevel","maxpowerlevel","ki","maxki","icon","icon_state","maxstamina")
for(var/i in M.vars)if(i in allowed_vars)vars+=i
var_editing=input("What do you wish to edit?") as anything in vars
if(isnum(M.vars[var_editing])) M.vars[var_editing]=input("What is the new value?") as num
if(istext(M.vars[var_editing])) M.vars[var_editing]=input("What is the new value?") as text
if(isicon(M.vars[var_editing])) M.vars[var_editing]=input("What is the new value?") as icon
In response to Cheetoz
I'm redoing his bad admin system. Thanks, everyone, it was M.vars
In response to Artemio
No problem keep up the good work