View Single Post
  #8  
Old 05-11-2006, 05:07 PM
Hamarabi
Fire Beetle
 
Join Date: May 2006
Posts: 7
Default One more little help?

Well, after spending some time trying to figure out the format required to submit a quest, I am hoping you guys could help me out once again and point out any mistakes. I checked the submission guidelines at this URL:
http://www.eqemulator.net/forums/showthread.php?t=17400

The only problem with that, is the link for the criteria is broken. I don't want to get yelled at for not following the rules, but if the link is broken, I have no way of knowing if this is ok for submittal. Please note, that I added all of the NPCID's for each NPC because many of them had more than one (Random Level Spawn?). Anyways, i'll just cut and paste what I have here:

Header:
Code:
#############
#Quest Name: "deliver an elixir to young warriors"
#Author: Hamarabi, but I didn't write it, I just fixed it and completed the unfinished parts with the help of paaco, mrea, and Muuss.
#NPC's Involved: 5
#Items Involved: 5
#Zones Involved: 2
#Zones Involved: Halas, Everfrost
#############
###NPC 1
#Name: Dargon McPerson
#Race 2 (Barbarian), Texture of 3, Size 7, gender of 0
#Location: Pit of Doom in Halas
#Level: 61
#Type: Warrior Guildmaster / Quest NPC
#Item Obtained: Full Bottle of Elixir
#############
###NPC 2
#Name: Talin ODonal
#Race 2 (Barbarian), size 7, texture of 1, gender of 0
#Location: Everfrost at the Campfire in the tunnel to Halas
#Level: 2-4
#Type: Quest NPC
#Item Obtained: Three Quarters of Elixir
#############
###NPC 3
#Name: Bryndin McMill
#Race 2 (Barbarian), size 7, texture of 1, gender of 0
#Location: By Snowflake in Everfrost
#Level: 2-4
#Type: Quest NPC
#Item Obtained: One Half of Elixir
#############
###NPC 4
#Name: Arnis McLish
#Race 2 (Barbarian), size 7, texture of 0, gender of 0
#Location: By Blackburrow in Everfrost
#Level: 2-4
#Type: Quest NPC
#Item Obtained: One Quarter of Elixir
#############
###NPC 5
#Name: Megan OReilly
#Race 2 (Barbarian), size 7, texture of 0, gender of 1
#Location: Out by a tower on the south side of the river near Permafrost
#Level: 2-4
#Type: Quest NPC
#Item Obtained: Empty Bottle of Elixir
#############
###Item 1
#Name: Full Bottle of Elixir
#Item Function: Quest Turn-in
###
###Item 1
#Name: Three Quarters of Elixir
#Item Function: Quest Turn-in
###
###Item 1
#Name: One Half of Elixir
#Item Function: Quest Turn-in
###
###Item 1
#Name: One Quarter of Elixir
#Item Function: Quest Turn-in
###
###Item 1
#Name: Empty Bottle of Elixir
#Item Function: Quest Turn-in
###

#Note: All of these NPC's are already in the game using Cavedude's Serverpack 7.0 (EQEmuServerPack-3.52.exe)
#Note: I chose PEQ database during install

#Description: The point of this quest is to raise peoples faction with....
#Description: Merchant's of Halas, Shaman of Justice, Steel Warriors, and The Wolves of the North.
Here's the list of files for the NPC's:

Dargon_McPerson.pl I had to fix up his dialogue for the turn-in and have him give faction and an item at the end of the quest. I don't understand the "else" statement at the end of the "sub EVENT_ITEM". Maybe someone could help me understand that. I guess it's for training?
Code:
sub EVENT_SAY { 
if($text=~/Hail/i){
quest::say("Hail. mighty $name! I assume ye must be a [warrior o' the Wolves]. Why else would ye approach a trainer such as meself. then?");
}
if($text=~/i am a warrior o/i){
quest::say("Aye. 'tis as I thought. I'm glad t' see we've warriors such as yerself amongst the Wolves o' the North. Lately. Kylan's been allowing too many scrawny warriors in. methinks. Nor have they fared well in Everfrrost. Many frreeze to death. ye know... Will ye assist me and [deliver an elixir to young warriors] in Everfrost?");
}
if($text=~/i will deliver an elixir to young warriors/i){
quest::say("Ach. 'tis good o' ye! Take this bottle of elixir to Everfrost Peaks. Find Talin O'Donal. He'll take the first sip. and then instruct ye on who else ye need to find. Do that. and I'll give ye a fine reward when ye return the empty elixir bottle. Good luck. then. Don't die.");
quest::summonitem("13241");  # Full Bottle of Elixir
}
}


