| 
   | 
   | 
  
 
    | 
    | 
    | 
  
 
    | 
   | 
    | 
  
 
    | 
   | 
    | 
  
 
    | 
   | 
    | 
  
 
   | 
  
	
		
   
   
      | Quests::Q&A This is the quest support section | 
    
    
   
   
   
   
   
   
   
   
		 
	 
 
	
	
		
	
	
 
    | 
   | 
    | 
  
 
	
		
		
		
			
			 
			
				03-06-2010, 05:50 AM
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Dragon 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Dec 2008 
					Location: Tennessee 
					
					
						Posts: 668
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
				 
				Timer based aggro
			 
			 
			
		
		
		
		I have been looking at this script for two hours and I can not figure out why it will not work. Could someone please help me? 
The script gets to 	quest::emote("lets loose a blood curdling howl(calling for help)"); and starts looping that emote but I have no idea why it is doing that.
 
	Code: 
	sub EVENT_AGGRO {
	quest::emote("starts chasing after you");
	quest::settimer("countdown",8);
}
sub EVENT_TIMER {
	quest::emote("lets loose a blood curdling howl(calling for help)");
  my $ravenous1_mob = $entity_list->GetMobByNpcTypeID(700664);
  my $ravenous2_mob = $entity_list->GetMobByNpcTypeID(700665);
  my $ravenous3_mob = $entity_list->GetMobByNpcTypeID(700666);
  my $ravenous4_mob = $entity_list->GetMobByNpcTypeID(700667);
  my $ravenous5_mob = $entity_list->GetMobByNpcTypeID(700668);
  my $ravenous6_mob = $entity_list->GetMobByNpcTypeID(700669);
  my $ravenous7_mob = $entity_list->GetMobByNpcTypeID(700670);
  my $ravenous8_mob = $entity_list->GetMobByNpcTypeID(700671);
  my $ravenous9_mob = $entity_list->GetMobByNpcTypeID(700672);
  my $ravenous10_mob = $entity_list->GetMobByNpcTypeID(700673);
  my $ravenous11_mob = $entity_list->GetMobByNpcTypeID(700674);
  my $ravenous12_mob = $entity_list->GetMobByNpcTypeID(700675);
  my $ravenous13_mob = $entity_list->GetMobByNpcTypeID(700676);
  my $ravenous14_mob = $entity_list->GetMobByNpcTypeID(700677);
  my $ravenous15_mob = $entity_list->GetMobByNpcTypeID(700678);
  my $ravenous16_mob = $entity_list->GetMobByNpcTypeID(700679);
  my $ravenous17_mob = $entity_list->GetMobByNpcTypeID(700680);
  my $ravenous18_mob = $entity_list->GetMobByNpcTypeID(700681);
  my $ravenous19_mob = $entity_list->GetMobByNpcTypeID(700682);
  my $ravenous20_mob = $entity_list->GetMobByNpcTypeID(700683);
  if ($ravenous1_mob) {
    my $ravenous1_mobnpc = $ravenous1_mob->CastToNPC();
    $ravenous1_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous2_mob) {
    my $ravenous2_mobnpc = $ravenous2_mob->CastToNPC();
    $ravenous2_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous3_mob) {
    my $ravenous3_mobnpc = $ravenous3_mob->CastToNPC();
    $ravenous3_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous4_mob) {
    my $ravenous4_mobnpc = $ravenous4_mob->CastToNPC();
    $ravenous4_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous5_mob) {
    my $ravenous5_mobnpc = $ravenous5_mob->CastToNPC();
    $ravenous5_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous6_mob) {
    my $ravenous6_mobnpc = $ravenous6_mob->CastToNPC();
    $ravenous6_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous7_mob) {
    my $ravenous7_mobnpc = $ravenous7_mob->CastToNPC();
    $ravenous7_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous8_mob) {
    my $ravenous8_mobnpc = $ravenous8_mob->CastToNPC();
    $ravenous8_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous9_mob) {
    my $ravenous9_mobnpc = $ravenous9_mob->CastToNPC();
    $ravenous9_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous10_mob) {
    my $ravenous10_mobnpc = $ravenous10_mob->CastToNPC();
    $ravenous10_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous11_mob) {
    my $ravenous11_mobnpc = $ravenous11_mob->CastToNPC();
    $ravenous11_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous12_mob) {
    my $ravenous12_mobnpc = $ravenous12_mob->CastToNPC();
    $ravenous12_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous13_mob) {
    my $ravenous13_mobnpc = $ravenous13_mob->CastToNPC();
    $ravenous13_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous14_mob) {
    my $ravenous14_mobnpc = $ravenous14_mob->CastToNPC();
    $ravenous14_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous15_mob) {
    my $ravenous15_mobnpc = $ravenous15_mob->CastToNPC();
    $ravenous15_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous16_mob) {
    my $ravenous16_mobnpc = $ravenous16_mob->CastToNPC();
    $ravenous16_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous17_mob) {
    my $ravenous17_mobnpc = $ravenous17_mob->CastToNPC();
    $ravenous17_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous18_mob) {
    my $ravenous18_mobnpc = $ravenous18_mob->CastToNPC();
    $ravenous18_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous19_mob) {
    my $ravenous19_mobnpc = $ravenous19_mob->CastToNPC();
    $ravenous19_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous20_mob) {
    my $ravenous20_mobnpc = $ravenous20_mob->CastToNPC();
    $ravenous20_mobnpc->AddToHateList($client, 1);
  }
	quest::stoptimer("countdown");
}
  
		
	
		
		
		
		
		
		
		
		
		
	
		
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
 
    | 
   | 
    | 
  
 
	 
	
		 
	 
 
	
	
		
	
	
 
    | 
   | 
    | 
  
 
	
		
		
		
			
			 
			
				03-06-2010, 06:59 AM
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Developer 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Feb 2004 
					Location: UK 
					
					
						Posts: 1,540
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
				 
				
			 
			 
			
		
		
		
		$client isn't exported to EVENT_TIMER. 
