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-09-2006, 07:15 PM
Hamarabi
Fire Beetle
 
Join Date: May 2006
Posts: 7
Default Trying to fix up my first quest....

I posted earlier with regard to a typo in Dargon McPherson's "deliver an elixir to young warriors" quest and it seems there is more wrong with this quest than first appeared. I appologize for starting another thread, but I didn't think my request for help would be noticed with the other post's topic.

After I gave Kylan ODanos the note, I went over to Dargon McPherson and got the elixir quest, so I could work on faction. I proceeded to Everfrost to do my first turn-in to Talin ODonal and when I gave him the elixir, nothing happened. So, I set out to try to fix my first quest and I need a little guidance, if anyone is willing. I am not a programmer, but I am willing to learn, just like everyone else.

With that in mind, could you please take a look at what I have toward's the bottom of this post and give me some advice as to why this turn-in does not work?

Looking at the original code, it is obvious why the turn-in doesn't work. Talin wasn't programmed to accept anything or do anything else except say "Brrrrrr!! Grr.. Grreetings. It is freezing out here!!"

Original Code Was:
Code:
sub EVENT_SAY { 
if($text=~/Hail/i){
quest::say("Brrrrrr!! Grr.. Grreetings. It is freezing out here!!"); }
}
#END of FILE Zone:everfrost  ID:4881 -- Talin_ODonal
I took a look at the example quests on this page : http://www.eqemulator.net/wiki/wikka...SimpleExamples

The bone chip turn-in seemed like the perfect example, but it did not work as planned. I just cut and pasted the example and edited to suit the quest. I changed the Itemcount, faction, and summonitem variables, with information I gathered about the quest.

I assume the itemcount variable needs to be the elixir ID, the faction ID was taken from the ID I got from Kylan for turning in the note, and I got the summonitem ID from looking at the Dargon_McPherson.pl file, because the item was first summoned in that quest. I verified that the summonitem ID is correct by doing the command #summonitem 13241 in the game console and obtained an elixir.

If your not familiar with this quest, you are supposed to run around and give each NPC a drink of the elixir and when you do, they thank you and return the elixir to you. You receive faction, and experience when this happens. Then they tell you the approximate location of the next NPC that might need some of the tonic's warming effects. After running around doing the turn-in's to several NPC's, you are to return to Dargon McPherson for the quest completion and the reward of faction, experience, and an item.

Please note, that when I hail Talin, he doesn't even reply, let alone take the elixir, give me exp, and hand it back.

This piece of code should be all I need to fix the quest to completion. I'll just duplicate it for each of the NPC's.

Here's My Code:
Code:
sub EVENT_SAY { 
if($text=~/Hail/i){
quest::say("Brrrrrr!! Grr.. Grreetings. It is freezing out here!!"); 
}
}

sub EVENT_ITEM
{
 if ($itemcount{13241} == 1){quest::say("Thank you!  I think what's her name needs some too, she can be found.....");
 quest::exp(125);
 quest::faction(10103,1);
 quest::summonitem(13241);} 
}

#END of FILE Zone:everfrost  ID:4881 -- Talin_ODonal
I greatly appreciate any help that you can offer and I'll try to help others if I can, once I learn it, that is.

Hamarabi

Last edited by Hamarabi; 05-10-2006 at 03:19 AM..
Reply With Quote
  #2  
Old 05-09-2006, 10:44 PM
paaco
Discordant
 
Join Date: Jan 2005
Posts: 320
Default

Try this, please note that I am not a quest guru myself, Learning just like you so this could be slightly wrong. I have not tested it, let me know how it goes. Also I noticed the reward you are giving is exactly the same as the turnin item for the quest. So that is wrong until you fix it.

