ID:146326
 
Code:
mob/proc/meditate()
if(usr.meditate == 0)
usr.exp += 0
src << "You stop focusing."
usr.speeding = 0
return
if(usr.meditate == 1)
usr.health -= 5
usr.speeding = 1
usr.maxcp += rand(1,3)
usr.icon_state = ""
usr.exp += usr.expnext/500
usr.Levelup()
sleep(10)
usr.meditate()
usr.deathcheck(usr)

meditationpad
icon_state = "grayfloor"
density = 0
verb/meditate()
set category = "Train."
if(usr.meditate == 1)
usr << "You begin Focus"
usr.meditate = 1
usr.meditate()
usr.speeding = 1
return
if(usr.meditate == 0)
usr << "You stop Focusing"
usr.meditate = 0
usr.speeding = 0


Problem description: It will not call the proc

mob/proc/meditate(mob/usr)
if(usr.meditate == 0)
usr.exp += 0
usr << "You stop focusing."
usr.speeding = 0
return
if(usr.meditate == 1)
usr.health -= 5
usr.speeding = 1
usr.maxcp += rand(1,3)
usr.icon_state = ""
usr.exp += usr.expnext/500
usr.Levelup()
sleep(10)
usr.meditate()
usr.deathcheck(usr)
obj
meditationpad
icon_state = "grayfloor"
density = 0
verb/meditate()
set category = "Train"
if(usr.meditate == 1)
usr << "You begin Focus"
usr.meditate = 1
meditate(usr)
usr.speeding = 1
return
if(usr.meditate == 0)
usr << "You stop Focusing"
usr.meditate = 0
usr.speeding = 0


That is crazy... you didn't give proc/meditate() and argument, and there are 'usr' calls in the meditate proc as well. NEVER use usr in the proc unless you define it as I have done. Also you were making the meditation pad a PROC not an obj. Eh, lots of problems were there.
Erm, another Zeta? And yes, there are a few reasons why i've come to that assumption:

1) Looks like the same one posted on the forums all the time.
2) The code has spelled meditate correctly and you have spelled it wrong in your topic. (Although, it could've been a typo)

But anyways, about your problem:
I'm not sure but where you have if(usr.meditate==0) you are telling it to stop focusing and if(usr.meditate==1) you are telling it to begin focusing. It seems these two should be opposite. And this isn't in your problem, just a personal question. Why does it take five(5) health to meditate?

Edit: Yeah, forgot that to, you're using usr in a proc, that's bad.
In response to Mazoku
Maz, dont forget the meditation pad
 mob/proc/meditate()
if(!meditate)
src << "You stop focusing."
src.speeding = 0
return
else
src.health -= 5
src.speeding = 1
src.maxcp += rand(1,3)
src.icon_state = ""
src.exp += round(src.expnext/500)
src.Levelup()
sleep(10)
src.meditate()
src.deathcheck(src)

obj
meditationpad
icon_state = "grayfloor"
density = 0
verb/meditate()
set category = "Train"
if(!meditate)
usr << "You begin to focus."
usr.meditate = 1
usr.meditate()
usr.speeding = 1
return
else
usr << "You stop focusing."
usr.meditate = 0
usr.speeding = 0

Problems supposedly fixed: Exp will now be rounded, spelling errors, usr converted to src in proc, correct use of boolean var, meditation pad is an obj now rather than a mob.