PDA

View Full Version : My 3.0 Epic Turnin Quest


Valcrist
04-16-2008, 09:57 PM
Will post more
########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 ();
}
}

trevius
04-17-2008, 02:47 AM
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?

Valcrist
04-17-2008, 12:06 PM
Well, what would you recommend I add to it?

trevius
04-17-2008, 10:38 PM
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.

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

}

BatCountry
05-06-2008, 01:28 PM
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.

eski2
05-28-2008, 10:38 AM
This looks good!

Catzklawz
07-23-2008, 11:37 AM
10821 is not pally equipable

jkennedy
01-14-2010, 11:16 PM
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

jkennedy
01-15-2010, 08:12 PM
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