Code:
sub EVENT_SAY {
  if($text=~/Hail/i){
    quest::say(""Brrrrrr!! Grr.. Grreetings. It is freezing out here!!"");
  }
sub EVENT_ITEM {
    if (plugin::check_handin(\%itemcount, 13241 => 1,)) {
    quest::summonitem(13241);
    quest::exp(125);
    quest::faction(10103,1);
  }
}
Reply With Quote
  #3  
Old 05-09-2006, 11:13 PM
mrea
Discordant
 
Join Date: Sep 2004
Location: Camp Hill,PA
Posts: 370
Default

Quote:
Originally Posted by paaco
Also I noticed the reward you are giving is exactly the same as the turnin item for the quest. So that is wrong until you fix it.
He wants to get the elixir back. I figure the NPC is to take a swig, then hand it back. As far as the quest system goes, however, I haven't made my own in some time so I couldn't really help ya :-/
__________________


Reply With Quote
  #4  
Old 05-09-2006, 11:48 PM
paaco
Discordant
 
Join Date: Jan 2005
Posts: 320
Default

hehe yeah I see Mrea, I didn't read his whole post, just skimmed through it and thought I would try fixing the quest
Reply With Quote
  #5  
Old 05-09-2006, 11:51 PM
Muuss
Dragon
 
Join Date: May 2003
Posts: 539
Default

Paaco forgot a brace at the event of the event_say (easy to see due to his good indentation).

Hamarabi, faction id comes from table 'faction_list', faction 10103 does not exists, the rest of your quest is working.
Indent your quests and never put closing braces at the end of the rows, put em alone in a row, so its easier to see what they close. Add comments for the items/factions id too, so you remember what you did :

Code:
sub EVENT_SAY { 
  if($text=~/Hail/i){
    quest::say("Brrrrrr!! Grr.. Grreetings. It is freezing out here!!"); 
  }
}

sub EVENT_ITEM {
  # 13241 :  Full Bottle of Elixir
  if ($itemcount{13241} == 1){
    quest::say("Thank you!  I think what's her name needs some too, she can be found.....");
    quest::exp(125);
    quest::faction(10103,1); # 10103 : Faction XY
    quest::summonitem(13241); # 13241 :  Full Bottle of Elixir
  } 
}

#END of FILE Zone:everfrost  ID:4881 -- Talin_ODonal
__________________
Muuss - [PEQGC] Dobl, the ogre that counts for 2 !
http://www.vilvert.fr/page.php?id=10
Reply With Quote
  #6  
Old 05-10-2006, 12:36 AM
paaco
Discordant
 
Join Date: Jan 2005
Posts: 320
Default

Thanks for the correction Muuss, I always got something small like that missing :( Usually takes me 2 or 3 times to get a quest right but I'm learning slowly
Reply With Quote
  #7  
Old 05-11-2006, 10:57 AM
Hamarabi
Fire Beetle
 
Join Date: May 2006
Posts: 7
Default Thanks alot for all your help guys!!

Sorry, I havn't been able to get back to this until today.

I looked up the faction ID's and fixed that, thanks to your help.

Next, I went on LIVE and logged the correct dialogue, so that I could add that in to the quest. I also took note of the faction changes, there were four changes instead of just one.

FIXING THE QUEST:
At first, the NPC's wouldn't work, so I thought I would rename the files to their NPC ID's (I used #npcstats to find their NPCID) and sometimes it would work and others, no. So I downloaded the MySQL query browser and took a look at the NPC ID's and found that some of the NPC's have several entries. The only obvious difference I noticed, was the level of the NPC compared to the NPCID. I'll list them below.

Talin O`Donal
NPCID:
30074 Level 2
30118 Level 4
30129 Level 3

Bryndin McMill
NPCID:
30065 Level 2
30115 Level 4

Arnis McLish
NPCID:
30049 Level 2

Megan OReilly
NPCID:
30029 Level 2
30096 Level 3
30119 Level 4

I have no idea why these NPC's have more than one NPCID. Random Level spawn, I guess.

Anyways, I decided to take a look at the names of the NPC's compared to the NPCID's and found that Talin's name in the DB was Talin_O`Donal, which seems to be the problem. To experiment, I decided to take the ` character out of his name, essentially renaming him Talin_ODonal and that seemed to fix it.

After doing this, I renamed all of the files to reflect the NPC's name instead of the NPCID (orginal file names). That way it would not matter what random spawn occured. I am sure this was the intention.

Changelog:
I had to edit item 13242 to be more logical. It's name was "One Quarter of Elixir" and should be "Three Quarters of Elixir". Also, some of the NPC's didnt have files, so I created those. Specifically listed below:

1) Changed Talin_O`Donal name in the DB to TalinODonal then renamed his file in the everfrost directory.
2) Added Bryndin_McMill file to everfrost directory
3) Added Arnis_McLish file to the everfrost directory
4) Added Megan_OReilly file to the everfrost directory
5) Fixed up Dargon McPherson's code to be closer to what LIVE is like.
6) Edit item: 13242 and change the name to "Three Quarters of Elixir" instead of "One Quarter of Elixir". This is what should remain after Talin, the first NPC drinks it.
7) Added the four faction changes to each of the NPC's code.

I'll post the finished quest in the proper forum "Quests::Submissions".

Thanks a ton for your help guys, I really appreciate it! It's kind of fun to work on stuff like this.

Hamarabi
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:55 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3