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 05-20-2005, 07:58 AM
MarCrush
Fire Beetle
 
Join Date: Feb 2005
Posts: 15
Angry Help with Quests?!?

I viewed the whole forum (Quests::Q&A) and I searched the forums, no answer. I tested my server to see if it worked but, still a problem. YES I GOT THE PERL VERSION.

I recently added some quests today and they won't work when I hail the quest NPC, I have them in my quests directory under the server files are. Here is one quest I got off the forums:

Exterminator_Qalantir.pl
Code:
############################################
# ZONE: West Freeport (freportw)
# DATABASE: PEQ-Velios
# LAST EDIT DATE: April 5,2005
# VERSION: 2.0
# DEVELOPER: MWMDRAGON
#
# *** NPC INFORMATION ***
#
# NAME: Exterminator_Qalantir
# ID: 9128
# TYPE: Warrior
# RACE: Human
# LEVEL: 30
#
# *** ITEMS GIVEN OR TAKEN ***
#
# Rat Whiskers ID-13071
#
# *** QUESTS INVOLVED IN ***
#
#1 - Exterminate the Vermin (West Freeport)
#
# *** QUESTS AVAILABLE TO ***
#
#1 - All
#
############################################

sub EVENT_SAY
{
  if ($text=~/hail/i)
  {

  quest::say("Pleased to meet you $name, if you are a newcomer to Freeport then you can clearly see we are having quite the rat problem. If you are interested the militia has granted me some coin to reward those that bring me four rat whiskers.")

  }

}
sub EVENT_ITEM
{
 # Rat Whiskers ID-13071
 if ($itemcount{13071} == 4)
 {
 quest::say("This is good work! I know this isnt much but it is all I can offer you. Thanks for your help!");
 quest::ding();
 quest::exp(25);
 quest::givecash ("1","1","1","0");
 }
}

#END of FILE Zone:freportw  ID:9128 -- Exterminator_Qalantir
Guard_Alayle.pl
Code:
############################################
# ZONE: West Freeport (freportw)
# DATABASE: PEQ-Velious
# LAST EDIT DATE: April 5,2005
# VERSION: 2.0
# DEVELOPER: MWMDRAGON
#
# *** NPC INFORMATION ***
#
# NAME: Guard_Alayle
# ID: 9135
# TYPE: Warrior
# RACE: Freeport guard
# LEVEL: 10
#
# *** ITEMS GIVEN OR TAKEN ***
#
# Sealed Letter ID-18817
# A Tattered Flier ID-18818
#
# *** QUESTS INVOLVED IN ***
#
#1 - Zimel's Blades (Quest for Soulfire)
#
# *** QUESTS AVAILABLE TO ***
#
#1 - Paladin
#
############################################

sub EVENT_SAY
{ 

if($text=~/Hail/i)
 {
 quest::say("Greetings. citizen!  You should not be in the Militia House.  These are restricted grounds.  Please leave at once unless you have business here.");
 }

 if($text=~/truth is good/i && $class == 'Paladin')
 {
 quest::say("Ssshhh!! Pipe down. The others might hear you. You must have something for me. Kalatrina must have given you something if you serve the Hall of Truth. If you have nothing please leave. You will blow my cover.");
 }

}

sub EVENT_ITEM
{ 
  if($class != 'Paladin')
 {
 quest::say("You have no business handing me this junk.");
 quest::summonitem($item1) if($item1);
 quest::summonitem($item2) if($item2);
 quest::summonitem($item3) if($item3);
 quest::summonitem($item4) if($item4);
 return;
 }
 else
     {

  # Sealed Letter ID-18817
  if($itemcount{18817} == 1)
  {
  quest::say("This is not good news. I must leave immediately. Here. Take this to Kala.. I mean my father. I found it on the floor of Sir Lucan DLeres quarters. Thanks again, messenger. I got this just in time.");
  quest::ding();
  # A Tattered Flier ID-18818
  quest::summonitem("18818");
  # Freeport Militia Faction
  quest::faction("105","-1");
  # Steel Warriors Faction
  quest::faction("311","1");
  # Knights of Truth Faction
  quest::faction("184","1");
  }
}
}
# After this Krazen_Loosh is supposed to spawn but he does not exsist in the DB.


#END of FILE Zone:freportw  ID:9135 -- Guard_Alayle
Is it something wrong with the location, the quest file, or anything else? Plz help me out here.

Last edited by MarCrush; 05-20-2005 at 04:14 PM..
Reply With Quote
  #2  
Old 05-20-2005, 10:44 AM
steelrat
Sarnak
 
Join Date: Dec 2004
Location: Gloucester UK
Posts: 32
Wink tried this for the location...

Hi,
I'm not that great with PERL myself yet, but have you put the npc_name.pl file into your quests dir under the correct zoneshortname dir?

for instance, a quest that has it's npc in qeynos2 (zone shortname) called myname_isthis.pl would go into quests/qeynos2/myname_isthis.pl

Hope this helps..

SR

