|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|
Quests::Q&A This is the quest support section |
 |
|
 |

10-13-2008, 01:04 AM
|
Discordant
|
|
Join Date: Jan 2005
Posts: 320
|
|
OK after deciding I was trying to be too complex with this quest for my small knowledge of perl I completely rewrote it. This is about the ugliest way I could possibly have written it probably, but it is also very simple. This is what I have now. Can someone tell me why she hands me every epic instead of just one? I used an SK to test btw.
Code:
sub EVENT_SAY {
if($text=~/Hail/i) {
quest::say("Hail, $class. I am Luana, The God of Life. I am in this world to see to it that those that have proven themselves worthy will be rewarded. If you have proof that Hanvar is dead, hand it to me."); }
}
sub EVENT_ITEM {
if (plugin::check_handin(\%itemcount, 29294 => 1)) {
if ( $class == "Cleric" ) {
quest::summonitem(5532);
}
if ( $class == "Warrior" ) {
quest::summonitem(66177);
quest::summonitem(66176);
quest::summonitem(10908);
}
if ( $class == "Paladin" ) {
quest::summonitem(10099);
}
if ( $class == "Shadow Knight" ) {
quest::summonitem(14383);
}
if ( $class == "Monk" ) {
quest::summonitem(10652);
}
if ( $class == "Beastlord" ) {
quest::summonitem(29442);
}
if ( $class == "Rogue" ) {
quest::summonitem(11057);
}
if ( $class == "Bard" ) {
quest::summonitem(20542);
}
if ( $class == "Ranger" ) {
quest::summonitem(20487);
quest::summonitem(20488);
}
if ( $class == "Druid" ) {
quest::summonitem(20490);
}
if ( $class == "Shaman" ) {
quest::summonitem(10651);
}
if ( $class == "Necromancer" ) {
quest::summonitem(20544);
}
if ( $class == "Wizard" ) {
quest::summonitem(14341);
}
if ( $class == "Magician" ) {
quest::summonitem(28034);
}
if ( $class == "Enchanter" ) {
quest::summonitem(10650);
}
$client->Message(6, "Luana raises her hands and says a prayer quietly. You feel your whole body begin to tingle as she brings her hands down to your shoulders." );
quest::level(51);
quest::ding();
quest::shout2("Today $name has proved his worth to the gods of this world. He has now joined our ranks as a god himself and is a force to be reckoned with!");
}
else {
plugin::return_items(\%itemcount);
quest::say("I can't use this");
}
}
|
 |
|
 |
 |
|
 |

10-13-2008, 01:17 AM
|
Discordant
|
|
Join Date: Jan 2005
Posts: 320
|
|
OK realized how noob some of the mistakes in that quest were. This is what I'm tinkering with now. For some reason it hands me the cleric epic no matter what class I am. ( Which is the first epic on the list.
Code:
sub EVENT_SAY {
if($text=~/Hail/i) {
quest::say("Hail, $class. I am Luana, The God of Life. I am in this world to see to it that those that have proven themselves worthy will be rewarded. If you have proof that Hanvar is dead, hand it to me."); }
}
sub EVENT_ITEM {
if ((plugin::check_handin(\%itemcount, 29294 => 1))&&( $class == "Cleric" )) {
quest::summonitem(5532);
}
elsif ( $class == "Warrior" ) {
quest::summonitem(66177);
quest::summonitem(66176);
quest::summonitem(10908);
}
elsif ( $class == "Paladin" ) {
quest::summonitem(10099);
}
elsif ( $class == "Shadow Knight" ) {
quest::summonitem(14383);
}
elsif ( $class == "Monk" ) {
quest::summonitem(10652);
}
elsif ( $class == "Beastlord" ) {
quest::summonitem(29442);
}
elsif ( $class == "Rogue" ) {
quest::summonitem(11057);
}
elsif ( $class == "Bard" ) {
quest::summonitem(20542);
}
elsif ( $class == "Ranger" ) {
quest::summonitem(20487);
quest::summonitem(20488);
}
elsif ( $class == "Druid" ) {
quest::summonitem(20490);
}
elsif ( $class == "Shaman" ) {
quest::summonitem(10651);
}
elsif ( $class == "Necromancer" ) {
quest::summonitem(20544);
}
elsif ( $class == "Wizard" ) {
quest::summonitem(14341);
}
elsif ( $class == "Magician" ) {
quest::summonitem(28034);
}
elsif ( $class == "Enchanter" ) {
quest::summonitem(10650);
}
$client->Message(6, "Luana raises her hands and says a prayer quietly. You feel your whole body begin to tingle as she brings her hands down to your shoulders." );
quest::level(51);
quest::ding();
quest::shout2("Today $name has proved his worth to the gods of this world. He has now joined our ranks as a god himself and is a force to be reckoned with!");
}
else {
plugin::return_items(\%itemcount);
quest::say("I can't use this");
}
}
|
 |
