PDA

View Full Version : Vahlara Revised


Angelox
10-30-2007, 10:12 PM
Vahlara (Tutorialb or Gloomingdeep) was not giving out all the armor or multiple pieces.
Too large to fit in the post;
Vahlara.pl (http://www.nahunta.org/~angelox/files/Vahlara.pl)

Vahlara also does a few other things aside from trading out nice noobie armor;
}
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;
# 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);
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;
# 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.

Angelox
12-16-2007, 11:42 PM
Updated this quest to better work -
Vahlara.pl (http://www.nahunta.org/~angelox/files/Vahlara.pl)
Vahlara (Mines of Gloomingdeep) was returning the wrong items on some of the turn-ins.

Bishop4351
12-17-2007, 08:11 AM
Thanks!
Thanks!

Knightly
01-01-2008, 06:55 PM
There's a problem in the plate bracer portion. She says:

"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:
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:
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);}

Angelox
01-01-2008, 10:31 PM
Thanks - It looks good, but I think others will break once we apply this.
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;
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.

Knightly
01-02-2008, 04:46 PM
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.

Knightly
01-17-2008, 05:34 PM
One of my players also noticed that the first part of the quest doesn't make sense (ie, she says I have something that will save you from the same fate before she talks about the fate of the others).

Also, when you zone out and back in, you get a "lore" item error due to the globals being removed from the database. I'm going on the assumption that anyone who wants the charm probably isn't going to put it in a bag, so I changed it around a little bit.

Finally, I fixed a couple of the "say" portions where she says "elsif" instead of "if" and I changed the quest so that she uses the check handin function to give items back if she doesn't need them.

