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

05-11-2011, 02:34 PM
|
Hill Giant
|
|
Join Date: Mar 2010
Posts: 236
|
|
Can anyone see an error here?
Nevermind im not a moron. Slightly new problem. My mob spawns the npcs right the first time, then the second time he spawns them, but he keeps spawning them like every 30 secords afterwards and im not sure why.
The timer triggers after 3 minutes the first time but like i said above its like its triggering every 10-30 seconds then afterwards. I dont see anything that would make it do that, when I set the timer again i set it to 120
Code:
#azog mon
sub EVENT_HP {
if($hpevent <= 98)
{
if ((defined($entity_list->GetNPCByNPCTypeID(999430))))
{
$npc->NPCSpecialAttacks(DIMUCNfAB, 0);
quest::settimer("SpawnAcolytes", 120);
quest::spawn2(999454, 0, 0, $x + 10, $y + 10, $z, 0);
quest::spawn2(999454, 0, 0, $x - 10, $y - 10, $z, 0);
quest::spawn2(999454, 0, 0, $x + 10, $y - 10, $z, 0);
}
}
}
sub EVENT_SPAWN {
quest::setnexthpevent(98);
}
sub EVENT_TIMER {
if ($timer == "SpawnAcolytes")
{
quest::spawn2(999454, 0, 0, $x + 10, $y + 10, $z, 0);
quest::spawn2(999454, 0, 0, $x - 10, $y - 10, $z, 0);
quest::spawn2(999454, 0, 0, $x + 10, $y - 10, $z, 0);
quest::settimer("SpawnAcolytes", 120);
}
if ($timer == "Rampage")
{
plugin::AERampageEffect(100);
quest::settimer("Rampage", 10);
}
}
sub EVENT_SAY {
if($text=~/Hail/i) {
quest::shout("Test");
}
}
|
 |
|
 |

