PDA

View Full Version : EVENT_HP issues ( any help greatly appreciated)


JLB2414
07-12-2008, 08:42 PM
This is a learning experience for me, and so far I have been pretty successful with writing some quests, but for some reason I cannot figure out what is wrong with this one.

I thought a trained eye might be able to help :D.


#Script for Mob

sub EVENT_SPAWN
{
quest::shout("Defilers of the Temple beware - You shall not be tolerated!");
quest::setnexthpevent(76);
quest::setnexthpevent(26);
quest::setnexthpevent(11);
}

sub EVENT_HP
{

if ($hpevent <= 76)
{
quest::shout("Intolerable!");
quest::castspell($userid,2821); #Harm Touch
}

sub EVENT_HP
{
if ($hpevent <= 26)
{
quest::emote("Xarendyr's eyes take on a deathly allure!");
quest::settimer(1,10)
}

sub EVENT_TIMER
{
if ($timer == 1)
{
quest::shout("Heretic! Feel the Embrace of Fear!");
quest::castspell($userid,7477); #Death Touch
quest::stoptimer (1);
}
}

sub EVENT_HP
{
if ($hpevent <= 11)
{
quest::depop;
}

sub EVENT_ATTACK
{
quest::shout("Fool! You dare challenge the might of Cazic Thule?");
}
}


The mob shouts on spawn and also shouts when attacked, but none of the events activate.

I read in the wiki that quest::castspell(id,spell) could cause bugs, but even the shouts and emote do not go off.

Thanks for any suggestions in advance :).

VallonTallonZek
07-12-2008, 09:12 PM
I am not in a situation at the moment to test this, but give this a shot.

#Script for Mob

sub EVENT_SPAWN
{
quest::shout("Defilers of the Temple beware - You shall not be tolerated!");
quest::setnexthpevent(76);
}

sub EVENT_HP
{

if ($hpevent == 11)
{
quest::depop;
}

elsif ($hpevent == 26)
{
quest::setnexthpevent(11);
quest::emote("Xarendyr's eyes take on a deathly allure!");
quest::settimer(1,10);
}

elsif ($hpevent == 76)
{
quest::setnexthpevent(26);
quest::shout("Intolerable!");
quest::castspell($userid,2821); #Harm Touch
}
}



sub EVENT_TIMER
{
if ($timer == 1)
{
quest::shout("Heretic! Feel the Embrace of Fear!");
quest::castspell($userid,7477); #Death Touch
quest::stoptimer (1);
}
}


sub EVENT_ATTACK
{
quest::shout("Fool! You dare challenge the might of Cazic Thule?");
}

JLB2414
07-12-2008, 09:30 PM
Thanks for the excellent suggestion. :)

The events are actually taking place now, which is a lot further than I've got previously.

Like the wiki mentioned quest::castspell(id,spellid); doesn't seem to be going off.

So should it look something like this instead?

sub EVENT_HP
{

if ($hpevent == 11)
{
quest::depop;
}

elsif ($hpevent == 26)
{
quest::setnexthpevent(11);
quest::emote("Xarendyr's eyes take on a deathly allure!");
quest::settimer(1,10);
}

elsif ($hpevent == 76)
{
quest::setnexthpevent(26);
quest::shout("Intolerable!");
$npc->CastSpell($userid,7477); #Harm Touch
}
}


The timer also seems to not be activating either.

At any rate, this has helped out a ton. I feel as if a door has swung open :). I can put this information to use a thousand times over.

Thanks a billion!

JLB2414
07-12-2008, 09:44 PM
Okay the event is working, I think I was just killing him too quickly for it too activate.

My only remaining problem is the spells aren't being cast.

JLB2414
07-12-2008, 10:16 PM
Oops it's $npc->CastSpell(7477,#userid).

All worked out now. :)

thepoetwarrior
07-13-2008, 10:36 AM
I remember >= being an issue in the logic, the event needs == which will recognize going under the value you did == too. Hope makes sense. I had same problem