|
 |

10-13-2008, 01:24 AM
|
 |
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
You need to define class first:
Code:
if ($class eq 'Warrior' || $class eq 'Rogue' || $class eq 'Monk' || $class eq 'Berserker' || $class eq 'Shadowkight' || $class eq 'Paladin' || $class eq 'Ranger' || $class eq 'Bard' || $class eq 'Beastlord' || $class eq 'Cleric' || $class eq 'Druid' || $class eq 'Shaman' || $class eq 'Wizard' || $class eq 'Mage' || $class eq 'Enchanter' || $class eq 'Necromancer') {
You can use my quest here as an example:
http://www.eqemulator.net/forums/showthread.php?t=24321
|

10-13-2008, 01:27 AM
|
Discordant
|
|
Join Date: Jan 2005
Posts: 320
|
|
Thank you Trev, I really do appreciate all the help you have given me on quests. I swear I'm slowly learning 
|
 |
|
 |

10-13-2008, 01:45 AM
|
Discordant
|
|
Join Date: Jan 2005
Posts: 320
|
|
Added the line in and it still just hands me the cleric epic /sigh
Code:
sub EVENT_SAY {
if($text=~/Hail/i) {
quest::say("Hail, $class. I am Luana, The God of Life. I am in this world to see to it that those that have proven themselves worthy will be rewarded. If you have proof that Hanvar is dead, hand it to me."); }
}
sub EVENT_ITEM {
if ($class == 'Warrior' || $class == 'Rogue' || $class == 'Monk' || $class == 'Berserker' || $class == 'Shadowkight' || $class == 'Paladin' || $class == 'Ranger' || $class == 'Bard' || $class == 'Beastlord' || $class == 'Cleric' || $class == 'Druid' || $class == 'Shaman' || $class == 'Wizard' || $class == 'Mage' || $class == 'Enchanter' || $class == 'Necromancer') {
if ((plugin::check_handin(\%itemcount, 29294 => 1))&&( $class == "Cleric" )) {
quest::summonitem(5532);
}
elsif ( $class == "Warrior" ) {
quest::summonitem(66177);
quest::summonitem(66176);
quest::summonitem(10908);
}
elsif ( $class == "Paladin" ) {
quest::summonitem(10099);
}
elsif ( $class == "Shadow Knight" ) {
quest::summonitem(14383);
}
elsif ( $class == "Monk" ) {
quest::summonitem(10652);
}
elsif ( $class == "Beastlord" ) {
quest::summonitem(29442);
}
elsif ( $class == "Rogue" ) {
quest::summonitem(11057);
}
elsif ( $class == "Bard" ) {
quest::summonitem(20542);
}
elsif ( $class == "Ranger" ) {
quest::summonitem(20487);
quest::summonitem(20488);
}
elsif ( $class == "Druid" ) {
quest::summonitem(20490);
}
elsif ( $class == "Shaman" ) {
quest::summonitem(10651);
}
elsif ( $class == "Necromancer" ) {
quest::summonitem(20544);
}
elsif ( $class == "Wizard" ) {
quest::summonitem(14341);
}
elsif ( $class == "Magician" ) {
quest::summonitem(28034);
}
elsif ( $class == "Enchanter" ) {
quest::summonitem(10650);
}
$client->Message(6, "Luana raises her hands and says a prayer quietly. You feel your whole body begin to tingle as she brings her hands down to your shoulders." );
quest::level(51);
quest::ding();
quest::shout2("Today $name has proved his worth to the gods of this world. He has now joined our ranks as a god himself and is a force to be reckoned with!");
}
else {
plugin::return_items(\%itemcount);
quest::say("I can't use this");
}
}
|
 |
|
 |
 |
|
 |

10-13-2008, 02:09 AM
|
Discordant
|
|
Join Date: Jan 2005
Posts: 320
|
|
Giving up for tonight before I throw my computer out the window. Still gives me a cleric epic :(
Code:
sub EVENT_SAY {
if($text=~/Hail/i) {
quest::say("Hail, $class. I am Luana, The God of Life. I am in this world to see to it that those that have proven themselves worthy will be rewarded. If you have proof that Hanvar is dead, hand it to me."); }
}
sub EVENT_ITEM {
if ($class == 'Warrior' || $class == 'Rogue' || $class == 'Monk' || $class == 'Berserker' || $class == 'Shadowkight' || $class == 'Paladin' || $class == 'Ranger' || $class == 'Bard' || $class == 'Beastlord' || $class == 'Cleric' || $class == 'Druid' || $class == 'Shaman' || $class == 'Wizard' || $class == 'Mage' || $class == 'Enchanter' || $class == 'Necromancer') {
if ((plugin::check_handin(\%itemcount, 29294 => 1))&&(defined{$class})) {
if( $class == "Cleric" ) {
quest::summonitem(5532);
}
elsif ( $class == "Warrior" ) {
quest::summonitem(66177);
quest::summonitem(66176);
quest::summonitem(10908);
}
elsif ( $class == "Paladin" ) {
quest::summonitem(10099);
}
elsif ( $class == "Shadow Knight" ) {
quest::summonitem(14383);
}
elsif ( $class == "Monk" ) {
quest::summonitem(10652);
}
elsif ( $class == "Beastlord") {
quest::summonitem(29442);
}
elsif ( $class == "Rogue" ) {
quest::summonitem(11057);
}
elsif ( $class == "Bard" ) {
quest::summonitem(20542);
}
elsif ( $class == "Ranger" ) {
quest::summonitem(20487);
quest::summonitem(20488);
}
elsif ( $class == "Druid" ) {
quest::summonitem(20490);
}
elsif ( $class == "Shaman" ) {
quest::summonitem(10651);
}
elsif ( $class == "Necromancer" ) {
quest::summonitem(20544);
}
elsif ( $class == "Wizard" ) {
quest::summonitem(14341);
}
elsif ( $class == "Magician" ) {
quest::summonitem(28034);
}
elsif ( $class == "Enchanter" ) {
quest::summonitem(10650);
}
$client->Message(6, "Luana raises her hands and says a prayer quietly. You feel your whole body begin to tingle as she brings her hands down to your shoulders." );
quest::level(51);
quest::ding();
quest::shout2("Today $name has proved his worth to the gods of this world. He has now joined our ranks as a god himself and is a force to be reckoned with!");
}
else {
plugin::return_items(\%itemcount);
quest::say("I can't use this");
}
}
}
|
 |
|
 |
 |
|
 |

10-13-2008, 02:19 AM
|
 |
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
You were closer with your first format. I haven't tested this for you, but something like this should work:
Code:
sub EVENT_SAY {
if($text=~/Hail/i) {
quest::say("Hail, $class. I am Luana, The God of Life. I am in this world to see to it that those that have proven themselves worthy will be rewarded. If you have proof that Hanvar is dead, hand it to me."); }
}
sub EVENT_ITEM {
if ($class eq 'Warrior' || $class eq 'Rogue' || $class eq 'Monk' || $class eq 'Berserker' || $class eq 'Shadowknight' || $class eq 'Paladin' || $class eq 'Ranger' || $class eq 'Bard' || $class eq 'Beastlord' || $class eq 'Cleric' || $class eq 'Druid' || $class eq 'Shaman' || $class eq 'Wizard' || $class eq 'Magician' || $class eq 'Enchanter' || $class eq 'Necromancer') {
if (plugin::check_handin(\%itemcount, 29294 => 1)) {
my %rewards = (
"Warrior" => 66177, 66176, 10908, "Paladin" => 10099, "Shadowknight" => 14383,
"Monk" => 10652, "Beastlord" => 6611, "Rogue" => 11057,
"Cleric" => 5532, "Bard" => 20542, "Ranger" => 20487, 20488,
"Druid" => 20490, "Shaman" => 10651, "Necromancer" => 20544,
"Wizard" => 14341, "Magician" => 28034, "Enchanter" => 10650
);
if(defined($rewards{$class})) {
quest::summonitem($rewards{$class});
$client->Message(6, "Luana raises her hands and says a prayer quietly. You feel your whole body begin to tingle as she brings her hands down to your shoulders." );
quest::level(51);
quest::ding();
quest::shout2("Today $name has proved his worth to the gods of this world. He has now joined our ranks as a god himself and is a force to be reckoned with!");
}
}
else {
plugin::return_items(\%itemcount);
quest::say("I can't use this.");
}
}
}
|
 |
|
 |
Thread Tools |
|
Display Modes |
Hybrid Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 06:20 AM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |