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-22-2006, 04:39 AM
hayward6
Forum Guide
 
Join Date: Jul 2005
Posts: 473
Default Quest help

Here's my work so far on the Hired hand quest I am designing for my server. Like I mentioned before I would like to give players the ability to hire npc help rather than fight alone if they chose. This is far from done, but this will help you get an idea of what im doing I need a few things to work this out...

1. I need the ability to make the summoned nps the same level as the player.
2. I need to make sure giving a certain amout of money can trigger the event.
3. I need to set a limit so only one helper can be assigned at a time to each player.

Here's what I have. This will be placed on an npc in freeport that everyone has so that the database wont need editing if someone else wishes to use it.

Code:
####################################
# Freeport Hired Hand Quest
#####################################
sub EVENT_SAY
{
 if($text=~/Hail/i)
  {
    quest::emote("Looks around the room carefully");
    quest::pause(2);
    quest::say("Hail. $name!  I had to be sure you were alone, this type of (buisness) is not always accepted among the people here.");
  }
  if($text=~/buisness/i)
  {
    quest::say("What! you don't know of my trade? Have you not heard of the Freeport Hired Hands? Oh come now, don't tell me you haven't come to hire an (Adventurer) from me.");
  }
  if($text=~/adventurer/i)
  {
    quest::say("Yes, an adventurer! I have some of the finest (cleric's), (Warrior's) and (Wizard's) Norrath has ever seen. If hired they will fight at your side for the day.");
  }
  if($text=~/cleric's/i)
  {
    quest::say("Yes the cleric's I have are very experienced and will help to keep you alive in combat. Trade me 2 Gold for the services of a Cleric for one day.");
  }
  if($text=~/warrior's/i)
  {
    quest::say("Yes the Warrior's I have are very experienced in battle and will protect you well. Trade me 4 Gold for the services of a Warrior for one day.");
  }
  if($text=~/Wizard's/i)
  {
    quest::say("Yes, the Wizard's I have are very experienced in battle and will assist you well. Trade me 6 Gold for the services of a Warrior for one day.");
}

#Summoning the Hired Hand Cleric 2 gold, Warrior 4 gold, Wizard 6 gold.

sub EVENT_ITEM
{
	#Cleric
	if($gold==2){
		quest::say("Thank you, this Cleric is among my finest and, will serve you well."); 
		quest::givepet(npcid);
}
sub EVENT_ITEM
{
        #Warrior
	if($gold==4){
		quest::say("Thank you, this Warrior is among my finest and, will serve you well."); 
		quest::givepet(npcid);
}
sub EVENT_ITEM
{
        #Wizard
	if($gold==6){
		quest::say("Thank you, this Wizard is among my finest and, will serve you well."); 
		quest::givepet(npcid);
}

#end of quest

Last edited by hayward6; 08-22-2006 at 01:17 PM..
Reply With Quote
  #2  
Old 08-22-2006, 04:43 AM
hayward6
Forum Guide
 
Join Date: Jul 2005
Posts: 473
Default

And yes I know (npcid) isn't going to work... I stuck them in there as fillers

I think I figured out the money thing.

Last edited by hayward6; 08-22-2006 at 01:18 PM..
Reply With Quote
  #3  
Old 08-23-2006, 07:47 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

Just guessing here, but I do not see a quest::spawn() where you can set the NPC attribs like the #spawn2 command in-game. It's likely you'd have to use the existing Pet data to spawn a helper around the players level? That could result in a large script, but I think you can test the player $level or something and spawn the pet that is closest.

Or, re-write one of the quest::spawn commands to accept level, stats, size attribs.

Let me know when you have that done. ~snicker~ j/k - I'll take a look, too, soon as this project @ work is done kicking my ass.
Reply With Quote
  #4  
Old 08-23-2006, 11:55 PM
hayward6
Forum Guide
 
Join Date: Jul 2005
Posts: 473
Default

Here's another question...

At what point is the pearl file accessed for quest data? Is it read for the entire game when the server is brought up, or is it read when the zone boots up?

I ask this because I want to be able to make small changes to the script so I can adjust this quest as needed, and right now I find that all editing to a pearl file while in the zone makes no difference at all. Even when I repop the zone it stays the way it was. Do I have to bring the server down between each and every edit if I want to check it?

Also I have put the quest I posted on a random npc in the Plane of Knowledge and he wont respond to a hail or money given. I have some changes to make I think.
Reply With Quote
  #5  
Old 08-24-2006, 02:26 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

Modify your .pl file, and in-game, type #reloadpl (or an assortment of other reload commands that seem to do the same thing). That's how I am tuning PL files. Soon as I get one that actually does what I want, I plan on posting a set of updates. My problem is, I need additional quest script functionality, and I fear that may require writing the matching CPP code, and I am just not up to speed enough on that yet.
Reply With Quote
  #6  
Old 08-24-2006, 03:01 AM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

Quote:
Originally Posted by John Adams
Modify your .pl file, and in-game, type #reloadpl (or an assortment of other reload commands that seem to do the same thing). That's how I am tuning PL files. Soon as I get one that actually does what I want, I plan on posting a set of updates. My problem is, I need additional quest script functionality, and I fear that may require writing the matching CPP code, and I am just not up to speed enough on that yet.
I'm glad you posted this - I've been re-loading the zone for fine tune. Leave it to me, and I'll always choose the longest route.
I can test them in my linux shell, and it will tell me if it's going to work at all (before I load them in the server).
Im the "backwords" guy here; I have my EQEMU server in XP (which is stripped of just about everything but the server and it's needs, for better perfomance), and my client is with Linux and Cedega. I started up a windows machine just so I could run the win binaries updates posted instead of compile under Linux.
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 12:24 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3