sub EVENT_ITEM { 
 if($itemcount{13245} == 1){
	quest::say("Ye've proven yerself to be a cut above the rest and aided yer fellow warriors, no matter how worthless they were. Ye may take this. It was found in the snow by one of our foraging parties. I hope it can be of use to a warrior like yerself.");
        quest::exp("125");
	quest::summonitem("2012"); # Leather Boots
	quest::faction("213","1"); # 213 : Faction Merchant's of Halas
	quest::faction("294","1"); # 294 : Faction Shaman of Justice
	quest::faction("311","1"); # 311 : Faction Steel Warriors
	quest::faction("361","1"); # 361 : Faction Wolves of the North
 } else {
	if($class ne 'Warrior') {
		quest::say("You are not a member of my guild. I will not train you!");
		quest::summonitem($item1) if($item1);
		quest::summonitem($item2) if($item2);
		quest::summonitem($item3) if($item3);
		quest::summonitem($item4) if($item4);
		return;
	}
	#assume it is a discipline tome...
	quest::traindisc($item1) if(quest::isdisctome($item1));
	quest::traindisc($item2) if(quest::isdisctome($item2));
	quest::traindisc($item3) if(quest::isdisctome($item3));
	quest::traindisc($item4) if(quest::isdisctome($item4));
 }
}
#END of FILE Zone:halas  ID:29055 -- Dargon_McPherson
Talin_ODonal.pl I had to edit the database name for this guy, it seems the server didn't like the ` character so I changed his name from "Talin O`Donal" to "Talin ODonal" and also changed the filename to reflect this change. (ie., Changed Talin_O`Donal.pl to Talin_ODonal.pl)
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("Mmmm.. I feel much warmer. Thank you. You should now find Bryndin McMill. He could use a swig also. I saw him hanging around two other guards.");
    quest::exp(125);
    quest::faction(213,1); # 213 : Faction Merchant's of Halas
    quest::faction(294,1); # 294 : Faction Shaman of Justice
    quest::faction(311,1); # 311 : Faction Steel Warriors
    quest::faction(361,1); # 361 : Faction Wolves of the North
    quest::summonitem(13242); # 13242 :  3/4 Full Bottle of Elixir
  } 
}

#END of FILE Zone:everfrost  ID:30074, 30118, 30129 -- Talin_ODonal
Bryndin_McMill.pl This file didn't exist so I added it to the /quests/everfrost/ directory.
Code:
sub EVENT_SAY { 
  if($text=~/Hail/i){
    quest::say("H-ha.. H-hai.. Hail!! It is v-v-very.. C-cold out here. You sh-sh-should light a c-c-campfire."); 
  }
}

sub EVENT_ITEM {
  # 13242 :  Three Quarters of Elixir
  if ($itemcount{13242} == 1){
    quest::say("Ahhh!! I feel warm all over. Thanks. You should go give Arnis McLish a drink of this elixir. Last time I saw him he was headed toward Blackburrow.");
    quest::exp(125);
    quest::faction(213,1); # 213 : Faction Merchant's of Halas
    quest::faction(294,1); # 294 : Faction Shaman of Justice
    quest::faction(311,1); # 311 : Faction Steel Warriors
    quest::faction(361,1); # 361 : Faction Wolves of the North
    quest::summonitem(13243); # 13243 :  One Half Full Bottle of Elixir
  } 
}

#END of FILE Zone:everfrost  ID:30065, 30115 -- Bryndin_McMill
Arnis_McLish.pl This file didn't exist either, so I added it to the /quests/everfrost/ directory.
Code:
sub EVENT_SAY { 
  if($text=~/Hail/i){
    quest::say("My word!! I cannot believe how cold it is out here. I must keep running around just to keep warm."); 
  }

  if($text=~/where's megan?/i){
quest::say("I heard she got lost on the plains. You should go ask her dog, Snowflake, where she is. I hear he is somewhere around the pass to Halas.");
  }


}

sub EVENT_ITEM {
  # 13243 :  One Half Bottle of Elixir
  if ($itemcount{13243} == 1){
    quest::say("Mmmm.. Thank you stranger. I feel a lot warmer now. You should now go and find [Megan] O'Reilly.");
    quest::exp(125);
    quest::faction(213,1); # 213 : Faction Merchant's of Halas
    quest::faction(294,1); # 294 : Faction Shaman of Justice
    quest::faction(311,1); # 311 : Faction Steel Warriors
    quest::faction(361,1); # 361 : Faction Wolves of the North
    quest::summonitem(13244); # 13244 :  One Quarter of Elixir
  } 
}

#END of FILE Zone:everfrost  ID:30049 -- Arnis_McLish
Megan_OReilly.pl This file didn't exist either, so I added it to the /quests/everfrost/ directory.
Code:
sub EVENT_SAY { 
  if($text=~/Hail/i){
    quest::say("Brrrr.. It.. Is sooo.. c-cold!! I never.. sh-should've j-joined.. the.. the W-wolves of the N-north!!"); 
  }
}

sub EVENT_ITEM {
  # 13244 :  One Quarter Bottle of Elixir
  if ($itemcount{13244} == 1){
    quest::say("Oh thank you. Sorry, but the bottle is empty now. I hope you did't need any. Take the empty bottle back to Dargon. He may refill it for you.");
    quest::exp(125);
    quest::faction(213,1); # 213 : Faction Merchant's of Halas
    quest::faction(294,1); # 294 : Faction Shaman of Justice
    quest::faction(311,1); # 311 : Faction Steel Warriors
    quest::faction(361,1); # 361 : Faction Wolves of the North
    quest::summonitem(13245); # 13245 :  Empty Bottle of Elixir
  } 
}

#END of FILE Zone:everfrost  ID:30029, 30096, 30119 -- Megan_OReilly
Another thing I had to do was change the name of ItemID 13242 from "One Quarter of Elixir" to "Three Quarters of Elixir" in the DB, because the first NPC should hand you back three quarters of the bottle, not one quarter. The second NPC will hand you back "One Half of Elixir" and so on.
Continued....

Last edited by Hamarabi; 05-12-2006 at 01:33 AM..
Reply With Quote