ID:263592
 
Code:
mob
proc
Fidchell_Trans()
if(!src.fidchell)
if(src.MP >= 50)
src.fidchell=1

src.underlays+= icon('Fidchell.dmi',"Fidchell")

src.tempstr = src.Strmax
src.tempdef = src.Def
src.tempmdef = src.MDef
src.formstatus="Fidchell Form"
view(src) << "<I><font color = yellow>[src]: Fidchell!</I></font color = yellow>"

src.Strmax += 20
src.Strmin = src.Strmax - 2
src.Def += 10
src.MDef+=5
src.inavatar=1
if(src.MP >= 0)
while(src.inavatar)
if(src.MP > 0)
src.MP -= 2
sleep(10)
if(src.MP < 0)
src.MP = 0
src.Fidchell_revert()

Fidchell_revert()
if(src.fidchell)
src.underlays-= icon('Fidchell.dmi',"Fidchell")
src.Strmax = src.tempstr
src.Strmin = src.Strmax - 2
src.Def = src.tempdef
src.MDef = src.tempmdef

src.formstatus="Normal"

view(src) << "<I><font color = yellow>[src] body goes back to normal</I></font color = yellow>"

src.tempstr = 0
src.tempdef = 0
src.tempmdef = 0

src.fidchell=0

src.inavatar=0


Problem description:

you run out of sp, the server crashes or freezes for some reason

do i add break anywhere? or do i remove the while proc and make the proc spawn a bunch of times until the sp runs out?
like
if(src.MP >= 40)
spawn(1) Fidchell_Revert()
The while loop runs constantly, thats why. You need a sleep() somewhere tabbed under while() in there to give it some break time.
Just a note on your HTML.

When you define an HTML tag, for example, a font tag:
<font color='#FFFF00'>
You don't close it by just adding a slash into your original tag, like you're doing.

Simply put, this is how your HTML tags should look:
<font color='#FFFF00'>I'm yellow text!</font>


Be sure to keep that in mind.
To learn more about HTML try; http://www.echoecho.com and also take a look up at CSS: http://www.w3schools.com/css/default.asp

--

Also as per your problem. Try placing a break statement after: src.Fidchell_revert() and see what that does for you. It's a pot-shot in the dark because I'm working off 2 hours sleep here, but it should end the while loop at the right time.