Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Q&A

Quests::Q&A This is the quest support section

Reply
 
Thread Tools Display Modes
  #1  
Old 06-29-2008, 10:20 PM
spider661
Discordant
 
Join Date: Oct 2005
Location: michigain
Posts: 260
Default damage player doable?

is it possible to damage the first player that hits a npc but only the first player.

like if you hit this npc it does 1000 damage to the first player that hits it

also it it possible to kill the first player also?
Reply With Quote
  #2  
Old 06-30-2008, 12:06 AM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

i would set a variable X

as soon as combat starts (mob agroes) it will check if X=0.
If it is so, it will deal 1k dmg, and set X to 1
after that any time mosb checks for X it will no longer be 0 so the triger will never fire off


in order to kill a player- you can simply hit him with like 50k dmg

one thing i don't remeber however the quest command to cause dmg to a player =)
Reply With Quote
  #3  
Old 06-30-2008, 12:41 AM
spider661
Discordant
 
Join Date: Oct 2005
Location: michigain
Posts: 260
Default

ya i checked the quest lexicon and did not see a command to do damage thats y i was asking.. anyone know the command?
Reply With Quote
  #4  
Old 06-30-2008, 09:23 AM
Congdar
Developer
 
Join Date: Jul 2007
Location: my own little world
Posts: 751
Default

i don't know of a specific command for damage, but you could just cast a spell that does 1000 like this:

Code:
$myvar = 0;
sub EVENT_ATTACK {
   if($myvar==0) {
      quest::say("$name, do not attack me.  You have earned this punishment!");
      $npc->CastSpell(6737, $charid, 10, -1, -1);
      $myvar=1;
   }
}
Reply With Quote
  #5  
Old 06-30-2008, 02:46 PM
Striat
Sarnak
 
Join Date: Aug 2006
Posts: 60
Default

You could try this. You can switch things up for environmental damage and whatnot as well.

Code:
$myvar = 0;
sub EVENT_ATTACK {
   if($myvar==0) {
      quest::say("$name, do not attack me.  You have earned this punishment!");

##client is damaged.  Format is: from/amount/spellid/skill
#So, from the npc, 1000dmg, no spell is used, and 1 is for the skill id.

      $client->Damage($npc, 1000, SPELL_UNKNOWN, 1);
      $myvar=1;
   }
}
I recommend using a timer or something to resetting variable though. Either could use combat_event or a timer when he engages. With a timer a:

Code:
$myvar = undef;

sub EVENT_ATTACK {

##client is damaged.  Format is: from/amount/spellid/skill
#So, from the npc, 1000dmg, no spell is used, and 1 is for the skill id

   if(!$myvar) {
      quest::say("$name, do not attack me.  You have earned this punishment!");
	$client->Damage($npc, 1000, SPELL_UNKNOWN, 1);
	$myvar = 1;
	quest::settimer("checkengaged",1);
   }
}

sub EVENT_TIMER {
	if ($timer eq "checkengaged") {
	if (!$npc->IsEngaged();
	$myvar = undef;
	quest::stoptimer("checkengaged");
	}
}
Honestly, combat status toggle is probably better. However, I just was using this method before it was implemented.
Reply With Quote
Reply


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 01:31 PM.


 

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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3