05-11-2011, 03:20 PM
|
Sarnak
|
|
Join Date: Apr 2011
Posts: 47
|
|
I think it comes from the if($hpevent <= 9
it might launch over and over as long as the HP are under 98, not pretty used with these variables, but I don't use this like that.
|

05-11-2011, 04:06 PM
|
Hill Giant
|
|
Join Date: Mar 2010
Posts: 236
|
|
Quote:
Originally Posted by Shamanistik08
I think it comes from the if($hpevent <= 9
it might launch over and over as long as the HP are under 98, not pretty used with these variables, but I don't use this like that.
|
ahh yes, thank u, i had a similar problem like that before XD
|
 |
|
 |

05-11-2011, 04:15 PM
|
Hill Giant
|
|
Join Date: Mar 2010
Posts: 236
|
|
ok thats not it. Its also triggering the rampage timer even though nothing sets it. Also i noticed, i removed the rampage timer now it seems like the other timer isnt triggering
Code:
#azog mon
sub EVENT_HP {
if($hpevent == 98)
{
if ((defined($entity_list->GetNPCByNPCTypeID(999430))))
{
$npc->NPCSpecialAttacks(DIMUCNfAB, 0);
quest::settimer("SpawnAcolytes", 120);
quest::spawn2(999454, 0, 0, $x + 10, $y + 10, $z, 0);
quest::spawn2(999454, 0, 0, $x - 10, $y - 10, $z, 0);
quest::spawn2(999454, 0, 0, $x + 10, $y - 10, $z, 0);
}
}
}
sub EVENT_SPAWN {
quest::setnexthpevent(98);
}
sub EVENT_TIMER {
if ($timer == "SpawnAcolytes")
{
quest::spawn2(999454, 0, 0, $x + 10, $y + 10, $z, 0);
quest::spawn2(999454, 0, 0, $x - 10, $y - 10, $z, 0);
quest::spawn2(999454, 0, 0, $x + 10, $y - 10, $z, 0);
quest::settimer("SpawnAcolytes", 120);
}
if ($timer == "Rampage")
{
plugin::AERampageEffect(100);
quest::settimer("Rampage", 10);
}
}
sub EVENT_SAY {
if($text=~/Hail/i) {
quest::shout("Test");
}
}
|
 |
|
 |

05-11-2011, 08:42 PM
|
 |
Developer
|
|
Join Date: Mar 2003
Posts: 1,498
|
|
You should try putting your npc special attacks in double quotes as it is a string. Also in your timers, use eq instead of == for strings. Also an FYI: timers continue endlessly unless you stop them, so no need to restart timers like what you have.
|
 |
|
 |

05-11-2011, 10:37 PM
|
Sarnak
|
|
Join Date: Apr 2011
Posts: 47
|
|
Code:
#azog mon
sub EVENT_HP {
if($hpevent == 98)
{
$npc->NPCSpecialAttacks(DIMUCNfAB, 0);
quest::settimer("SpawnAcolytes", 120);
quest::spawn2(999454, 0, 0, $x + 10, $y + 10, $z, 0);
quest::spawn2(999454, 0, 0, $x - 10, $y - 10, $z, 0);
quest::spawn2(999454, 0, 0, $x + 10, $y - 10, $z, 0);
plugin::AERampageEffect(100);
quest::settimer("Rampage", 10);
}
}
sub EVENT_SPAWN {
quest::setnexthpevent(98);
}
sub EVENT_TIMER {
if ($timer == "SpawnAcolytes")
{
quest::stoptimer("SpawnAcolytes");
quest::spawn2(999454, 0, 0, $x + 10, $y + 10, $z, 0);
quest::spawn2(999454, 0, 0, $x - 10, $y - 10, $z, 0);
quest::spawn2(999454, 0, 0, $x + 10, $y - 10, $z, 0);
quest::settimer("SpawnAcolytes", 120);
}
if ($timer == "Rampage")
{
quest::stoptimer("Rampage");
plugin::AERampageEffect(100);
quest::settimer("Rampage", 10);
}
}
sub EVENT_SAY {
if($text=~/Hail/i) {
quest::shout("Test");
}
}
I didn't test it, but I think the errors might come from that. Also probably possible to do it more simple. but I think it should works.
Also I am not sure why don't put the special attacks directly on mob.
|
 |
|
 |
 |
|
 |

05-11-2011, 10:41 PM
|
Hill Giant
|
|
Join Date: Mar 2010
Posts: 236
|
|
Quote:
Originally Posted by Shamanistik08
Code:
#azog mon
sub EVENT_HP {
if($hpevent == 98)
{
$npc->NPCSpecialAttacks(DIMUCNfAB, 0);
quest::settimer("SpawnAcolytes", 120);
quest::spawn2(999454, 0, 0, $x + 10, $y + 10, $z, 0);
quest::spawn2(999454, 0, 0, $x - 10, $y - 10, $z, 0);
quest::spawn2(999454, 0, 0, $x + 10, $y - 10, $z, 0);
plugin::AERampageEffect(100);
quest::settimer("Rampage", 10);
}
}
sub EVENT_SPAWN {
quest::setnexthpevent(98);
}
sub EVENT_TIMER {
if ($timer == "SpawnAcolytes")
{
quest::stoptimer("SpawnAcolytes");
quest::spawn2(999454, 0, 0, $x + 10, $y + 10, $z, 0);
quest::spawn2(999454, 0, 0, $x - 10, $y - 10, $z, 0);
quest::spawn2(999454, 0, 0, $x + 10, $y - 10, $z, 0);
quest::settimer("SpawnAcolytes", 120);
}
if ($timer == "Rampage")
{
quest::stoptimer("Rampage");
plugin::AERampageEffect(100);
quest::settimer("Rampage", 10);
}
}
sub EVENT_SAY {
if($text=~/Hail/i) {
quest::shout("Test");
}
}
I didn't test it, but I think the errors might come from that. Also probably possible to do it more simple. but I think it should works.
Also I am not sure why don't put the special attacks directly on mob.
|
Because im making the mob immune after it has aggro, killing the acolytes will cause damage to it instead of normal fighting, until it hits 25% hp, then you will be able to kill it normally and no acolytes will spawn
|
 |
|
 |

05-11-2011, 10:59 PM
|
Sarnak
|
|
Join Date: Apr 2011
Posts: 47
|
|
But then he regen? would it alter the hp event 98?? I don't know.
Anyway, you tested it like that?
|

05-11-2011, 11:30 PM
|
Hill Giant
|
|
Join Date: Mar 2010
Posts: 236
|
|
yeah they arent spawning at all now after the initial spawn
|

05-13-2011, 11:03 AM
|
Hill Giant
|
|
Join Date: Mar 2010
Posts: 236
|
|
I got it working by the way, i found a missing bracket
Code:
#azog mon
sub EVENT_HP {
if($hpevent == 98)
{
$npc->NPCSpecialAttacks(DIMUCNfAB, 0);
quest::settimer("SpawnAcolytes", 120);
quest::spawn2(2700252, 0, 0, $x + 10, $y + 10, $z, 0);
quest::spawn2(2700252, 0, 0, $x - 10, $y - 10, $z, 0);
quest::spawn2(2700252, 0, 0, $x + 10, $y - 10, $z, 0);
quest::setnexthpevent(25);
}
if($hpevent == 25)
{
$npc->NPCSpecialAttacks(DIMUCNf, 0);
quest::stoptimer("SpawnAcolytes");
}
}
sub EVENT_SPAWN {
quest::setnexthpevent(98);
}
sub EVENT_TIMER {
if ($timer == "SpawnAcolytes")
{
quest::spawn2(2700252, 0, 0, $x + 10, $y + 10, $z, 0);
quest::spawn2(2700252, 0, 0, $x - 10, $y - 10, $z, 0);
quest::spawn2(2700252, 0, 0, $x + 10, $y - 10, $z, 0);
quest::settimer("SpawnAcolytes", 120);
}
}
sub EVENT_SIGNAL {
quest::shout("Signal Sent");
$npc->SetHP(-100000); #damage azog mon by 5%
}
|

05-13-2011, 11:28 AM
|
 |
Administrator
|
|
Join Date: Feb 2009
Location: MN
Posts: 2,072
|
|
Just FYI, it is a good idea to use 'eq' as an operator to compare strings.
When you export the $timer object in this case you are using a string to identify your timer names, not an ID. So you would be looking at something similar to:
Code:
if ($timer eq "SpawnAcolytes")
Instead of:
Code:
if ($timer == "SpawnAcolytes")
'==' is for integer comparison, IE: 1,2,3,4,5 etc.
And as Joligario was trying to say, you want to quote your strings as a best practice:
Code:
$npc->NPCSpecialAttacks(DIMUCNfAB, 0);
Should be:
Code:
$npc->NPCSpecialAttacks("DIMUCNfAB", 0);
Otherwise it looks like you are persistently figuring it out.
Hopefully that helps.
~Akka
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 01:44 AM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |