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

Quests::Custom Custom Quests here

Reply
 
Thread Tools Display Modes
  #1  
Old 04-16-2008, 09:57 PM
Valcrist
Sarnak
 
Join Date: Aug 2006
Location: NJ
Posts: 85
Default My 3.0 Epic Turnin Quest

Will post more
Code:
########Kval_the_Rich (3.0 Quest Giver / Rewarder)
####Zone:Thundercrest
########

sub EVENT_SAY
  {
if(($text=~/Hail/i) && ($ulevel <=79))
{
quest::say("Sorry young $class, I am afraid you are of no use to me!")
}
elsif(($text=~/Hail/i) && ($ulevel >=80))
  {
  quest::say("Hail, $name . Will you [assist] me with my research?");
  }
 if (($text=~/assist/i) && ($ulevel >=80))
  {
  quest::say("I've been looking for a strong $class like you that would care to assist me in my research of the godly... as in, what makes a god tick.. if you can bring me the Statue of Vyre, Ethereal Dragon Heart of your class, and Heart of the Shissar.. I will reward you with a weapon of great power I have been constructing!");
  }
}
sub EVENT_ITEM 
{ 
  if ($itemcount{55985} == 1 && $itemcount{81890} == 1 && $itemcount{1118} == 1 && $class eq 'Berserker')
    {
      quest::summonitem (11664);
      quest::shout2("Congratulations $name the $class has cleansed the world of the tainted gods and received their 3.0!");
      quest::ding ();
    }
  elsif ($itemcount{55985} == 1 &&  $itemcount{81890} == 1 && $itemcount{1079} == 1 && $class eq 'Cleric')
    {
      quest::summonitem (22998);
      quest::shout2("Congratulations $name the $class has cleansed the world of the tainted gods and received their 3.0!");
      quest::ding ();
   }
  elsif ($itemcount{55985} == 1 && $itemcount{81890} == 1 && $itemcount{1319} == 1 && $class eq 'Druid')
    {
      quest::summonitem (11688);
      quest::shout2("Congratulations $name the $class has cleansed the world of the tainted gods and received their 3.0!");
      quest::ding ();
    }
  elsif ($itemcount{55985} == 1 && $itemcount{81890} == 1 && $itemcount{1261} == 1 && $class eq 'Magician')
    {
      quest::summonitem (11662);
      quest::shout2("Congratulations $name the $class has cleansed the world of the tainted gods and received their 3.0!");
      quest::ding ();
    }
  elsif ($itemcount{55985} == 1 && $itemcount{81890} == 1 && $itemcount{1261} == 1 && $class eq 'Necromancer')
    {
      quest::summonitem (11662);
      quest::shout2("Congratulations $name the $class has cleansed the world of the tainted gods and received their 3.0!");
      quest::ding ();
    }
  elsif ($itemcount{55985} == 1 && $itemcount{81890} == 1 && $itemcount{1261} == 1 && $class eq 'Enchanter')
    {
      quest::summonitem (11662);
      quest::shout2("Congratulations $name the $class has cleansed the world of the tainted gods and received their 3.0!");
      quest::ding ();
    }
  elsif ($itemcount{55985} == 1 && $itemcount{81890} == 1 && $itemcount{1119} == 1&& $class eq 'Monk,Beastlord')
    {
      quest::summonitem (2699);
      quest::shout2("Congratulations $name the $class has cleansed the world of the tainted gods and received their 3.0!");
      quest::ding ();
    }
  elsif ($itemcount{55985} == 1 && $itemcount{81890}== 1 && $itemcount{1266} == 1&& $class eq 'Rogue')
    {
      quest::summonitem (2595);
      quest::shout2("Congratulations $name the $class has cleansed the world of the tainted gods and received their 3.0!");
      quest::ding ();
    }  
  elsif ($itemcount{55985} == 1 && $itemcount{81890}== 1 && $itemcount{1266} == 1&& $class eq 'Ranger')
    {
      quest::summonitem (2595);
      quest::shout2("Congratulations $name the $class has cleansed the world of the tainted gods and received their 3.0!");
      quest::ding ();
    }  
  elsif ($itemcount{55985} == 1 && $itemcount{81890}== 1 && $itemcount{1266} == 1&& $class eq 'Bard')
    {
      quest::summonitem (2595);
      quest::shout2("Congratulations $name the $class has cleansed the world of the tainted gods and received their 3.0!");
      quest::ding ();
    }  

  elsif ($itemcount{55985} == 1 && $itemcount{81890} == 1 && $itemcount{1264} == 1 && $class eq 'Shaman')
    {
      quest::summonitem (3374);
      quest::shout2("Congratulations $name the $class has cleansed the world of the tainted gods and received their 3.0!");
      quest::ding ();
    }
  elsif ($itemcount{55985} == 1 && $itemcount{81890} == 1 && $itemcount{9340} == 1 && $class eq 'Warrior')
    {
      quest::summonitem (10821);
      quest::shout2("Congratulations $name the $class has cleansed the world of the tainted gods and received their 3.0!");
      quest::ding ();
    }
  elsif ($itemcount{55985} == 1 && $itemcount{81890} == 1 && $itemcount{1096} == 1 && $class eq 'Wizard')
    {
      quest::summonitem (16576);
      quest::exp(1);
      quest::shout2("Congratulations $name the $class has cleansed the world of the tainted gods and received their 3.0!");
      quest::ding ();
    }
  elsif ($itemcount{55985} == 1 && $itemcount{81890} == 1 && $itemcount{9340} == 1 && $class eq 'ShadowKnight')
    {
      quest::summonitem (10821);
            quest::shout2("Congratulations $name the $class has cleansed the world of the tainted gods and received their 3.0!");
      quest::ding ();
    }
  elsif ($itemcount{55985} == 1 && $itemcount{81890} == 1 && $itemcount{9340} == 1 && $class eq 'Paladin')
    {
      quest::summonitem (10821);
            quest::shout2("Congratulations $name the $class has cleansed the world of the tainted gods and received their 3.0!");
      quest::ding ();
	}
}
Reply With Quote
  #2  
Old 04-17-2008, 02:47 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Looks pretty good, but what keeps them from repeating the quest and leveling to insanely high levels? Or does the quest::ding only go to max level of the server?
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #3  
Old 04-17-2008, 12:06 PM
Valcrist
Sarnak
 
Join Date: Aug 2006
Location: NJ
Posts: 85
Default

Well, what would you recommend I add to it?
Reply With Quote
  #4  
Old 04-17-2008, 10:38 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Here is an example of my experience and leveling quests. The leveling portion uses quest globals to keep track of player levels. IMO, that is a good way to do it and be able to keep track of player levels. Otherwise if you have issues with leveling later, you can always check to see what level the player is supposed to be by checking the quest global. You should be able to reference this quest to find out anything you need for leveling and exp quests.

Code:
sub EVENT_SAY {
if($text=~/hail/i)
{
quest::say("Hello, $name.  I am a card collector and am willing to trade my personal experience for cards.  If you have [minor], [godly] or the normal [card] of experience, I may be able to make a trade with you. I can also [return] your level if you have the correct status with me.");
}
if (($text =~/minor/i)&&($ulevel <= 44))
{
quest::say ("You must gain more experience before you can turn in this type of card to me.  I hear they are attained in the Plane of Earth B.");
}
if (($text =~/minor/i)&&($ulevel >= 45))
{
quest::say ("If you happen to come across any Cards of Minor Experience, please bring them to me and I will kindly reward you. I am creating a collection and can always use more.  Make sure to hand them to me unstacked.  I hear they are attained in the Plane of Earth B.");
}

if (($text =~/card/i)&&($ulevel <= 64))
{
quest::say ("You must gain more experience before you can turn in this type of card to me.  I hear they are attained in the Plane of Valor.");
}
if (($text =~/card/i)&&($ulevel >= 65))
{
quest::say ("If you happen to come across any Cards of Experience, please bring them to me and I will kindly reward you. I am creating a collection and can always use more.  Make sure to hand them to me unstacked.  You must be 65+ for me to reward you for these cards.");
}

if (($text =~/godly/i)&&($ulevel <= 69))
{
quest::say ("You must gain more experience before you can turn in this type of card to me.  I hear they are attained in the Tower of Solusek Ro.");
}
if (($text =~/godly/i)&&($ulevel >= 70))
{
quest::say ("If you happen to come across any Cards of Godly Experience, please give 4 of them to me at once and I will kindly reward you. I hear they are attained in the Tower of Solusek Ro. Make sure to hand them to me unstacked.");
}
if (($text =~/return/i)&&($ulevel <= 69))
{
quest::say ("You must be at least level 70 for me to provide this service to you!  Return when you have gained more experience.");
}

if (($text =~/return/i)&&($ulevel >= 70)) {

if ($max_level == undef){
    quest::say("You are already at your current maximum level."); }

elsif ($max_level == 71) {
    quest::say("You are now set back to your previous maximum level.");
    quest::level(71);
    $max_level=undef; }

elsif ($max_level == 72) {
    quest::say("You are now set back to your previous maximum level.");
    quest::level(72);
    $max_level=undef; }

elsif ($max_level == 73) {
    quest::say("You are now set back to your previous maximum level.");
    quest::level(73);
    $max_level=undef; }

elsif ($max_level == 74) {
    quest::say("You are now set back to your previous maximum level.");
    quest::level(74);
    $max_level=undef; }

elsif ($max_level == 75) {
    quest::say("You are now set back to your previous maximum level.");
    quest::level(75);
    $max_level=undef; }
    
  }

}