I'm not the quest expert, but this works for me. What you can do is make a note of the name of the player who aggroed the mob in EVENT_AGGRO, then in EVENT_TIMER, lookup the Client object using the name you stored, i.e. this works:
 
	Code: 
	sub EVENT_AGGRO {
        quest::emote("starts chasing after you");
        quest::settimer("countdown",8);
        $AggroOn = $name;
}
sub EVENT_TIMER {
  quest::stoptimer("countdown");
  quest::emote("lets loose a blood curdling howl(calling for help)");
  # Check if the person who aggroed us is still here
  #
  $client = $entity_list->GetClientByName($AggroOn);
  if(!$client)
  {
        return;
  }
  my $ravenous1_mob = $entity_list->GetMobByNpcTypeID(700664);
  my $ravenous2_mob = $entity_list->GetMobByNpcTypeID(700665);
  my $ravenous3_mob = $entity_list->GetMobByNpcTypeID(700666);
  my $ravenous4_mob = $entity_list->GetMobByNpcTypeID(700667);
  my $ravenous5_mob = $entity_list->GetMobByNpcTypeID(700668);
  my $ravenous6_mob = $entity_list->GetMobByNpcTypeID(700669);
  my $ravenous7_mob = $entity_list->GetMobByNpcTypeID(700670);
  my $ravenous8_mob = $entity_list->GetMobByNpcTypeID(700671);
  my $ravenous9_mob = $entity_list->GetMobByNpcTypeID(700672);
  my $ravenous10_mob = $entity_list->GetMobByNpcTypeID(700673);
  my $ravenous11_mob = $entity_list->GetMobByNpcTypeID(700674);
  my $ravenous12_mob = $entity_list->GetMobByNpcTypeID(700675);
  my $ravenous13_mob = $entity_list->GetMobByNpcTypeID(700676);
  my $ravenous14_mob = $entity_list->GetMobByNpcTypeID(700677);
  my $ravenous15_mob = $entity_list->GetMobByNpcTypeID(700678);
  my $ravenous16_mob = $entity_list->GetMobByNpcTypeID(700679);
  my $ravenous17_mob = $entity_list->GetMobByNpcTypeID(700680);
  my $ravenous18_mob = $entity_list->GetMobByNpcTypeID(700681);
  my $ravenous19_mob = $entity_list->GetMobByNpcTypeID(700682);
  my $ravenous20_mob = $entity_list->GetMobByNpcTypeID(700683);
  if ($ravenous1_mob) {
    my $ravenous1_mobnpc = $ravenous1_mob->CastToNPC();
    $ravenous1_mob->AddToHateList($client, 1);
  }
  if ($ravenous2_mob) {
    my $ravenous2_mobnpc = $ravenous2_mob->CastToNPC();
    $ravenous2_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous3_mob) {
    my $ravenous3_mobnpc = $ravenous3_mob->CastToNPC();
    $ravenous3_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous4_mob) {
    my $ravenous4_mobnpc = $ravenous4_mob->CastToNPC();
    $ravenous4_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous5_mob) {
    my $ravenous5_mobnpc = $ravenous5_mob->CastToNPC();
    $ravenous5_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous6_mob) {
    my $ravenous6_mobnpc = $ravenous6_mob->CastToNPC();
    $ravenous6_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous7_mob) {
    my $ravenous7_mobnpc = $ravenous7_mob->CastToNPC();
    $ravenous7_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous8_mob) {
    my $ravenous8_mobnpc = $ravenous8_mob->CastToNPC();
    $ravenous8_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous9_mob) {
    my $ravenous9_mobnpc = $ravenous9_mob->CastToNPC();
    $ravenous9_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous10_mob) {
    my $ravenous10_mobnpc = $ravenous10_mob->CastToNPC();
    $ravenous10_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous11_mob) {
    my $ravenous11_mobnpc = $ravenous11_mob->CastToNPC();
    $ravenous11_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous12_mob) {
    my $ravenous12_mobnpc = $ravenous12_mob->CastToNPC();
    $ravenous12_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous13_mob) {
    my $ravenous13_mobnpc = $ravenous13_mob->CastToNPC();
    $ravenous13_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous14_mob) {
    my $ravenous14_mobnpc = $ravenous14_mob->CastToNPC();
    $ravenous14_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous15_mob) {
    my $ravenous15_mobnpc = $ravenous15_mob->CastToNPC();
    $ravenous15_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous16_mob) {
    my $ravenous16_mobnpc = $ravenous16_mob->CastToNPC();
    $ravenous16_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous17_mob) {
    my $ravenous17_mobnpc = $ravenous17_mob->CastToNPC();
    $ravenous17_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous18_mob) {
    my $ravenous18_mobnpc = $ravenous18_mob->CastToNPC();
    $ravenous18_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous19_mob) {
    my $ravenous19_mobnpc = $ravenous19_mob->CastToNPC();
    $ravenous19_mobnpc->AddToHateList($client, 1);
  }
  if ($ravenous20_mob) {
    my $ravenous20_mobnpc = $ravenous20_mob->CastToNPC();
    $ravenous20_mobnpc->AddToHateList($client, 1);
  }
}
 I'm sure one of the resident quest experts will chime in if there is a better way  to do it.  
		
	
		
		
		
		
		
		
		
		
		
	
		
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
 
    | 
   | 
    | 
  
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				03-06-2010, 09:37 AM
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Hill Giant 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Feb 2008 
					
					
					
						Posts: 116
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		Only way I can see for anything improvement wise is make a foreach loop to shrink that down to much less lines of code.  Other than that looks fine. 
		
	
		
		
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				03-06-2010, 04:34 PM
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Dragon 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Dec 2008 
					Location: Tennessee 
					
					
						Posts: 668
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		Derision, that worked perfectly. Thanks! 
		
	
		
		
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
	
	
		
	
	
	
		
		
		
			
			 
			
				03-07-2010, 05:57 AM
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Developer 
				
				
				
			 | 
			  | 
			
				
				
					Join Date: Aug 2006 
					Location: USA 
					
					
						Posts: 5,946
					 
					
					
					
					     
				 
				
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
			
			
			 
			
		
		
		
		Although, it isn't really required if you are only using 1 timer for a script like this, it is normally common to put all of that stuff inside an IF statement to check that the timer matches the timer name you set.  So, you would do something like this: 
	Code: 
	sub EVENT_TIMER {
	if($timer eq "countdown") {
		#Put your timer stuff inside here...
	}
}
 That way, you can have multiple timers with different names within the same script.  Otherwise, if you try to use other timers, it will be running everything from your other timers every time as well.  For the script you have now, you don't really need it, but it is good practice to use it.  
		
	
		
		
		
		
		
		
			
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
	
		 
	 
 
 
	
		
	
	
	
	
	
		
	
		 
		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 10:43 AM. 
 
		 
	 
 
 
     | 
     | 
    
   
      | 
     | 
      | 
    
   
     | 
      | 
     | 
    
   
       | 
      | 
       | 
     
    
    
  | 
   |