The cool down is only 5 and 7 on those scrolls if I remember right, make them a bit longer and test, as the casting time might be close to those time spans.
If there are no errors, it should be working right now.
Another option is to take the @SpellCast code and remove it. Then make this:
Code:
[typedef t_scroll]
on=@DClick
if (<src.findlayer.layer_special.baseid> == i_memory_scroll_cooldown)
src.smsg You cannot use a scroll again til <src.findlayer.layer_special.baseid.i_memory_scroll_cooldown.timer> seconds.
return 1
endif
if (<morex> == s_flamestrike||s_fireball)
serv.newitem i_memory_scroll_cooldown,,<src.uid>
new.timer = 5
endif
if (<morex> == s_poison)
serv.newitem i_memory_scroll_cooldown,,<src.uid>
new.timer = 7
endif
Edited the top code as well. I forgot to switch a layer_memory to layer_special
Try the code I posted before this with the new edit and change the timers to new.timer = 7 and new.timer = 7 to new.timer = 12.
If that doesn't work. Let me know.
Also, you could try this recent code and remove everything in @SpellCast
Do you have anything else in your scripts using @SpellCast?! If so, you might want to move all of the code into the main @SpellCast on the skillclass, just be sure to remove any extra @SpellCast triggers when you do so.