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 02-05-2013, 03:36 AM
Kenej
Fire Beetle
 
Join Date: Jan 2013
Posts: 24
Default Stop attacking!

I'm having a little bit of a problem with this boss script and I was hoping one of you more experienced people could help me out.. I used the search function and found a similar thread to this one, but it didn't seem to tell me anything I haven't already tried or produce any solutions for me.

The point of this script is to have the boss cast his stun, and then run over to the location I have set.. I've pasted a snippet of the script below.

With this he casts his stun, but continues to attack you and doesn't move to where he's supposed to.. I also wasn't sure if the timing for pause was in milliseconds or not so if it's not I'll just fix that, but that's not really the issue right now!

I've tried to wipe his hate list, which just makes him go back to his spawn point.. I've also tried setting his attack flags to be unattackable/wont attack back and that doesn't work either.

I'm aware that it could be done if i set a combat state and wipe his hate list, but this is going to a happen a few times during the fight.

Code:
sub EVENT_HP
{
	if($hpevent == 90)
{
    quest::castspell(9406, $userid); #10 second aggro list stun for phase change
    quest::moveto(-2104,181,251.9,187,1);
    quest::emote("runs to the weapon rack to select a new weapon.");
    quest::pause(10000);
    quest::wearchange(7,4);
    quest::modifynpcstat(min_hit,3000);	
    quest::modifynpcstat(max_hit,5100);	
    quest::setnexthpevent(75);
}
Reply With Quote
  #2  
Old 02-05-2013, 04:40 AM
Zaela_S
Hill Giant
 
Join Date: Jun 2012
Posts: 216
Default

I'm no expert, but there doesn't seem to be any faculty for conveniently overriding the combat movement AI in the standard EQEmu code. On my server I added an NPC setting to disable combat AI movement and instead move to a script-defined loc regardless of aggro -- but I don't know how to add stuff for Perl so I wouldn't be able to offer it up myself.

Maybe there is already some trick to doing what you're going for here, but I think an explicit inclusion of alternative combat movement would probably be better anyway. (Or I guess maybe nothing on live works like that, so it wouldn't be made part of the standard code regardless? I'm new at this...)
Reply With Quote
  #3  
Old 02-05-2013, 04:47 AM
wolfwalkereci
Discordant
 
Join Date: Dec 2005
Posts: 435
Default

Have you seen http://new.eqemulator.net/forums/sho...d.php?p=184474
Looks like pause is used for waypoint pathing.
I see 2 scripts that have in the on spawn event but that is it.
Looks like you either need to use timers or figure out the work around to this.

edit: look at \quests\eastwastes\Tain_Hammerfrost.pl
Reply With Quote
  #4  
Old 02-05-2013, 04:52 AM
Kenej
Fire Beetle
 
Join Date: Jan 2013
Posts: 24
Default

Quote:
Originally Posted by Zaela_S View Post
I'm no expert, but there doesn't seem to be any faculty for conveniently overriding the combat movement AI in the standard EQEmu code. On my server I added an NPC setting to disable combat AI movement and instead move to a script-defined loc regardless of aggro -- but I don't know how to add stuff for Perl so I wouldn't be able to offer it up myself.

Maybe there is already some trick to doing what you're going for here, but I think an explicit inclusion of alternative combat movement would probably be better anyway. (Or I guess maybe nothing on live works like that, so it wouldn't be made part of the standard code regardless? I'm new at this...)
Heh yeah, I'm pretty new at this as well.. I might be able to do it if I keep repopping the mob with new mobid's.. I just wanted something less clunky.. Might just scrap this whole thing if nobody knows for sure if there's a less clunky way to do it.

Quote:
Originally Posted by wolfwalkereci View Post
Have you seen http://new.eqemulator.net/forums/sho...d.php?p=184474
Looks like pause is used for waypoint pathing.
I see 2 scripts that have in the on spawn event but that is it.
Looks like you either need to use timers or figure out the work around to this.
Thanks for this.. didn't know pause was used for waypoint settings.

Code:
quest::pause(time) - Forces the NPC to take a break for a certain time
^ is a little vague, but like you said I can just use a timer for it anyway. The main issue I was having was with him not moving because he's in combat.

Edit: I looked at that script and tried to use $npc->MoveTo hoping it would magically override him being in combat instead of quest::moveto and that didn't work either.
Reply With Quote
  #5  
Old 02-05-2013, 08:54 AM
Kayen
Developer
 
Join Date: Mar 2009
Location: -
Posts: 228
Default

There are a lot of ways to accomplish what you want.

You can make an invs NPC and have your boss go attack it to move it there.

OR if you want it to move, you have to wipe its hatelist, then when it resets, issue the move command.

Its a little complicated but it can be done.
Reply With Quote
  #6  
Old 02-05-2013, 08:59 AM
Kenej
Fire Beetle
 
Join Date: Jan 2013
Posts: 24
Default

Quote:
Originally Posted by Kayen View Post
There are a lot of ways to accomplish what you want.

You can make an invs NPC and have your boss go attack it to move it there.

OR if you want it to move, you have to wipe its hatelist, then when it resets, issue the move command.

Its a little complicated but it can be done.
I didn't think of making an invisible NPC.. that is such a great idea, thanks!
Reply With Quote
  #7  
Old 02-05-2013, 09:11 AM
Zaela_S
Hill Giant
 
Join Date: Jun 2012
Posts: 216
Default

Pretty hacky :\
Reply With Quote
  #8  
Old 02-05-2013, 03:51 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Actually, attacking an invis mob would be great for showing his anger and frustration

Of course, one might think he has tourrett's as well...
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #9  
Old 02-05-2013, 06:24 PM
Kenej
Fire Beetle
 
Join Date: Jan 2013
Posts: 24
Default

Quote:
Originally Posted by Uleat View Post
Actually, attacking an invis mob would be great for showing his anger and frustration

Of course, one might think he has tourrett's as well...
Haha, yeah.. I was thinking it'd be great since he's technically grabbing a new weapon and it should be a lot better looking.. Like I said, great idea.
Reply With Quote
  #10  
Old 02-05-2013, 06:36 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

have you tried quest::pathto($x, $y, $z) and $npc->SetRunning() after setting him immune /non-targetable / non-aggro?
__________________
I muck about @ The Forge.
say(rand 99>49?'try '.('0x'.join '',map{unpack 'H*',chr rand 256}1..2):'incoherent nonsense')while our $Noport=1;
Reply With Quote
  #11  
Old 02-05-2013, 10:25 PM
sorvani
Dragon
 
Join Date: May 2010
Posts: 965
Default

If your NPC spawns, then he will always go back to his spawn point after losing aggro or the pathing ends.

The best method to get around that is to spawn the NPC in a script from a controller NPC.
Reply With Quote
  #12  
Old 02-05-2013, 10:37 PM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,498
Default

Quote:
Originally Posted by sorvani View Post
If your NPC spawns, then he will always go back to his spawn point after losing aggro or the pathing ends.
Unless you issue a quest::moveto($x,$y,$z,$h,1)
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 11:09 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