yeah i used elsif but when i would put it in the npc would stop talking to me lol, lemme put in the code maybe somone can see if their is an error i missed.
sub EVENT_SAY {
# hail message
if ($text =~/Hail/i)
{
quest::say("Greetings $name. If you want me to cast a spell on you, please say so and I will give you my [pricelist]. If you want me to [heal] you, please say so and I will do it for free.  I could also [provide] thy spells.");
}
# price lists
if($text=~/pricelist/i)
{
quest::say("I can cast the following spells : Spirit of Wolf = 1 pp // Dead Man Floating = 3 pp // Clarity II = 5 pp // Spiritual Light = 8 pp // Spiritual Radiance = 15 pp // Temperance = 1 peridot // Virtue = 4 peridots // KEI = 50 pp");
}
# spell scribe costs
if ($text =~/provide/i)
{
quest::say ("$name , I charge 1000pp for scribing all thou Spells..");
}
# Heal
if ($text=~/heal/i)
{
quest::selfcast(13);
}
#other than the skinspikes not working on my server, when i implement this the npc stops talking.
# Skinspike gives ****not working****
#if ($text =~/DoS/i)
#{
#  quest::say ("Please be safe!");
#  quest::summonitem("96420");
#}
#elsif ($text =~/DoS/i) && ($ulevel => 5) && ($ulevel <= 9) {
#  quest::say ("Please be safe!");
#  quest::summonitem("96421","20");
#}
#elsif ($text =~/DoS/i) && ($ulevel => 10) && ($ulevel <= 14) {
#  quest::say ("Please be safe!");
#  quest::summonitem("96422","20");
#}
#elsif ($text =~/DoS/i) && ($ulevel => 15) && ($ulevel <= 19) {
#  quest::say ("Please be safe!");
#  quest::summonitem("96423","20");
#}
#elsif ($text =~/DoS/i) && ($ulevel => 20) && ($ulevel <= 24) {
#  quest::say ("Please be safe!");
#  quest::summonitem("96424","20");
#}
#elsif ($text =~/DoS/i) && ($ulevel => 25) && ($ulevel <= 29) {
#  quest::say ("Please be safe!");
#  quest::summonitem("96425","20");
#}
#elsif ($text =~/DoS/i) && ($ulevel => 30) && ($ulevel <= 34) {
#  quest::say ("Please be safe!");
#  quest::summonitem("96426","20");
#}
#elsif ($text =~/DoS/i) && ($ulevel => 35) && ($ulevel <= 39) {
#  quest::say ("Please be safe!");
#  quest::summonitem("96427","20");
#}
#elsif ($text =~/DoS/i) && ($ulevel => 40) && ($ulevel <= 44) {
#  quest::say ("Please be safe!");
#  quest::summonitem("96428","20");
#}
#elsif ($text =~/DoS/i) && ($ulevel => 45) {
#  quest::say ("Please be safe!");
#  quest::summonitem("96429","20");
#}
}
# money for services part.
sub EVENT_ITEM
{
if($platinum == 1)
  {
   quest::say ("Good, stand where you are while I place the spirit of wolf in you!");
   quest::selfcast(27

;
  }
if($platinum == 3)
  {
   quest::say ("Good, stand where you are while I make you like the dead!");
   quest::selfcast(457);
  }
if($platinum == 5)
  {
   quest::say ("Good, stand where you are while I clear your mind!");
   quest::selfcast(1693);
  }
 if($platinum == 

  {
   quest::say ("Good, stand where you are while I summon a spiritual lite for you!");
   quest::selfcast(2176);
  }
if($platinum == 15)
  {
   quest::say ("Good, stand where you are while I summon spiritual radience for you!");
   quest::selfcast(2177);
  }
 if($itemcount{10028} == 1)
  {
   quest::say ("Good, stand where you are while I produce your aura of temperance!");
   quest::selfcast(3692);
  }
# I was trying to do if($itemcount{10028} == 4) && ($ulevel > 30)
if($itemcount{10028} == 4)
  {
   quest::say ("Good, stand where you are while I fill you with virtue!");
   quest::selfcast(3467);
  }
if($platinum == 50)
  {
   quest::say ("Good, stand where you are while I expand your mind with Koadic's endless intelect!");
   quest::selfcast(2570);
  }
if($platinum == 1000)
  {
   quest::say ("Good, stand where you are while I cast");
   quest::scribespells();
  }