sub EVENT_SAY{
if ($text=~/hail/i){
quest::say("I'm glad you managed to escape the slave warrens in one piece. There are many [others] who were not as lucky.");
if (!$hasitem{59943}) {
quest::summonitem(59943);
quest::say("I have something that might save you from the same fate. Take this kobold charm. May it bring you good luck, $name.");
}
}
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);}
elsif ($text=~/others/i){
quest::say("The others did not have the [parts] I needed to craft them protective armor.");}
elsif ($text=~/parts/i){
quest::say("Ah well the parts depend on what type of armour you want. There is [plate] , [chain] , [leather] , and [cloth].");}
elsif ($text=~/a helmet/i){
quest::say("In order to make a plate helmet for you $name, I require a chunk of iron found within the Gloomingdeep mines.");}
elsif ($text=~/plate bracers/i){
quest::say("To make the plate bracers for you, you need to bring me a chunk of iron and a gloomingdeep cocoon silk.");}
elsif ($text=~/plate gauntlets/i){
quest::say("I would love to craft plate gauntlets for you $name. Please bring me a chunk of iron and two gloomindeep cocoon silks.");}
elsif ($text=~/plate boots/i){
quest::say("All travelers require the proper footwear. I can craft a fine pair of plate boots for you if you bring me a chunk of iron and three gloomingdeep cocoon silks.");}
elsif ($text=~/plate vambraces/i){
quest::say("So you seek to protect your arms? $name, please return to me a chunk of iron, two gloomingdeep cocoon silks and a piece of rat fur.");}
elsif ($text=~/plate greaves/i){
quest::say("A good $class knows that some critters only need to reach your legs. With a chunk of iron, two gloomingdeep cocoon silks, and a bat wing, I can help protect you.");}
elsif ($text=~/plate breastplate/i){
quest::say("Ah, the true status of a $class. This will require a chunk of iron, two gloomingdeep cocoon silks and the venom sack from that vile spider queen to craft. Good luck and return when you have what I need.");}
elsif ($text=~/plate/i){
quest::say("I can make the following plate armour, [a helmet], [plate bracers], [plate gauntlets], [plate boots], [plate vambraces], [plate greaves], and a [plate breastplate]. These all require you show your status in battle and return components to me.");}
elsif ($text=~/chain coif/i){
quest::say("In order to make a chain coif for you $name, I require a chunk of bronze found within the Gloomingdeep mines.");}
elsif ($text=~/chain bracers/i){
quest::say("To make the chain bracers for you, you need to bring me a chunk of bronze and a gloomingdeep cocoon silk.");}
elsif ($text=~/chain gauntlets/i){
quest::say("I would love to craft chain gauntlets for you $name. Please bring me a chunk of bronze and two gloomindeep cocoon silks.");}
elsif ($text=~/chain boots/i){
quest::say("All travelers require the proper footwear. I can craft a fine pair of chain boots for you if you bring me a chunk of bronze and three gloomingdeep cocoon silks.");}
elsif ($text=~/chain sleeves/i){
quest::say("So you seek to protect your arms? $name, please return to me a chunk of bronze, two gloomingdeep cocoon silks and a piece of rat fur.");}
elsif ($text=~/chain leggings/i){
quest::say("A good $class knows that some critters only need to reach your legs. With a chunk of bronze, two gloomingdeep cocoon silks, and a bat wing, I can help protect you.");}
elsif ($text=~/chain chestguard/i){
quest::say("Ah, the true status of a $class. This will require a chunk of bronze, two gloomingdeep cocoon silks and the venom sack from that vile spider queen to craft. Good luck and return when you have what I need.");}
elsif ($text=~/chain/i){
quest::say("I can make the following chain armour, [chain coif], [chain bracers], [chain gauntlets], [chain boots], [chain sleeves], [chain leggings], and a [chain chestguard]. These all require you show your status in battle and return components to me.");}
elsif ($text=~/a cap/i){
quest::say("In order to make a leather cap for you $name, I require a piece of rat fur found within the Gloomingdeep mines.");}
elsif ($text=~/leather bracers/i){
quest::say("To make the leather bracers for you, you need to bring me a piece of rat fur and a gloomingdeep cocoon silk.");}
elsif ($text=~/leather gloves/i){
quest::say("I would love to craft leather gloves for you $name. Please bring me a piece of rat fur and two gloomindeep cocoon silks.");}
elsif ($text=~/leather boots/i){
quest::say("All travelers require the proper footwear. I can craft a fine pair of leather boots for you if you bring me a piece of rat fur and three gloomingdeep cocoon silks.");}
elsif ($text=~/leather sleeves/i){
quest::say("So you seek to protect your arms? $name, please return to me two pieces of rat fur, and two gloomingdeep cocoon silks.");}
elsif ($text=~/leather leggings/i){
quest::say("A good $class knows that some critters only need to reach your legs. With a piece of rat fur, two gloomingdeep cocoon silks, and a bat wing, I can help protect you.");}
elsif ($text=~/leather tunic/i){
quest::say("Ah, the true status of a $class. This will require a piece of rat fur, two gloomingdeep cocoon silks and the venom sack from that vile spider queen to craft. Good luck and return when you have what I need.");}
elsif ($text=~/leather/i){
quest::say("I can make the following leather armour, [a cap], [leather bracers], [leather gloves], [leather boots], [leather sleeves], [leather leggings], and a [leather tunic]. These all require you show your status in battle and return components to me.");}
elsif ($text=~/a headband/i){
quest::say("In order to make a headband for you $name, I require a gloomingdeep silk found within the Gloomingdeep mines.");}
elsif ($text=~/cloth wristbands/i){
quest::say("To make the cloth wristbands for you, you need to bring me a gloomingdeep silk and a gloomingdeep cocoon silk.");}
elsif ($text=~/cloth gloves/i){
quest::say("I would love to craft cloth gloves for you $name. Please bring me a gloomingdeep silk and two gloomindeep cocoon silks.");}
elsif ($text=~/cloth slippers/i){
quest::say("All travelers require the proper footwear. I can craft a fine pair of cloth slippers for you if you bring me a gloomingdeep silk and three gloomingdeep cocoon silks.");}
elsif ($text=~/cloth sleeves/i){
quest::say("So you seek to protect your arms? $name, please return to me a gloomingdeep silk, two gloomingdeep cocoon silks, and a piece of rat fur.");}
elsif ($text=~/cloth pantaloons/i){
quest::say("A good $class knows that some critters only need to reach your legs. With a gloomingdeep silk, two gloomingdeep cocoon silks, and a bat wing, I can help protect you.");}
elsif ($text=~/cloth robe/i){
quest::say("Ah, the true status of a $class. This will require a gloomingdeep silk, two gloomingdeep cocoon silks and the venom sack from that vile spider queen to craft. Good luck and return when you have what I need.");}
elsif ($text=~/cloth/i){
quest::say("I can make the following cloth armour, [a headband], [cloth wristbands], [cloth gloves], [cloth slippers], [cloth sleeves], [cloth pantaloons], and a [cloth robe]. These all require you show your status in battle and return components to me.");}
}

