Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Development > Archive::Quests

Archive::Quests Archive area for Quests's posts that were moved here after an inactivity period of 90 days.

Reply
 
Thread Tools Display Modes
  #1  
Old 07-13-2004, 03:25 PM
Cisyouc
Demi-God
 
Join Date: Jun 2004
Location: Heaven.
Posts: 1,260
Default Buffer Overrun!?

Hello all.
Ive been working on a custom server for a few weeks trying to learn the quest system and I created the following script for a "Magus" type NPC.
Code:
sub EVENT_SAY
{
if($text=~/Hail/i){quest::say("Hello, Traveler. Welcome to Luclin. As I am going through my spells here I can teleport you somewhere if you wish to [leave] here.");}
if($text=~/leave/i){quest::say("I can take you to the [Plane of Tranquility], the [Sunset Temple], the [Bazaar], The [Temple of Marr],the [Halls of Honor], the [Plane of War], [Tipt], and [Vex Thal].");}
if($text=~/marr/i){quest::say("Well, $name, thats quite a rare request. I'll need to see some kind of Stone of Marr to transport you there. I'll return it, of course.");}
if($text=~/tranquility/i)
 {
 quest::say("May Tranquility be forever with you. Good luck, $name.");
 quest::movepc(203,0,0,0);
 }
if($text=~/bazaar/i)
  {
  quest::say("Remember,buy high once and awhile, $name.");
  quest::movepc(152,0,0,0);
  }
if($text=~/honor/i)
   {
   quest::say("Remember your lessons of Valor in the First Temple, $name");
   quest::movepc(211,0,0,0);
   }
if($text=~/War/i)
    {
    quest::say("Be Tacticious, $name");
    quest::movepc(211,0,0,0);
    }
if($text=~/vex thal/i)
     {
     quest::say("Remember your lessons of Valor in Vex Thal, $name");
     quest::movepc(158,0,0,0);
     }
if($text=~/tipt/i)
      {
      quest::say("In the Chambers of the Rebellion, be Valorious, $name");
      quest::movepc(289,0,0,0);
      }
if($text=~/sunset/i)
       {
       quest::say("Assist the members of New Tanaan, $name!!");
       quest::movepc(26,0,0,0);
       }
}
sub EVENT_ITEM 
{ 
if ($item1 == 1000)
 {
 quest::say("Wow! Here is your renewed Stone of Valor. Remeber your lessons in the Fourth Temple!!");
 quest::summonitem(1000,50);
 quest::movepc(220,-3,1034.50,396.75);
 } 
}
When I use any of the port commands 9 out of 10 times the zone crashes. When I close EQ I see this message in an error window titled, "Microsoft Visual C++ Runtime Library"
Quote:
Buffer overrun detected!

Program: C:\EQEMu\Zone.exe

A buffer overrun has been detected which has corrupted the program's internal state. The program cannot safely continue execution and must now be terminated.
Is my quest file corrupt or something? Or is there just too many commands to handle?
__________________
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
  #2  
Old 07-14-2004, 04:00 AM
animepimp
Dragon
 
Join Date: Jan 2004
Posts: 860
Default

This is a problem with the server code, but probably triggered by your quest file being very long. I'd try splitting it up between 2 NPCs, like one that only does the stone part and the other transports to the rest of the zones.
Reply With Quote
  #3  
Old 07-14-2004, 07:50 AM
Cisyouc
Demi-God
 
Join Date: Jun 2004
Location: Heaven.
Posts: 1,260
Default Re: Buffer Overrun!?

Quote:
Originally Posted by Cisyouc
When I use any of the port commands 9 out of 10 times the zone crashes. When I close EQ I see this message in an error window titled, "Microsoft Visual C++ Runtime Library"
Quote:
Buffer overrun detected!

Program: C:\EQEMu\Zone.exe

A buffer overrun has been detected which has corrupted the program's internal state. The program cannot safely continue execution and must now be terminated.
Is my quest file corrupt or something? Or is there just too many commands to handle?
I think Spock made the Error messages
__________________
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
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 10:58 PM.


 

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