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

Quests::Custom Custom Quests here

Reply
 
Thread Tools Display Modes
  #1  
Old 02-11-2009, 04:04 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Glad you like it. Here is an updated version that I use now that has some improvements:

Code:
#Illusionist Quest

my $cast;

sub EVENT_SPAWN {

  my $x = $npc->GetX();
  my $y = $npc->GetY();

  quest::set_proximity($x - 10, $x + 10, $y - 10, $y + 10);
  quest::settimer("stopcast",1200);
  $cast=1;

}

sub EVENT_SAY {

  if ($text =~/hail/i) {
    quest::say ("Would you like me to [return] you to your natural form?  Or would you like me to [stop] changing your illusion when you enter the Nexus?"); }

  if ($text =~/return/i) {
    quest::say ("There, you are now back to your natural appearance.");
    quest::playerrace(0); } 

  if ($text =~/stop/i) {
    quest::say ("Ok, I won't change it from now on.  Unless you change your mind and wish for me to [start] changing it again next time.");
    quest::setglobal("illusion", 1, 1, "F"); } 

  if ($text =~/start/i) {
    quest::say ("Sure, I will be happy to start changing your illusion again next time!");
    quest::setglobal("illusion", 1, 1, "M10"); } 

}

sub EVENT_ENTER {

  if (!defined($qglobals{nexusmove})) {
    quest::movepc(152, quest::ChooseRandom(-30,-25,-20,-15,-10,-5,0,5,10,15,20,25,30,35),quest::ChooseRandom(-30,-25,-20,-15,-10,-5,0,5,10,15,20,25,30,35),-30);
    quest::setglobal("nexusmove", 1, 1, "M10"); }

  if ($cast==1) {
    if ($ulevel >= 5) {
      if (!defined($qglobals{illusion})) {
        quest::playerrace(quest::ChooseRandom(14,27,42,43,46,58,60,62,63,66,75,82,85,89,95,108,120,123,150,151,153,161,209,210,211,212,356,367,433,436,454,455,456,458,464,469,470,472,473));
        quest::playertexture(quest::ChooseRandom(1,2,3,4,5));
        quest::movepc(152, quest::ChooseRandom(-30,-25,-20,-15,-10,-5,0,5,10,15,20,25,30,35),quest::ChooseRandom(-30,-25,-20,-15,-10,-5,0,5,10,15,20,25,30,35),-30);
        quest::setglobal("illusion", 1, 1, "M10"); 
      }    
    }
  }
      
}

sub EVENT_TIMER {

  if ($timer eq "stopcast") {
    $cast=0;
    quest::stoptimer("stopcast");
    quest::say ("I must concentrate for a while before I can cast more illusions.");
    $npc->SetAppearance(1);
    quest::settimer("startcast",14400);
 }

  if ($timer eq "startcast") {
    $cast=1;
    quest::stoptimer("startcast");
    quest::say ("I have gathered enough energy to begin casting illusions once again!");
    $npc->SetAppearance(0);
    quest::settimer("stopcast",1800);
 }

}
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #2  
Old 02-15-2009, 05:39 AM
seridium
Sarnak
 
Join Date: Jan 2009
Location: canada
Posts: 68
Default

Why thank you I think I will give her a go.
Reply With Quote
  #3  
Old 05-21-2009, 06:29 PM
Lillu
Hill Giant
 
Join Date: Sep 2008
Posts: 204
Thumbs up

Trev, you simply rock! Thanks for sharing once again.
Reply With Quote
Reply

Thread Tools
Display Modes

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:34 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