Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Q&A

Quests::Q&A This is the quest support section

Reply
 
Thread Tools Display Modes
  #1  
Old 02-04-2009, 09:28 PM
Randymarsh9
Dragon
 
Join Date: Dec 2007
Posts: 658
Default Armor Quest. NPC doesn't give reward

All the items used in this quest are in the DB. They are custom items. What happens is I will turn in the proper items, but he will just say he doesn't need it, and then give the items back.

Code:
sub EVENT_SAY{
 if ($text =~/hail/i){
 quest::say("Greetings, $name. I can craft you special [armor] from parts dropped from monsters in this zone.");
 }
 if ($text =~/armor/i){
 quest::say("All the armor requires a pattern a certain number of armor materials. I can craft [boots], [bracers], [sleeves], [helmets], [tunics], [leggings], and [gloves].");
 }
 if ($text =~/bracers/i){
 quest::say("I require the appropriate pattern and one armor material.");
 }
 if ($text =~/sleeves/i){
 quest::say("I require the appropriate pattern and two armor materials.");
 }
 if ($text =~/boots/i){
 quest::say("I require the appropriate pattern and two armor materials.");
 }
 if ($text =~/tunics/i){
 quest::say("I require the appropriate pattern and four armor materials.");
 }
 if ($text =~/helmets/i){
 quest::say("I require the appropriate pattern and two armor materials.");
 }
 if ($text =~/leggings/i){
 quest::say("I require the appropriate pattern and three armor materials.");
 }
 if ($text =~/gloves/i){
 quest::say("I require the appropriate pattern and one armor material.");
 }
}

