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 10-24-2004, 11:09 PM
Sarepean
Discordant
 
Join Date: Sep 2004
Posts: 253
Default Quest Problem

Hey! I'm having some trouble with a Perl command in a quest file. This is for the Oracle of K'arnon. I've made an NPC called "The Fabled Ancient Cyclops" and I'm trying to make the Oracle spawn him in the sub_EVENT: Here's the code.


sub EVENT_SAY {
if($text=~/Hail/i){quest::say("Hail! You are brave coming out onto this island. Is there something I can [help with]?");}
if($text=~/help with/i){
quest::me("The guard nearby reaches for his sword, ready to kill you should you try for the Oracle Robe.");
quest::say("Who sent you, $name?");}
if($text=~/Hasten Bootstrutter/i){quest::say("Oh, well that is a different story, then. You must be here about the [Fabled Ring]. I saw it in my vision.");}
if($text=~/Fabled Ring/i){quest::say("You are here for the Fabled Ring of the Ancients... hmm... I'm going to need a [Ring of the Ancients] and 200 Platinum.");}
if($text=~/Ring of the Ancients/i){quest::say("There is one that walks the sands that carries this band on his hands. You should know where to find him by now.");}
}
sub EVENT_ITEM
{
if($itemcount{12268} == 1 && $platinum == 200)
{
quest::spawn(121094,0,0,1431,-7904,152);
quest::say("I have called to another plane and the creature you seek is just across the ocean.");
quest::exp(100);
quest::summonitem(1226;
}
}




Pretty simple and definitely cheesy. Heres my error:

EDIT:

Unknown Perl Function used:
Unknown Perl Function used:
Unknown Perl Function used:



If I put quest::spawn at the bottom, everything works except spawn. Did I forget to put something into the database or what???

-Sarepean
Reply With Quote
  #2  
Old 10-25-2004, 07:09 AM
Cisyouc
Demi-God
 
Join Date: Jun 2004
Location: Heaven.
Posts: 1,260
Default

Ugh!! Suggestion, space out your code its alot easier to read and debug!!

Code:
sub EVENT_SAY 
{ 
  if($text=~/Hail/i)
  {
  quest::say("Hail! You are brave coming out onto this island. Is there something I can [help with]?");
  } 

  if($text=~/help with/i)
  { 
  quest::me("The guard nearby reaches for his sword, ready to kill you should you try for the Oracle Robe."); 
  quest::say("Who sent you, $name?");
  } 

  if($text=~/Hasten Bootstrutter/i)
  {
  quest::say("Oh, well that is a different story, then. You must be here about the [Fabled Ring]. I saw it in my vision.");
  } 

  if($text=~/Fabled Ring/i)
  {
  quest::say("You are here for the Fabled Ring of the Ancients... hmm... I'm going to need a [Ring of the Ancients] and 200 Platinum.");
  } 

  if($text=~/Ring of the Ancients/i)
  {
  quest::say("There is one that walks the sands that carries this band on his hands. You should know where to find him by now.");
  } 

} 
sub EVENT_ITEM 
{ 
  if($itemcount{12268} == 1 && $platinum == 200) 
  { 
  quest::spawn(121094,0,0,1431,-7904,152); 
  quest::say("I have called to another plane and the creature you seek is just across the ocean."); 
  quest::exp(100); 
  quest::summonitem(12268); 
  } 
}
__________________
namespace retval { template <class T> class ReturnValueGen { private: T x; public: ReturnValueGen() { x = 0; }; T& Generator() { return x; }; }; } int main() { retval::ReturnValueGen<int> retvalue; return retvalue.Generator(); }
C++ is wonderful.
Reply With Quote
  #3  
Old 10-25-2004, 11:54 AM
Sarepean
Discordant
 
Join Date: Sep 2004
Posts: 253
Default

Sorry about that. I'll try to remember next time. I was tired after about 12 hours of frustration trying to get that to work and just didn't even think about spacing it out.

So is that the "fixed" code?

-Sarepean
Reply With Quote
  #4  
Old 10-25-2004, 01:03 PM
ajb20
Hill Giant
 
Join Date: Jul 2004
Posts: 106
Default

Change

Quote:
sub EVENT_ITEM
{
if($itemcount{12268} == 1 &amp;&amp; $platinum == 200)
{
quest::spawn(121094,0,0,1431,-7904,152);
quest::say("I have called to another plane and the creature you seek is just across the ocean.");
quest::exp(100);
quest::summonitem(1226;
}
}
To
Code:
sub EVENT_ITEM 
{ 
  if($itemcount{12268} == 1 &amp;&amp; $platinum == 200) 
  { 
  quest::say("I have called to another plane and the creature you seek is just across the ocean."); 
  quest::exp(100); 
  quest::summonitem(12268); 
  quest::spawn(121094,0,0,1431,-7904,152); 
  } 
}
Unless it was fixed there is a bug with quest::spawn(); that stops every command in the same block that is inserted AFTER the spawn command, so try to put the spawn command last.
Reply With Quote
  #5  
Old 10-26-2004, 10:08 AM
Sarepean
Discordant
 
Join Date: Sep 2004
Posts: 253
Default

Well, originally, it was spawn(x,x,x,x,x,x) last, but when the spawn command did nothing at all, I moved it to the top thinking that it would allow me to see where the stuff was bugging out at (also why there's a summonitem in there). See, everytime I do a turn in, I lose a ring of the ancients and 200pp. I have tons of platinum, but the summonitem(1226 *ring of the ancients* saved me some time--- unfortunately, the code stopped at spawn each time, but doesn't spawn anything!!!

Yes, I've tried other NPC ID's. =( I just can't get this code to work.

-Sarepean
Reply With Quote
  #6  
Old 10-27-2004, 03:48 AM
m0oni9
Hill Giant
 
Join Date: Dec 2003
Posts: 166
Default

Quote:
Originally Posted by ajb20
Unless it was fixed there is a bug with quest::spawn(); that stops every command in the same block that is inserted AFTER the spawn command, so try to put the spawn command last.
Last I heard, fathernitwit merged in a fix.
Reply With Quote
Reply

Thread Tools
Display Modes

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 09:44 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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3