Knightly
01-17-2008, 05:35 PM
(doesn't all fit in one post, so the EVENT_SAY is above and EVENT_ITEM is here)

sub EVENT_ITEM{
if (plugin::check_handin(\%itemcount, 59954 => 1, 86010 => 2, 13064 => 1)){
quest::say("You have proven most resourceful $name. I present you these newly crafted vambraces.");
quest::summonitem(82928);}
elsif (plugin::check_handin(\%itemcount, 59954 => 1, 86010 => 2, 13068 => 1)){
quest::say("Your hard work can only be met with these fine greaves. Wear them proudly.");
quest::summonitem(82929);}
elsif (plugin::check_handin(\%itemcount, 59954 => 1, 86010 => 2, 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 (plugin::check_handin(\%itemcount, 59954 => 1, 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 (plugin::check_handin(\%itemcount, 59954 => 1, 86010 => 3)){
quest::say("Many thanks for returning with these items. Please accept these boots as a token of my appreciation.");
quest::summonitem(82926);}
if (plugin::check_handin(\%itemcount, 59954 => 1, 86010 => 1)){
quest::say("Thank you $name. Take this bracer as your payment.");
quest::summonitem(82924);}
elsif (plugin::check_handin(\%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);}
elsif (plugin::check_handin(\%itemcount, 54229 => 1, 86010 => 2, 13064 => 1)){
quest::say("You have proven most resourceful $name. I present you these newly crafted sleeves.");
quest::summonitem(82935);}
elsif (plugin::check_handin(\%itemcount, 54229 => 1, 86010 => 2, 13068 => 1)){
quest::say("Your hard work can only be met with these fine leggings. Wear them proudly.");
quest::summonitem(82936);}
elsif (plugin::check_handin(\%itemcount, 54229 => 1, 86010 => 2, 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(82937);}
elsif (plugin::check_handin(\%itemcount, 54229 => 1, 86010 => 1)){
quest::say("Thank you $name. Take this bracer as your payment.");
quest::summonitem(82931);}
elsif (plugin::check_handin(\%itemcount, 54229 => 1, 86010 => 2)){
quest::say("Many thanks for returning with these items. Please accept these guantlets as a token of my appreciation.");
quest::summonitem(82932);}
elsif (plugin::check_handin(\%itemcount, 54229 => 1, 86010 => 3)){
quest::say("Many thanks for returning with these items. Please accept these boots as a token of my appreciation.");
quest::summonitem(82933);}
elsif (plugin::check_handin(\%itemcount, 54229 => 1)){
quest::say("Thank you so much. We appreciate your help with this, it really is noted. Take this coif and good luck to you!");
quest::summonitem(82934);}
elsif (plugin::check_handin(\%itemcount, 13064 => 1, 86010 => 2, 13068 => 1)){
quest::say("Your hard work can only be met with these fine pants. Wear them proudly.");
quest::summonitem(82943);}
elsif (plugin::check_handin(\%itemcount, 13064 => 1, 86010 => 2, 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(82944);}
elsif (plugin::check_handin(\%itemcount, 13064 => 1, 86010 => 3)){
quest::say("Many thanks for returning with these items. Please accept these boots as a token of my appreciation.");
quest::summonitem(82940);}
elsif (plugin::check_handin(\%itemcount, 13064 => 2, 86010 => 2)){
quest::say("You have proven most resourceful $name. I present you these newly crafted sleeves.");
quest::summonitem(82942);}
elsif (plugin::check_handin(\%itemcount, 13064 => 1, 86010 => 2, 54234 => 1)){
quest::say("You have proven most resourceful $name. I present you these newly crafted sleeves.");
quest::summonitem(82949);}
elsif (plugin::check_handin(\%itemcount, 13064 => 1, 86010 => 2)){
quest::say("Many thanks for returning with these items. Please accept these gloves as a token of my appreciation.");
quest::summonitem(82939);}
elsif (plugin::check_handin(\%itemcount, 13064 => 1, 86010 => 1)){
quest::say("Thank you $name. Take this bracer as your payment.");
quest::summonitem(82938);}
elsif (plugin::check_handin(\%itemcount, 13064 => 1)){
quest::say("Thank you so much. We appreciate your help with this, it really is noted. Take this cap and good luck to you!");
quest::summonitem(82941);}
elsif (plugin::check_handin(\%itemcount, 54234 => 1, 86010 => 2, 13068 => 1)){
quest::say("Your hard work can only be met with these fine pantaloons. Wear them proudly.");
quest::summonitem(82950);}
elsif (plugin::check_handin(\%itemcount, 54234 => 1, 86010 => 2, 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(82951);}
elsif (plugin::check_handin(\%itemcount, 54234 => 1, 86010 => 3)){
quest::say("Many thanks for returning with these items. Please accept these slippers as a token of my appreciation.");
quest::summonitem(82947);}
elsif (plugin::check_handin(\%itemcount, 54234 => 1, 86010 => 2)){
quest::say("Many thanks for returning with these items. Please accept these gloves as a token of my appreciation.");
quest::summonitem(82946);}
elsif (plugin::check_handin(\%itemcount, 54234 => 1, 86010 => 1)){
quest::say("Thank you $name. Take this wristband as your payment.");
quest::summonitem(82945);}
elsif (plugin::check_handin(\%itemcount, 54234 => 1)){
quest::say("Thank you so much. We appreciate your help with this, it really is noted. Take this headband and good luck to you!");
quest::summonitem(82948); }
plugin::return_items(\%itemcount);
}