PS.. after placing the quest, target the npc and do a #reloadpl command.. (this clears and reloads the cached pl files), (I think.. LOL), it IS definetly necessary when working on a quest, in order for it to reload properly.

SR
__________________
SteelRat..
Server Owner "ElseWhen"

Last edited by steelrat; 05-20-2005 at 06:47 PM..
Reply With Quote
  #3  
Old 05-20-2005, 12:58 PM
_Kerosh_
Sarnak
 
Join Date: Nov 2004
Posts: 59
Default

woah, first
if($text=~/truth is good/i && $class == 'Paladin')
that should be an elsif
Also, you might want to re-format
elsif(($text=~/truth is good/i) && ($class eq "Paladin"))

Ya, you want to use eq when it is letters. " " works around Paladin, and ' ' works too. I always use " "

after all functions, always use a ; to end it, such as:
quest::say("Pleased to meet you.");
Notice the ; at the end. Without that you will get a crap load of syntax errors. Do not use it after if statements, elsif statements, or else statements.
This what you had:
quest::say("Pleased to meet you $name, if you are a newcomer to Freeport then you can clearly see we are having quite the rat problem. If you are interested the militia has granted me some coin to reward those that bring me four rat whiskers.")

Ok, next
A possible problem could be
else
{
}
not sure as use that, I always use elsif, it much easier .

