View Single Post
  #4  
Old 03-24-2008, 04:42 PM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

Quote:
Originally Posted by trevius View Post
This one is actually fairly simple, but took a while for me to figure out how to make it work perfectly. The hardest part was getting the event timer to work without getting reset each time one of the 12 died (since they all use the same quest file). I kept trying to think of another way to do it but finally went with having the first councilman that is attacked send a signal to the untargetable boss and that boss will send a signal to The Rathe (invisible event timer), and then The Rathe starts the timer and depops the untargetable boss. This keeps the other 11 councilman from sending the signal to start the timer over again and again (since the pass through NPC is depopped).
Kinda thinking out loud here, but couldn't you define a variable for The_Rathe (ID 2700426), maybe call it started, set it to 1 once the first Councilman (ID 222008 ) has been killed, and then set it back to undefined once the quest has either been completed or failed? Overall, it should make it a little simpler & cleaner. It should look something like this:

The_Rathe (ID 2700426):
Code:
#############
#Quest Name: Rathe Council Event (The_Rathe Portion)
#Author: Trevius of Storm Haven
#NPC's Involved: The Rathe, A Rathe Councilman, Leader of the Rathe Council, and Untargetable Leader of the Rathe Council
#Items Involved: N/A
#############
###NPC 1
#Name: The_Rathe (Custom Made NPC ID 2700426)
#Race 240 (TeleportMan), Texture 0, Size 5, gender 2, body type 11
#Location: 0, 0, -999 of the Plane of Earth B
#level: 80
#Type: Timer and Signal NPC to start and end the event
#Loot: N/A
#############

sub EVENT_SPAWN {
    quest::spawn2(222008,0,0,1985,408,-207,64);
    quest::spawn2(222008,0,0,2051,340,-207,255);
    quest::spawn2(222008,0,0,2018,352,-207,31);
    quest::spawn2(222008,0,0,1996,377,-207,46);
    quest::spawn2(222008,0,0,1996,437,-207,91);
    quest::spawn2(222008,0,0,2019,464,-207,113);
    quest::spawn2(222008,0,0,2051,475,-207,134);
    quest::spawn2(222008,0,0,2083,463,-207,150);
    quest::spawn2(222008,0,0,2106,439,-207,173);
    quest::spawn2(222008,0,0,2119,408,-207,199);
    quest::spawn2(222008,0,0,2107,376,-207,217);
    quest::spawn2(222008,0,0,2084,353,-207,242);
}

sub EVENT_SIGNAL {

  if ($signal == 2 && $started != 1) {
    $started = 1; // The event has officially started, so don't keep doing this part
    quest::settimer("event_start",310);
    quest::shout("The Test of Rathe has begun.  You have 5 minutes to complete this portion of the event.");
  }

  if ($signal == 3) {
    quest::settimer("rathe_spawn",10);
    quest::signalwith(222008,4,0);
  }

  if ($signal == 5) {quest::stoptimer("rathe_spawn");}

}

sub EVENT_TIMER {

  if ($timer eq "event_start") {
    $started = undef;
    quest::signalwith(222008,6,0);
    quest::stoptimer("rathe_spawn");
    quest::shout("You have failed the test!");
    quest::stoptimer("event_start");
  }

  if ($timer eq "rathe_spawn") {
    $started = undef;
    quest::stoptimer("event_start");
    quest::stoptimer("rathe_spawn");
    quest::spawn2(2700424,0,0,2053,414,-221,15); }
  }
A_Rathe_Councilman (ID 222008 ):
Code:
#############
#Quest Name: Rathe Council Event (A_Rathe_Councilman Portion)
#Author: Trevius of Storm Haven
#NPC's Involved: The Rathe, A Rathe Councilman, Leader of the Rathe Council, and Untargetable Leader of the Rathe Council
#Items Involved: N/A
#############
###NPC 1
#Name: A_Rathe_Councilman (PEQ NPC ID 222008)
#Race 298 (TheRathe), Texture 0, Size 15, gender 2, body type 1
#Location: Multiple spawned by quest when the Untargetable Leader of the Rathe Council spawns.
#level: 55
#Type: Quest spawned NPCs that must all be killed within the 5 minute timer or event fails
#Loot: N/A
#############

sub EVENT_ATTACK {
    quest::signalwith(2700426,2,0);
}

sub EVENT_DEATH {
    quest::signalwith(2700426,3,0);
}

sub EVENT_SIGNAL {
  if ($signal == 4) {quest::signalwith(2700426,5,0);}
  if ($signal == 6) {quest::depop();}
}
Anyways, just a thought.
__________________
GM-Impossible of 'A work in progress'
A non-legit PEQ DB server
How to create your own non-legit server

My Contributions to the Wiki
Reply With Quote