Ok, a few observations. Spell givespell
if (lvl<=10)
Return Givespell as Spell You're essentially returning an "empty" spell here. Also, no need for casts. me.removespell(GetKnownSpell(me, FRMLST)) GetKnownSpell might return none. Better to check for that to minimize Papyrus errors. Return stage as int You declared stage as Integer, no need for a cast. Event OnStoryIncreaseLevel(int lvl)
debug.messagebox("you leveled up!")
up.updateplz()
EndEvent To recieve events from the story manager, your quest must be set up in a special way. I guess this is why all fails. Read here: http://www.creationkit.com/Category:Story_Manager