sub EVENT_ITEM {
if ((plugin::check_handin(\%itemcount, 2275=>1))&&($ulevel >= 65)){
    quest::say("I am always looking for more for my collection.");
$client->Message(6, "Maximus Serilious rewards you with experience." );
    quest::exp(9999999); }
    
if ((plugin::check_handin(\%itemcount, 2834=>1))&&($ulevel >= 45)){
    quest::say("I am always looking for more for my collection.");
$client->Message(6, "Maximus Serilious rewards you with experience." );
    quest::exp(2000000); }
  
if (plugin::check_handin(\%itemcount, 2835=>4)) {
    
if ($max_level == undef) {
    quest::say("These are in excellent shape!  They will be trophies in my collection!");
$client->Message(6, "Maximus Serilious rewards you with a new level!" );
    quest::exp(9999999);
    quest::setglobal("max_level", 71, 5, "F");
    quest::level(71);
    $max_level=undef; }
    
elsif ($max_level == 71) {
    quest::say("These are in excellent shape!  They will be trophies in my collection!");
$client->Message(6, "Maximus Serilious rewards you with a new level!" );
    quest::exp(9999999);
    quest::setglobal("max_level", 72, 5, "F");
    quest::level(72);
    $max_level=undef; }
    
elsif ($max_level == 72) {
    quest::say("These are in excellent shape!  They will be trophies in my collection!");
$client->Message(6, "Maximus Serilious rewards you with a new level!" );
    quest::exp(9999999);
    quest::setglobal("max_level", 73, 5, "F");
    quest::level(73);
    $max_level=undef; }
    
elsif ($max_level == 73) {
    quest::say("These are in excellent shape!  They will be trophies in my collection!");
$client->Message(6, "Maximus Serilious rewards you with a new level!" );
    quest::exp(9999999);
    quest::setglobal("max_level", 74, 5, "F");
    quest::level(74);
    $max_level=undef; }
    
elsif ($max_level == 74) {
    quest::say("These are in excellent shape!  They will be trophies in my collection!");
$client->Message(6, "Maximus Serilious rewards you with a new level!" );
$client->Message(15, "You have reached the max level!  Repeating this quest will give no further rewards!" );
    quest::exp(9999999);
    quest::setglobal("max_level", 75, 5, "F");
    quest::level(75);
    $max_level=undef; }

elsif ($max_level == 75) {
    quest::say("You have already reached the max level.  I can no longer reward you for the Cards of Godly Experience.  But if you want to give them to me anyway, I will take them for free. Ha ha ha!");
    quest::level(75);
    $max_level=undef; }
 	
    {
    $max_level=undef;
    }
    
}
   
else {
 	 plugin::return_items(\%itemcount);
	 }
	
}
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #5  
Old 05-06-2008, 01:28 PM
BatCountry
Fire Beetle
 
Join Date: Mar 2006
Posts: 24
Default Quest::ding

Uh, quest::ding doesn't give you a level...

It's just supposed to send the fanfare packet (the bugle fanfare) for completing a quest. The quest as he's written it won't give XP or levels.

EDIT: Well, it gives 1 xp, but he'd need to do the quest several million times to gain a level.
Reply With Quote
  #6  
Old 05-28-2008, 10:38 AM
eski2
Hill Giant
 
Join Date: May 2008
Location: sydney
Posts: 177
Thumbs up

This looks good!
Reply With Quote
  #7  
Old 07-23-2008, 11:37 AM
Catzklawz
Fire Beetle
 
Join Date: Jul 2008
Location: Fallon, Nevada
Posts: 4
Default 10821

10821 is not pally equipable
Reply With Quote
  #8  
Old 01-14-2010, 11:16 PM
jkennedy
Hill Giant
 
Join Date: Dec 2009
Posts: 175
Default

i know this is a really old post but im trying to use trevius's script to do a level 70-75 as a test i want to change stuff around and it well end up being a quest for an item just a multipart quest that u need to hand something in to get the next part but even his the first handin will give me level 71 then the rest just keep giving 71 over and over so i need to make a global table sorry for the newbieness
Reply With Quote
  #9  
Old 01-15-2010, 08:12 PM
jkennedy
Hill Giant
 
Join Date: Dec 2009
Posts: 175
Default

i had the quest working earlier but then idk what happened its not changing maxlevel to 72 when i turn in again but it does 71 when i do it the first time
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 04:38 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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3