EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Q&A (https://www.eqemulator.org/forums/forumdisplay.php?f=599)
-   -   damage player doable? (https://www.eqemulator.org/forums/showthread.php?t=25601)

spider661 06-29-2008 10:20 PM

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?

ChaosSlayer 06-30-2008 12:06 AM

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 =)

spider661 06-30-2008 12:41 AM

ya i checked the quest lexicon and did not see a command to do damage thats y i was asking.. anyone know the command?

Congdar 06-30-2008 09:23 AM

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;
  }
}


Striat 06-30-2008 02:46 PM

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.


All times are GMT -4. The time now is 01:33 PM.

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