EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Q&A (https://www.eqemulator.org/forums/forumdisplay.php?f=599)
-   -   Item Reward Help (https://www.eqemulator.org/forums/showthread.php?t=33615)

Dragonthorne 05-23-2011 09:12 AM

Item Reward Help
 
Can someone take a look at this quest and tell me why the NPC accepts the hand-ins, gives the reward message, but not the reward item to the player?

Code:

sub EVENT_SPAWN
{
my $x;
my $y;
my $z;
my $h;

$x = $npc->GetX();
$y = $npc->GetY();
$z = $npc->GetZ();
$h = $npc->GetHeading();

  quest::set_proximity( $x-40,$x+40,$y-40,$y+40,$z-40,$z+40);
}

sub EVENT_ENTER
{
  quest::say("Hello, $name!  I need some assistance.");
}


sub EVENT_EXIT
{
  quest::say("Have a wonderful day, $name!");
}

sub EVENT_SAY
{
  if($text =~ /Hail/i){
  quest::say("Hello there, $name!  I have had a hard time lately finding my [fishing] supplies"); }
 
  if($text =~ /fishing/i){
  quest::say("Yes!  I lost my fishing rod and the grubs I used for bait.  Can you help [find] them?"); }
 
  if($text =~ /find/i){
  quest::say("Great!  Thank you very much!  I hear that they can be found in the Field of Bone.  Be careful, however!  The Field of Bone is a dangerous place!"); }


sub EVENT_ITEM
{
    if ($item1 == 1096  &&  $item2 == 1118) 
          {
        quest::say("Thank you for the help. Here's your reward!");
        quest::SummonItem("1079");
          }
}


Dragonthorne 05-23-2011 09:17 AM

Also, how do I ensure that the order in which the items are handed in does not matter?

Dragonthorne 05-23-2011 09:22 AM

All taken care of. Here is the final code. If anyone sees anything here, please let me know:

Code:

sub EVENT_SPAWN
{
my $x;
my $y;
my $z;
my $h;

$x = $npc->GetX();
$y = $npc->GetY();
$z = $npc->GetZ();
$h = $npc->GetHeading();

  quest::set_proximity( $x-40,$x+40,$y-40,$y+40,$z-40,$z+40);
}

sub EVENT_ENTER
{
  quest::say("Hello, $name!  I need some assistance.");
}


sub EVENT_EXIT
{
  quest::say("Have a wonderful day, $name!");
}

sub EVENT_SAY
{
  if($text =~ /Hail/i){
  quest::say("Hello there, $name!  I have had a hard time lately finding my [fishing] supplies"); }
 
  if($text =~ /fishing/i){
  quest::say("Yes!  I lost my fishing rod and the grubs I used for bait.  Can you help [find] them?"); }
 
  if($text =~ /find/i){
  quest::say("Great!  Thank you very much!  I hear that they can be found in the Field of Bone.  Be careful, however!  The Field of Bone is a dangerous place!"); }


sub EVENT_ITEM
{
    if  (plugin::check_handin(\%itemcount, 1096 => 1, 1118 => 1)) 
          {
        quest::say("Thank you for the help. Here's your reward!");
        quest::SummonItem(1079);
          }
}


Astal 05-23-2011 12:01 PM

Quote:

Originally Posted by Dragonthorne (Post 200277)
All taken care of. Here is the final code. If anyone sees anything here, please let me know:

Code:

sub EVENT_SPAWN
{
my $x;
my $y;
my $z;
my $h;

$x = $npc->GetX();
$y = $npc->GetY();
$z = $npc->GetZ();
$h = $npc->GetHeading();

  quest::set_proximity( $x-40,$x+40,$y-40,$y+40,$z-40,$z+40);
}

sub EVENT_ENTER
{
  quest::say("Hello, $name!  I need some assistance.");
}


sub EVENT_EXIT
{
  quest::say("Have a wonderful day, $name!");
}

sub EVENT_SAY
{
  if($text =~ /Hail/i){
  quest::say("Hello there, $name!  I have had a hard time lately finding my [fishing] supplies"); }
 
  if($text =~ /fishing/i){
  quest::say("Yes!  I lost my fishing rod and the grubs I used for bait.  Can you help [find] them?"); }
 
  if($text =~ /find/i){
  quest::say("Great!  Thank you very much!  I hear that they can be found in the Field of Bone.  Be careful, however!  The Field of Bone is a dangerous place!"); }


sub EVENT_ITEM
{
    if  (plugin::check_handin(\%itemcount, 1096 => 1, 1118 => 1)) 
          {
        quest::say("Thank you for the help. Here's your reward!");
        quest::SummonItem(1079);
          }
}


i forget if all the code is case sensitive or not but try

quest::summonitem(1079,0); instead of caps, thats all i see off the top of my head, also add the 0 for good measure if it has 0 charges, or isnt stacked. Says its optional but worth a try i keep it in all my summonitem scripts

Dragonthorne 05-23-2011 03:33 PM

I found that out as well. The Quest Editor automatically capitalizes the first letter in quest::summonitem . I changed it, then saved before toggling to a different window, and that fixed the problem.

Thank you for the reply!

Astal 05-23-2011 04:37 PM

Quote:

Originally Posted by Dragonthorne (Post 200315)
I found that out as well. The Quest Editor automatically capitalizes the first letter in quest::summonitem . I changed it, then saved before toggling to a different window, and that fixed the problem.

Thank you for the reply!

no problem youll be getting my bill in the mail

Shamanistik08 05-23-2011 05:18 PM

Aye, and even if you type it, the quest editor change the i to a capital I.

That's why I use it for quest lexicons, or just to create a mob .pl file. The rest is done with notepadd++


All times are GMT -4. The time now is 11:14 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.