EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Q&A (https://www.eqemulator.org/forums/forumdisplay.php?f=599)
-   -   PC input into quest (https://www.eqemulator.org/forums/showthread.php?t=21389)

jeffpuff 08-28-2006 01:58 PM

PC input into quest
 
Is there a way I can use and item number spoken by a pc as the input for quest::summonitem() example:

Code:

sub EVENT_ITEM
{
  if ((itemcount, 99999 = 1))
    {
      quest:say("Very well, tell me the item you desire")
    }
      quest::summonitem(this is where I want the PC input));
    }
}

Jeff

John Adams 08-29-2006 11:36 AM

Hmm. Interesting concept. You could try quest::summonitem($text); carefully nested inside an if(condition) since I believe "$text" holds the value of what you /say to the targetted NPC... Try it, let us know.

ylosh 08-29-2006 01:11 PM

Code:

  sub EVENT_SAY {
    if($text=~/.*/i) {
          quest::summonitem($text);
    }
  }


jeffpuff 08-29-2006 01:19 PM

Thank you
 
Awesome, thanks guys... will try it out after I get home from work.


Next question is can I lock this inside an item turn in? I only want the PC to be able to trigger this after they turn in an item.

Code:

sub EVENT_ITEM
{
  if ((itemcount, 99999 = 1))
    {
      quest:say("Very well, tell me the item you desire")
sub EVENT_SAY {
    if($text=~/.*/i) {
          quest::summonitem($text);
    }
}

Would this lock away the EVEN_SAY behind the EVENT_ITEM, or is this wrong all together on having both sub events in there?

ylosh 08-29-2006 07:50 PM

no, you can only have one event_say in the file.

you can set a temporary variable to have the npc summon the item when whatever key item is handed in..

Code:

sub EVENT_SPAWN {
  $variable = 0;
}

sub EVENT_SAY {
  if ($variable == 1) {
        if ($text=~/.*/i) {
          quest::summonitem($text);
          $variable = 0;
        }
  }
  elsif ($text=~/hail/i) { #all other dialogue
        quest::say("hello");
  }
  elsif ($text=~/something else/i) {
        quest::say("more dialogue");
  }
}

sub EVENT_ITEM {
  if (plugin::check_handin(\%itemcount, 1001 => 1)) {
        quest::say("blah blah give me an item id number");
        $variable = 1;
  }
  plugin::return_items(\%itemcount);
}


John Adams 08-30-2006 01:53 AM

Quote:

Originally Posted by ylosh
Code:

sub EVENT_SAY {
    if($text=~/.*/i) {
          quest::summonitem($text);
    }
  }


Holy crap. You mean I was right? Damn, I must have accidentally learned something. :)

Thx Ylosh!

fathernitwit 08-30-2006 03:37 PM

Code:

  sub EVENT_SAY {
    if($text=~/[0-9]+/i) {
          quest::summonitem($text);
    }
  }

would be more accurate, as quest::summonitem("joe") or quest::summonitem("Hail, Slut"), etx arnt all that meaningful

ylosh 08-30-2006 05:41 PM

heh, thanks fnw..


All times are GMT -4. The time now is 02:47 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.