Another problem, did you want the guy to spawn? I suggest making an origin spawn in some random GM Box (Origin Spawn is using the #spawn command), then spawning that origin spawn's NPC ID. That should be about it ^^
__________________
Fate Industries Admin
Reply With Quote
  #4  
Old 05-20-2005, 01:02 PM
MarCrush
Fire Beetle
 
Join Date: Feb 2005
Posts: 15
Default

Quote:
Originally Posted by steelrat
Hi,
I'm not that great with PERL myself yet, but have you put the npc_name.pl file into your quests dir under the correct zoneshortname dir?

for instance, a quest that has it's npc in qeynos2 (zone shortname) called myname_isthis.pl would go into quests/qeynos2/myname_isthis.pl

Hope this helps..

SR

PS.. after placing the quest, target the npc and do a #reloadpl command.. (this clears and reloads the cached pl files), (I think.. LOL), it IS definetly necessary when working on a quest, in order for it to reload properly.

SR
It works now, thanks.

Last edited by MarCrush; 05-21-2005 at 11:40 AM..
Reply With Quote
  #5  
Old 05-20-2005, 05:44 PM
mwmdragon's Avatar
mwmdragon
Discordant
 
Join Date: Apr 2003
Location: Winnipeg, Manitoba Canada
Posts: 270
Default bah

Just make sure ther is 2 empty lines at the end of each quests file.

Also the quests posted on this site are old and have been re-done but They will not be available to everyone until PEQ releases a new pack or until I finnish freeport.


By the way those quests compiled perfectly in PerlIDE and ran in EQEmu.
Just to defend the Newbie coding :P
__________________
Thanks
MWMDRAGON

NeverQuest
http://neverquest.gotdns.com
Emucade
http://dragonsden.emuunlim.com
Reply With Quote
  #6  
Old 05-21-2005, 03:37 AM
MarCrush
Fire Beetle
 
Join Date: Feb 2005
Posts: 15
Exclamation

Quote:
Originally Posted by mwmdragon
Just make sure ther is 2 empty lines at the end of each quests file.

Also the quests posted on this site are old and have been re-done but They will not be available to everyone until PEQ releases a new pack or until I finnish freeport.


By the way those quests compiled perfectly in PerlIDE and ran in EQEmu.
Just to defend the Newbie coding :P
I made sure there were two lines at the end of the quest files.

When I put the quest files under freportw and I logged on my server, went to character select, click enter world and WTF the zoneserver crashed. So I replaced Zone.exe with a 4 MB (was 1MB) and now I get errors when I am in some zones (freportw, jaggedpine) on the computer the server is on and I have the option of Abort/Retry/Ignore (if I do nothing I will just crash).
Clicking abort crashes the zoneserver, clicking retry zoneserver stays up for a while they it gives me an error that it needs to close (OK=Close, Cancel=Debug), clicking Ingore just does the same thing as retry (or most likely).

I still don't know why I keep getting "Zone.exe encountered a problem and needed to close" on startup of Windows.

Quote:
Originally Posted by _Kerosh_
woah, first
if($text=~/truth is good/i && $class == 'Paladin')
that should be an elsif
Also, you might want to re-format
elsif(($text=~/truth is good/i) && ($class eq "Paladin"))

Ya, you want to use eq when it is letters. " " works around Paladin, and ' ' works too. I always use " "

after all functions, always use a ; to end it, such as:
quest::say("Pleased to meet you.");
Notice the ; at the end. Without that you will get a crap load of syntax errors. Do not use it after if statements, elsif statements, or else statements.
This what you had:
quest::say("Pleased to meet you $name, if you are a newcomer to Freeport then you can clearly see we are having quite the rat problem. If you are interested the militia has granted me some coin to reward those that bring me four rat whiskers.")

Ok, next
A possible problem could be
else
{
}
not sure as use that, I always use elsif, it much easier .

Another problem, did you want the guy to spawn? I suggest making an origin spawn in some random GM Box (Origin Spawn is using the #spawn command), then spawning that origin spawn's NPC ID. That should be about it ^^
Uh, what are you talking about, I got those quests off the forums. That's why the developer doesn't say MarCrush!

Last edited by MarCrush; 05-21-2005 at 12:58 PM..
Reply With Quote
  #7  
Old 05-24-2005, 05:10 AM
mwmdragon's Avatar
mwmdragon
Discordant
 
Join Date: Apr 2003
Location: Winnipeg, Manitoba Canada
Posts: 270
Default help

The only help I could suggest now is to re-download the Perl Enabled EQEmu server files. Do not use any of your old files. Start fresh and edit the files that need editing.

And try with ONLY these 2 quest scripts in your freportw folder in your quest directory, and then make sure your first zone that is logged into is west freeport.

This is the newest code for Exterminator Qalantir and Guard Alayle, which has been used on a server and works.

Code:
############################################
# ZONE: West Freeport (freportw)
# DATABASE: PEQ-Velious
# LAST EDIT DATE: April 30,2005
# VERSION: 2.0
# DEVELOPER: MWMDRAGON
#
# *** NPC INFORMATION ***
#
# NAME: Guard_Alayle
# ID: 9135
# TYPE: Warrior
# RACE: Freeport Guards
# LEVEL: 10
#
# *** ITEMS GIVEN OR TAKEN ***
#
# A Sealed Letter ID-18817
# A tattered flier ID-18818
#
# *** QUESTS INVOLVED IN ***
#
#1 - Soulfire
#2 - Traitor Quest
#
# *** QUESTS AVAILABLE TO ***
#
#1 - Paladin
#2 - Warrior
#
# *** NPC NOTES ***
#
# Krazen_Loosh ID-9143 is supposed to spawn and kill Guard Alayle
#
# Must drop Reserve Militia Tunic ID-3097 (For The Traitor Quest)
#
############################################

sub EVENT_SAY
{
if($text=~/Hail/i)
 {
 quest::say("Greetings, citizen! You should not be in the Militia House. These are restricted grounds. Please leave at once unless you have business here.");
 }

 if($text=~/Truth is good/i)
 {
 quest::say("'Ssshhh!! Pipe down. The others might hear you. You must have something for me. Kalatrina must have given you something if you serve the Hall of Truth. If you have nothing, please leave. You will blow my cover.");
 }

}

sub EVENT_ITEM
{
   # A Sealed Letter ID-18817
   if($itemcount{18817} == 1)
   {
   quest::say("This is not good news. I must leave immediately. Here. Take this to Kala.. I mean my father. I found it on the floor of Sir Lucan D'Lere's quarters. Thanks again, messenger. I got this just in time.");

   quest::ding();
   # A tattered flier ID-18818
   quest::summonitem("18818");
   # NPC Krazen_Loosh ID-9143
   quest::spawn2(9143,0,0,-61.71,-106.59,-24.25,0);
   }
}

sub EVENT_SIGNAL
{
 # Sent from Krazen_Loosh NPCID-9143
 quest::shout("Oh no!! It is too late!! Run!!");
}

sub EVENT_DEATH
{
quest::say("My comrades will avenge my death");
}
#END of FILE Zone:freportw  ID:9135 -- Guard_Alayle
Code:
############################################
# ZONE: West Freeport (freportw)
# DATABASE: PEQ-Velios
# LAST EDIT DATE: April 5,2005
# VERSION: 2.0
# DEVELOPER: MWMDRAGON
#
# *** NPC INFORMATION ***
#
# NAME: Exterminator_Qalantir
# ID: 9128
# TYPE: Warrior
# RACE: Human
# LEVEL: 30
#
# *** ITEMS GIVEN OR TAKEN ***
#
# Rat Whiskers ID-13071
#
# *** QUESTS INVOLVED IN ***
#
#1 - Exterminate the Vermin (West Freeport)
#
# *** QUESTS AVAILABLE TO ***
#
#1 - All
#
############################################

sub EVENT_SAY
{
  if ($text=~/hail/i)
  {
  quest::say("Pleased to meet you $name, if you are a newcomer to Freeport then you can clearly see we are having quite the rat problem. If you are interested the militia has granted me some coin to reward those that bring me four rat whiskers.")
  }

}
sub EVENT_ITEM
{
 # Rat Whiskers ID-13071
 if ($itemcount{13071} == 4)
 {
 quest::say("This is good work! I know this isnt much but it is all I can offer you. Thanks for your help!");
 quest::ding();
 quest::exp(25);
 quest::givecash ("1","1","1","0");
 }
}

#END of FILE Zone:freportw  ID:9128 -- Exterminator_Qalantir
__________________
Thanks
MWMDRAGON

NeverQuest
http://neverquest.gotdns.com
Emucade
http://dragonsden.emuunlim.com
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 12:20 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