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 08-01-2008, 07:46 AM
hayward6
Forum Guide
 
Join Date: Jul 2005
Posts: 468
Default Quest issues

I'm having some issues with an npc i'm working on. I have a basic understanding of how it all work's and I've created a few basic responces on different npc's just to add some life, but this one is more involved.

I want to add an npc to POK that can scribe spells, level you to 65, etc. I was hoping to have him do those things just once and if you're 65 he'll just say something about how well you're doing... I am hoping to have each class guild master teleport you directly to this npc in POK, that part I can do. I'm having trouble with this new npc... he looks at you when hailed, but I can't get any of the triggers to fire, and I know it's because i'm doing it wrong. I'll post what I have so far.

Code:
#
#Quest Name: Enlightenment
#Author: Sayin of Freedom
#

sub EVENT_SAY
{
if(($text=~/hail/i)&&($ulevel<= 65))
{
quest::say ("Hey there, $name. Looks like your trainer sent you to see me, but didn't prepare you very well... no matter, I can [help]");
}
if ($text =~/Help/i)
{
quest::say ("My power in this world is unlimited! Simply ask me to [touch] you, and you will be enlightened.");
}
if ($text =~/Touch/i)
$client->Message(6, "Your body begins to glow with energy as you are lifted from the ground.");
quest::level(65);
quest::setallskill(252);
quest::scribespells();
quest::say ("There, it's done. You might check the merchant behind me for armor and weapons. I have asked them to waive the charges.");
}
Reply With Quote
  #2  
Old 08-01-2008, 07:55 AM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

Easiest way to find syntax errors in your perl scripts is to run it through perl from a command prompt. For this script, I got:

Code:
Scalar found where operator expected at test.pl line 17, near ")
$client"
        (Missing semicolon on previous line?)
syntax error at test.pl line 17, near ")
$client"
Execution of test.pl aborted due to compilation errors.
You have some missing braces for the last if statement. This is the script with missing braces put in:

Code:
#
#Quest Name: Enlightenment
#Author: Sayin of Freedom
#

sub EVENT_SAY
{
        if(($text=~/hail/i)&&($ulevel<= 65))
        {
                quest::say ("Hey there, $name. Looks like your trainer sent you to see me, but didn't prepare you very well... no matter, I can [help]");
        }
        if ($text =~/Help/i)
        {
                quest::say ("My power in this world is unlimited! Simply ask me to [touch] you, and you will be enlightened.");
        }
        if ($text =~/Touch/i) {
                $client->Message(6, "Your body begins to glow with energy as you are lifted from the ground.");
                quest::level(65);
                quest::setallskill(252);
                quest::scribespells();
                quest::say ("There, it's done. You might check the merchant behind me for armor and weapons. I have asked them to waive the charges.");
        }

}
Reply With Quote
  #3  
Old 08-01-2008, 09:00 AM
hayward6
Forum Guide
 
Join Date: Jul 2005
Posts: 468
Default

I'll give that a try, thanks a lot!
Reply With Quote
  #4  
Old 08-02-2008, 07:58 AM
hayward6
Forum Guide
 
Join Date: Jul 2005
Posts: 468
Default

Worked like a charm, thanks so much!
Now that I see what I was doing wrong i've also added functionality so he talks to people that are allready level 65. I'll use that later on to add special quests. I really want PoK to be the centerpoit to the server population. Now to come up with a way to get people there and then add a translocator so I can remove #zone
Reply With Quote
  #5  
Old 08-03-2008, 03:49 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

If you run GeorgeS' quest editor tool, it has a simple syntax check that will check to make sure you have the right amount of opening and closing brackets. Comes in handy for a quick check.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read 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 09:24 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