I added a few comments into the file for you, so you can tweak usability.
Code:
#this quest will work for any class as is, however it just gives xp to rogues, rangers, and bards
#this can be fixed by moving the emote, exp and ding functions into the if statements individually.
sub EVENT_SAY
{
if ($text=~/hail/i)
{
quest::say("Hello $name , I am one of the finest weaponsmiths this land has ever seen. If you find me a mold I will craft you a weapon. However if it is armor you seek, my brother makes the best around.");
}
}
sub EVENT_ITEM
{
if (plugin::check_handin(\%itemcount, 6164 => 1))
{
if(($class eq "Warrior") || ($class eq "Paladin") || ($class eq "Shadowknight") || ($class eq "Berserker"))
{
quest::summonitem('62189');
}
if(($class eq "Monk") || ($class eq "Beastlord"))
{
quest::summonitem('6611');
}
if(($class eq "Druid") || ($class eq "Necromancer") || ($class eq "Magician") || ($class eq "Wizard") || ($class eq "Enchanter") || ($class eq "Cleric"))
{
quest::summonitem('29442');
}
quest::emote("smiles warmly as he hands you your weapon.");
quest::exp(750);
quest::ding();
}
elsif(plugin::return_items(\%itemcount))
{
#this command isn't working. maybe quest::return_items returns a false value when it gives soemthing back.
quest::say("These are not the pieces I need.");
}
}
EDIT: oh, I only tested this on bards, warriors, and wizards... could be bugs.