spawning at certain percentage of health
I was wondering if it would be possible to write a sub EVENT_SPAWN or sub EVENT_ATTACK script for a mob to make him spawn certain things when his health gets to a certain %. Like when he reaches 70% have him spawn 10-15 little mini versions that the people have to kill, then 40% maybe he takes on another form, stuff like that. And if it's possible to do this, anyone know the commands you would write? I've written some quests before but not sure how you would do a health check.
|
I'm pretty sure you can do this using EVENT_HP.
|
yes EVENT_HP will do this quite well. some points to note:
1) the spawned mobs will need to be tuned for aggro. if they spawn and are green to the players they might just stand there and watch their overlord get spanked. (set aggro appropriately similar to how undead ignore level for aggro). 2) add in a "despawn" timer or "upper minion limit" so that if the players attempt the mob several times, they dont end up having to fight several waves of the same minions. 3) add in some form of quest::shout or quest::say so that the players get some clue as to whats happened, otherwise they might assume the server screwed them with a spurious spawn. have fun :) == sfisque |
ok cool thanks I'll play around with that. How would I Set the HP check though? I can't seem to find anything in the checks that would be like quest::hp or something of that sort. What's the check? SOmething like quest::health or such?
|
Ok i found the quest::setnexthpevent but I'm not sure how to set the correct percentage. I tried quest::setnexthpevent(80) for 80% and also tried quest::setnexthpevent(1480200) because thats 80% of his max health and neither worked. Heres the .pl file right now.
sub EVENT_DEATH { quest::spawn(2700027,0,0,-532.4,-1920.9,15.6); } sub EVENT_HP { quest::setnexthpevent(1480200){ quest::spawn(2700036,0,0,-532.4,-1920.9,15.6); quest::spawn(2700036,0,0,-540.8,-1902.8,15.6); quest::spawn(2700036,0,0,-569.5,-1895.7,15.6); quest::spawn(2700036,0,0,-582.0,-1913.3,16.5); } } |
Quote:
Would do this: Code:
sub EVENT_SPAWN { Code:
sub EVENT_SIGNAL { |
add:
sub EVENT_SPAWN { #sets the HP event signal for 80% health quest::setnexthpevent(80); } == sfisque ps: lol striat posted just before me. |
Awesome thank you so much for that script, except the despawn doesn't seem to work properly. I'm gonna try writing my own right now and I'll let ya know how it turns out.
|
Ahh I didn't notice the sub EVENT_SIGNAL goes into 2700036.pl I put into 25, one second and I'll try that
|
OK I got it working. Didn't have the signal set properly in my 2700025.pl file so I set that for
sub EVENT_DEATH quest::signalwith(2700036,1) so now the signal properly identifies to the minions to despawn. Now to start adding in my health checks, I want him to spawn 4 at 80% 6 at 60% 10 at 40% and 15 at 20% hehe |
Ok sorry to keep this thread goin like this...now I can't get something else to work. The spawn/despawn scripts work perfect. I can't seem to get a quest::shout included in those though. This is what I have.
{ if($hpevent == 80) { quest::shout("Come forward my Wraiths! Bring Terror upon these foolish ones who have disturbed me!"); quest::spawn(2700036,0,0,-532.4,-1920.9,15.6); quest::spawn(2700036,0,0,-540.8,-1902.8,15.6); quest::spawn(2700036,0,0,-569.5,-1895.7,15.6); quest::spawn(2700036,0,0,-582.0,-1913.3,16.5); } if($hpevent == 60) { quest::shout("You have gotten this far and here you will die. Prepare for the worst ignorant fools!"); quest::spawn(2700036,0,0,-536.2,-1907.0,15.6); quest::spawn(2700036,0,0,-548.3,-1894.2,15.6); quest::spawn(2700036,0,0,-532.4,-1920.9,15.6); quest::spawn(2700036,0,0,-540.8,-1902.8,15.6); quest::spawn(2700036,0,0,-569.5,-1895.7,15.6); quest::spawn(2700036,0,0,-582.0,-1913.3,16.5); } The first shout will work while the second one will not. I dont see any coding problems in it however... |
All times are GMT -4. The time now is 01:50 PM. |
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.