sub EVENT_ITEM {
#boots
  if (plugin::check_handin(\%itemcount, 1812 => 1, 1825 => 2)) {
    my %rewards = (
"Warrior" => 1663, "Rogue" => 1826, "Monk" => 1805, "Berserker" => 1826, "Shadowknight" => 1663, "Paladin" => 1663, "Ranger" => 1826, "Bard" => 1663, "Beastlord" => 1805, "Cleric" => 1663, "Druid" => 1805, "Shaman" => 1826, "Wizard" => 1804, "Mage" => 1804, "Enchanter" => 1804, "Necromancer" => 1804
    );

    if(defined($rewards{$class})) {
      quest::say("Here is your brand new item.");
      quest::summonitem($rewards{$class});
    }
  }
 else {
 	    plugin::return_items(\%itemcount);
    	quest::say("I have no use for this item, $name.  Take it back.");
	}  
	
	#bracer
  if (plugin::check_handin(\%itemcount, 1819 => 1, 1825 => 1)) {
    my %rewards = (
"Warrior" => 1660, "Rogue" => 1734, "Monk" => 1808, "Berserker" => 1734, "Shadowknight" => 1660, "Paladin" => 1660, "Ranger" => 1734, "Bard" => 1660, "Beastlord" => 1808, "Cleric" => 1660, "Druid" => 1808, "Shaman" => 1734, "Wizard" => 1581, "Mage" => 1581, "Enchanter" => 1581, "Necromancer" => 1581
    );

    if(defined($rewards{$class})) {
      quest::say("Here is your brand new item.");
      quest::summonitem($rewards{$class});
    }
  }
 else {
 	    plugin::return_items(\%itemcount);
    	quest::say("I have no use for this item, $name.  Take it back.");
	}  
	
	#sleeves
  if (plugin::check_handin(\%itemcount, 1817 => 1, 1825 => 2)) {
    my %rewards = (
"Warrior" => 1659, "Rogue" => 1716, "Monk" => 1809, "Berserker" => 1716, "Shadowknight" => 1659, "Paladin" => 1659, "Ranger" => 1716, "Bard" => 1659, "Beastlord" => 1809, "Cleric" => 1659, "Druid" => 1809, "Shaman" => 1716, "Wizard" => 1800, "Mage" => 1800, "Enchanter" => 1800, "Necromancer" => 1800
    );

    if(defined($rewards{$class})) {
      quest::say("Here is your brand new item.");
      quest::summonitem($rewards{$class});
    }
  }
 else {
 	    plugin::return_items(\%itemcount);
    	quest::say("I have no use for this item, $name.  Take it back.");
	}  
	
	#helmet
  if (plugin::check_handin(\%itemcount, 1813 => 1, 1825 => 2)) {
    my %rewards = (
"Warrior" => 1657, "Rogue" => 1733, "Monk" => 1811, "Berserker" => 1733, "Shadowknight" => 1657, "Paladin" => 1657, "Ranger" => 1733, "Bard" => 1657, "Beastlord" => 1811, "Cleric" => 1657, "Druid" => 1811, "Shaman" => 1733, "Wizard" => 1795, "Mage" => 1795, "Enchanter" => 1795, "Necromancer" => 1795
    );

    if(defined($rewards{$class})) {
      quest::say("Here is your brand new item.");
      quest::summonitem($rewards{$class});
    }
  }
 else {
 	    plugin::return_items(\%itemcount);
    	quest::say("I have no use for this item, $name.  Take it back.");
	}  
	
	#tunic
  if (plugin::check_handin(\%itemcount, 1823 => 1, 1825 => 4)) {
    my %rewards = (
"Warrior" => 1569, "Rogue" => 1664, "Monk" => 1810, "Berserker" => 1664, "Shadowknight" => 1577, "Paladin" => 1577, "Ranger" => 1664, "Bard" => 1569, "Beastlord" => 1810, "Cleric" => 1582, "Druid" => 1810, "Shaman" => 1664, "Wizard" => 1798, "Mage" => 1798, "Enchanter" => 1798, "Necromancer" => 1798
    );

    if(defined($rewards{$class})) {
      quest::say("Here is your brand new item.");
      quest::summonitem($rewards{$class});
    }
  }
 else {
 	    plugin::return_items(\%itemcount);
    	quest::say("I have no use for this item, $name.  Take it back.");
	}  
	
	#gloves
  if (plugin::check_handin(\%itemcount, 1818 => 1, 1825 => 1)) {
    my %rewards = (
"Warrior" => 1661, "Rogue" => 1793, "Monk" => 1807, "Berserker" => 1793, "Shadowknight" => 1661, "Paladin" => 1661, "Ranger" => 1793, "Bard" => 1661, "Beastlord" => 1807, "Cleric" => 1661, "Druid" => 1807, "Shaman" => 1793, "Wizard" => 1802, "Mage" => 1802, "Enchanter" => 1802, "Necromancer" => 1802
    );

    if(defined($rewards{$class})) {
      quest::say("Here is your brand new item.");
      quest::summonitem($rewards{$class});
    }
  }
 else {
 	    plugin::return_items(\%itemcount);
    	quest::say("I have no use for this item, $name.  Take it back.");
	}  
	
	#leggings
  if (plugin::check_handin(\%itemcount, 1824 => 1, 1825 => 3)) {
    my %rewards = (
"Warrior" => 1662, "Rogue" => 1732, "Monk" => 1806, "Berserker" => 1732, "Shadowknight" => 1662, "Paladin" => 1662, "Ranger" => 1732, "Bard" => 1662, "Beastlord" => 1806, "Cleric" => 1662, "Druid" => 1806, "Shaman" => 1732, "Wizard" => 1803, "Mage" => 1803, "Enchanter" => 1803, "Necromancer" => 1803
    );

    if(defined($rewards{$class})) {
      quest::say("Here is your brand new item.");
      quest::summonitem($rewards{$class});
    }
  }
 else {
 	    plugin::return_items(\%itemcount);
    	quest::say("I have no use for this item, $name.  Take it back.");
	}  
}
Reply With Quote
  #2  
Old 02-04-2009, 09:31 PM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,498
Default

You will need some elsif statements. Otherwise, it will go through each check even if it satisfies the first check.
Reply With Quote
  #3  
Old 02-04-2009, 09:33 PM
Randymarsh9
Dragon
 
Join Date: Dec 2007
Posts: 658
Default

Lol, ok where do I add the elseif statements? I tried putting them somewhere and now he just keeps the items.
Reply With Quote
  #4  
Old 02-04-2009, 10:42 PM
Randymarsh9
Dragon
 
Join Date: Dec 2007
Posts: 658
Default

ok no matter what I seem to do, I will get some problems. I removed all the else statements to return items except the one at the end, but then the only on I could summon was the bracer. Can anyone tell me how to fix this?
Reply With Quote
  #5  
Old 02-04-2009, 11:39 PM
Randymarsh9
Dragon
 
Join Date: Dec 2007
Posts: 658
Default

Ok i added in a bit from one of Trevius's codes which made it work perfectly. I just added
Code:
if ($class == 'Warrior' || $class == 'Rogue' || $class == 'Monk' || $class == 'Berserker' || $class == 'Shadowkight' || $class == 'Paladin' || $class == 'Ranger' || $class == 'Bard' || $class == 'Beastlord' || $class == 'Cleric' || $class == 'Druid' || $class == 'Shaman' || $class == 'Wizard' || $class == 'Mage' || $class == 'Enchanter' || $class == 'Necromancer') {
to everything and it fixed it.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 04:06 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3