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

Quests::Custom Custom Quests here

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #7  
Old 02-11-2017, 04:04 PM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,604
Default

Untested, but should do what you want it to:
Code:
sub EVENT_SAY {
    my %trade = (0 => ["Undead Potions", "undead", 14180],
    1 => ["Dulsehound Potions", "dulsehound", 14188],
    2 => ["Grave Dust Potions", "grave dust", 14194],
    3 => ["Frosty Marble", "frosty", 132541],
    4 => ["Firey Marble", "firey", 132542],
    5 => ["Norrath Soldier", "norrath", 132543],
    6 => ["Soldier of Norrath Dust", "soldier dust", 132544]);
    if ($text =~/Hail/i) {
        plugin::Whisper("How are ya friend? I can tell by yer backbone several have been fell at yer feet. Well what I be missing in size I make up for wit dese here swords. Ya see me is looking for " . quest::saylink("Planar Essence", 1) . " to combine wit mah swords to become the most famous dwarf in all Kaladim.");
    } elsif($text=~/Planar Essence/i && plugin::check_hasitem($client, 132540)) {
        plugin::Whisper("It appears you have ventured into the terrible planes and killed a few of those creatures. Would you be willing to " . quest::saylink("bargain", 1) . " for a few items I have collected from all over the place?");
    } elsif($text=~/Bargain/i && plugin::check_hasitem($client, 132540)) {
        plugin::Whisper("Wonderful. Here is a list of items that I have and would be willing to trade.");
        foreach my $item (keys %trade) {
            plugin::Whisper(quest::saylink("link $trade{$item}[1]", 1, $trade{$item}[0]));
        }
    } elsif ($text=~/^Link/i) {
        if (length(substr($text, 5)) > 0) {
            foreach my $key (sort {$trade{$a}[0] cmp $trade{$b}[0]} keys %trade) {
                if (substr($text, 5) eq $trade{$key}[1]) {
                    if (plugin::check_hasitem($client, $trade{$key}[2])) {
                        plugin::Whisper("Sorry, but it appears you already possess a " . quest::varlink($trade{$key}[2]) . ", $name.");
                    } else {
                        plugin::Whisper("So you would like to " . quest::saylink("trade $trade{$key}[1]", 1, "trade") . " your " . quest::varlink(132540) . " for my " . quest::varlink($trade{$key}[2]) . "?");
                    }
                }
            }
        }
    } elsif ($text =~/^Trade/i && plugin::check_hasitem($client, 132540)) {
        if (length(substr($text, 6)) > 0) {
            foreach my $key (keys %trade) {
                if (substr($text, 6) eq $trade{$key}[1]) {
                    if (!plugin::check_hasitem($client, $trade{$key}[2])) {
                        $client->NukeItem(132540);
                        quest::summonitem($trade{$key}[2]);
                        plugin::Whisper("Enjoy your " . quest::varlink($trade{$key}[2]) . ", $name!");
                    }
                }
            }
        }
    }
}

Last edited by Kingly_Krab; 02-11-2017 at 09:17 PM.. Reason: Adding sorting by name alphabetically.
Reply With Quote
 


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 10:56 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