Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Completed

Quests::Completed This is where Completed quests are.

Reply
 
Thread Tools Display Modes
  #1  
Old 10-30-2007, 10:12 PM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default Vahlara Revised

Vahlara (Tutorialb or Gloomingdeep) was not giving out all the armor or multiple pieces.
Too large to fit in the post;
Vahlara.pl

Vahlara also does a few other things aside from trading out nice noobie armor;
Code:
  }
  elsif ($amote==2){
    quest::spawn2(189119,0,0,-126.0,-295.8,3.0,124.8);
  }
  elsif ($bmote==2){
    quest::spawn2(189120,0,0,-385.2,-516.3,-39.3,135.1);
  }
These are two invisible NPCs that temporarily spawn further down the caves with emotes;
Code:
# Emotes
# Zone: Tutorialb

sub EVENT_SPAWN
{
	$x = $npc->GetX();
	$y = $npc->GetY();
	quest::set_proximity($x - 50, $x + 50, $y - 50, $y + 50);
	quest::delglobal("amote");
	quest::setglobal("amote",3,3,"F");
	$amote=undef;
}

sub EVENT_ENTER
{
	quest::emote("A vast mine lays before you. From deep within the mine you can hear the clanging of pulleys and carts. It appears as though they are inhabited . . .");
	quest::depop();
	quest::delglobal("amote");
	quest::setglobal("amote",2,3,"F");
	$amote=undef;
}
But will not spawn, unless a "first timer" player hails her (Vahlara);
Code:
  if (($text=~/hail/i)&&(${$name}==2)){
(avoids spamming the caves with emotes)
That little piece of script gives every player in Gloomingdeep their own variable ($name).
The $name variable is also used in the #AriasLoY.pl and when finally set with the turn in needed, he sends you off to the LoY zones at level 35 (provided you used this pl)

At one time quest_globals would not work unless I "initialized" the variable and made it available, so this was Celraks job;
Code:
# Emotes
# Zone: Tutorialb

sub EVENT_SPAWN
{
	$x = $npc->GetX();
	$y = $npc->GetY();
	quest::set_proximity($x - 50, $x + 50, $y - 50, $y + 50);
}

sub EVENT_ENTER
{
  quest::setglobal("$name",1,3,"F");
  $name=undef;
}
This is where new characters started out in the dungeon (by Celrak). I think this is not needed anymore (with Blehs fix).

Finally, Arias deletes your $name variable when you exit the dungeon, so as not to fill up the quest_globals table with unused variables.
Reply With Quote
  #2  
Old 12-16-2007, 11:42 PM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

Updated this quest to better work -
Vahlara.pl
Vahlara (Mines of Gloomingdeep) was returning the wrong items on some of the turn-ins.
Reply With Quote
  #3  
Old 12-17-2007, 08:11 AM
Bishop4351
Sarnak
 
Join Date: Sep 2006
Location: Texas
Posts: 49
Talking

Thanks!
Thanks!
Reply With Quote
  #4  
Old 01-01-2008, 06:55 PM
Knightly
Accomplished Programmer
 
Join Date: Nov 2006
Location: Honolulu, HI
Posts: 91
Default

There's a problem in the plate bracer portion. She says:
Quote:
"To make the plate bracers for you, you need to bring me a chunk of iron and a gloomingdeep cocoon silk."
So the first portion:
Code:
  if ($itemcount{59954} == 1 && $itemcount{86010} == 2 && $itemcount{13064} == 1){
    quest::say("You have proven most resourceful $name.  I present you these newly crafted vambraces.");
    quest::summonitem(82928);}
  elsif ($itemcount{59954} == 1 && $itemcount{86010} == 2 && $itemcount{13068} == 1){
    quest::say("Your hard work can only be met with these fine greeves. Wear them proudly.");
    quest::summonitem(82929);}
  elsif ($itemcount{59954} == 1 && $itemcount{86010} == 2  && $itemcount{13064} == 1){
    quest::say("Thank you $name. Take this bracer as your payment.");
    quest::summonitem(82924);}
  elsif ($itemcount{59954} == 1 && $itemcount{86010} == 2 && $itemcount{14018} == 1){
    quest::say("Marvelous $name. You truly are a brave warrior. Only one such as you is worthy enough to wear this armor.");
    quest::summonitem(82930);}
  elsif ($itemcount{59954} == 1 && $itemcount{86010} == 2){
    quest::say("Many thanks for returning with these items. Please accept these guantlets as a token of my appreciation.");
    quest::summonitem(82925);}
  elsif ($itemcount{59954} == 1 && $itemcount{86010} == 3){
    quest::say("Many thanks for returning with these items. Please accept these boots as a token of my appreciation.");
    quest::summonitem(82926);}
  elsif ($itemcount{59954} == 1){
    quest::say("Thank you so much. We appreciate your help with this, it really is noted. Take this helmet and good luck to you!");
    quest::summonitem(82927);}
Should be:
Code:
  if ($itemcount{59954} == 1 && $itemcount{86010} == 2 && $itemcount{13064} == 1){
    quest::say("You have proven most resourceful $name.  I present you these newly crafted vambraces.");
    quest::summonitem(82928);}
  elsif ($itemcount{59954} == 1 && $itemcount{86010} == 2 && $itemcount{13068} == 1){
    quest::say("Your hard work can only be met with these fine greeves. Wear them proudly.");
    quest::summonitem(82929);}
  elsif ($itemcount{59954} == 1 && $itemcount{86010} == 2 && $itemcount{14018} == 1){
    quest::say("Marvelous $name. You truly are a brave warrior. Only one such as you is worthy enough to wear this armor.");
    quest::summonitem(82930);}
  elsif ($itemcount{59954} == 1 && $itemcount{86010} == 2){
    quest::say("Many thanks for returning with these items. Please accept these guantlets as a token of my appreciation.");
    quest::summonitem(82925);}
  elsif ($itemcount{59954} == 1 && $itemcount{86010} == 3){
    quest::say("Many thanks for returning with these items. Please accept these boots as a token of my appreciation.");
    quest::summonitem(82926);}
  elsif ($itemcount{59954} == 1 && $itemcount{86010} == 1){
    quest::say("Thank you $name. Take this bracer as your payment.");
    quest::summonitem(82924);}
  elsif ($itemcount{59954} == 1){
    quest::say("Thank you so much. We appreciate your help with this, it really is noted. Take this helmet and good luck to you!");
    quest::summonitem(82927);}
Reply With Quote
  #5  
Old 01-01-2008, 10:31 PM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

Thanks - It looks good, but I think others will break once we apply this.
Code:
  elsif ($itemcount{59954} == 1 && $itemcount{86010} == 1){
    quest::say("Thank you $name. Take this bracer as your payment.");
    quest::summonitem(82924);}
has to be moved down the list to just above the plate helmet turnin;
Code:
  elsif ($itemcount{59954} == 1 && $itemcount{86010} == 3){
    quest::say("Many thanks for returning with these items. Please accept these boots as a token of my appreciation.");
    quest::summonitem(82926);}
  elsif ($itemcount{59954} == 1 && $itemcount{86010} == 1){
    quest::say("Thank you $name. Take this bracer as your payment.");
    quest::summonitem(82924);}
  elsif ($itemcount{59954} == 1){
    quest::say("Thank you so much. We appreciate your help with this, it really is noted. Take this helmet and good luck to you!");
    quest::summonitem(82927);}
Example: if you were to place bracer above the boots, then you would either get bracer and boots with turn in of three silks and an iron, or just bracer and no boots depending on how you phrased the script.
Best way to do when you make a change is stand in front of Vahlera and summon a pile of irons and silks, test all turn-ins. I had to go through the whole script and do this (and it still ain't right!), Is why you see silk wristband at the bottom; put it anywhere else and you get a free silk wristband with any other turn in.
Also, don't 100% trust #reloadpl , if you think your change is right and still get same unwanted results, restart the zone or server. I've seen where scripts get stuck in a groove and don't change.
Reply With Quote
  #6  
Old 01-02-2008, 04:46 PM
Knightly
Accomplished Programmer
 
Join Date: Nov 2006
Location: Honolulu, HI
Posts: 91
Default

Yep, I should have made that more clear in my post. I did move it down, but I didn't mention the move (it is in the change above though).

Also, thanks for the tip on #reloadpl. I think I actually experienced what you are talking about while testing this, I ended up reloading the zone just for posterity.
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 07:42 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