EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Q&A (https://www.eqemulator.org/forums/forumdisplay.php?f=599)
-   -   God Event Help (https://www.eqemulator.org/forums/showthread.php?t=31022)

merb 04-11-2010 09:49 PM

God Event Help
 
So basically in Tower of Solusek Ro, I'm trying to have an event in which 5 mini bosses are killed, an item is crafted, and handed to an NPC named Kallorax the Traitor. Upon handing him the item, an emote should go off and Kallorax shouts and this sets a timer. After the timer runs down, another mob (the god mob) spawns, sets a timer, and after the timer runs down, he shouts and then attacks Kallorax.

My problems are as follows:

* I can't get the god mob to stay despawned (so that Kallorax can spawn him, but he isn't spawned until then).

* I can't get Kallorax to spawn the mob if I manually depop the god.

* If I force spawn the god mob, I can't get him to shout or attack Kallorax when the timer runs down.

Here are the quest files for both of the mobs:

Kallorax_the_Traitor.pl
Code:

sub EVENT_SAY {

 if($text=~/hail/i) {
  quest::say("Who are you? You have no business being here!");
 }
 if ($text=~/help/i) {
  quest::say("With your help, Mithras, the true Sun God, will rise again and smite his son
  so that his creations may live in peace, as we had before! The ritual is nearly complete,
  but I need a few more [things] before I can begin the summoning process.");
 }
 if ($text=~/things/i) {
  quest::say("There are several creatures that Sathrim has created, the new champions that
  slew Mithras' champions. Each of Mithras' champions carried a piece of a torch which was
  what lit the worlds below. Now that Sathrim's champions hold this torch, Mithras can do
  nothing but watch as his own son uses his very power to destroy the world you know. Take
  this assembly kit and gather the torch pieces, then return it to me and I shall summon
  my lord!");
  quest::summonitem("13002");
 }
}

sub EVENT_ITEM {

 if ($itemcount{25631} == 1) {
  quest::emote("stares at you blankly. 'So Hyrgam has met Sathrim at last. Very well, then
  you will [help] me with my ritual.'");
 }
 if ($itemcount{16546} == 1) {
  quest::emote("stares in disbelief. 'I cannot believe you've crafted the torch! We must
  begin the ritual quickly before Sathrim notices.'");
  quest::shout("Mithras, our true father, I beg of you to return and save us from your son!");
  quest::me("The room grows hotter as the lava pit bubbles and becomes unstable.");
  quest::settimer("sun", 10);
 }
}

sub EVENT_TIMER {

 if ($timer == "sun") {
  quest::me("The lava pit shoots upward, revealing a new form as it melts back in to the pit.");
  quest::spawn("999354, 0, 0 -2.1, -2492.1, -795.4, 126.7");
  quest::stoptimer("sun");
 }
}

Mithras,_God_of_the_Sun
Code:

sub EVENT_SPAWN {

 quest::settimer("shout",5);
 }
}

sub EVENT_TIMER {

 if ($timer eq "shout") {
  quest::shout("Kallorax you have awakened me, and for what? To slay my own son? No, he hasn't
  corrupted anyone, ruined any lands, and he has banished you because his word is mine. You truly
  are a heretic in his eyes as well as mine! Now suffer!");
  quest::attacknpc(Kallorax_the_Traitor000);
 }
}

sub EVENT_DEATH {

 quest::shout("My own son, I can see, but at the hand of mortals, I should not have fallen.");
 }
}

--------

Any help would be greatly appreciated.

Randymarsh9 04-14-2010 12:40 AM

This might help

Code:

sub EVENT_TIMER {

 if ($timer == "sun") {
  quest::me("The lava pit shoots upward, revealing a new form as it melts back in to the pit.");
  quest::spawn("999354, 0, 0 -2.1, -2492.1, -795.4, 126.7");
  quest::stoptimer("sun");
 }
}

should instead be
Code:

sub EVENT_TIMER {

 if ($timer eq "sun") {
  quest::me("The lava pit shoots upward, revealing a new form as it melts back in to the pit.");
  quest::spawn(999354, 0, 0 -2.1, -2492.1, -795.4, 126.7);
  quest::stoptimer("sun");
 }
}

I'm pretty sure that for timers with a name like that, you use eq instead of ==, and I don't think you need the quotation marks around the spawn things.

Caryatis 04-14-2010 01:24 AM

1.) Im going to assume you created the god mob by using #spawn and #npcspawn create(or something similiar and thus mob has a spawngroup in that zone). Target the god mob and use #advnpcspawn removegroupspawn, that will remove him from the zone so he will not spawn with the normal mobs.

2.) Instead of:

Code:

quest::spawn("999354, 0, 0 -2.1, -2492.1, -795.4, 126.7");
use:

Code:

quest::spawn2(999354, 0, 0 -2.1, -2492.1, -795.4, 126.7);
3.) I would change the names of the .pl files to the npcid of the involved NPCs, if you have made any name changes to the mobs since creating(especially with a complex name like the god mob) then using its current name will not work for the pl file, you can only use its original name or the npcid.

merb 04-14-2010 11:14 PM

Ok, so I've changed them to look like this:

Code:

sub EVENT_SAY {

 if($text=~/hail/i) {
  quest::say("Who are you? You have no business being here!");
 }
 if ($text=~/help/i) {
  quest::say("With your help, Mithras, the true Sun God, will rise again and smite his son
  so that his creations may live in peace, as we had before! The ritual is nearly complete,
  but I need a few more [things] before I can begin the summoning process.");
 }
 if ($text=~/things/i) {
  quest::say("There are several creatures that Sathrim has created, the new champions that
  slew Mithras' champions. Each of Mithras' champions carried a piece of a torch which was
  what lit the worlds below. Now that Sathrim's champions hold this torch, Mithras can do
  nothing but watch as his own son uses his very power to destroy the world you know. Take
  this assembly kit and gather the torch pieces, then return it to me and I shall summon
  my lord!");
  quest::summonitem("13002");
 }
}

sub EVENT_ITEM {

 if ($itemcount{25631} == 1) {
  quest::emote("stares at you blankly. 'So Hyrgam has met Sathrim at last. Very well, then
  you will [help] me with my ritual.'");
 }
 if ($itemcount{16546} == 1) {
  quest::emote("stares in disbelief. 'I cannot believe you've crafted the torch! We must
  begin the ritual quickly before Sathrim notices.'");
  quest::shout("Mithras, our true father, I beg of you to return and save us from your son!");
  quest::me("The room grows hotter as the lava pit bubbles and becomes unstable.");
  quest::settimer("sun", 10);
 }
}

sub EVENT_TIMER {

 if ($timer eq "sun") {
  quest::me("The lava pit shoots upward, revealing a new form as it melts back in to the pit.");
  quest::spawn2(999354, 0, 0 -2.1, -2492.1, -795.4, 126.7);
  quest::stoptimer("sun");
 }
}

For Kallorax and:

Code:

sub EVENT_SPAWN {

 quest::settimer("shout", 5);
 }
}

sub EVENT_TIMER {

 if ($timer eq "shout") {
  quest::shout("Kallorax you have awakened me, and for what? To slay my own son? No, he hasn't
  corrupted anyone, ruined any lands, and he has banished you because his word is mine. You truly
  are a heretic in his eyes as well as mine! Now suffer!");
  quest::attacknpc(Kallorax_the_Traitor000);
 }
}

sub EVENT_DEATH {

 quest::shout("My own son, I can see, but at the hand of mortals, I should not have fallen.");
 }
}

for Mithras. From this, Mithras refuses to spawn, although I've managed to get him to not spawn with the regular mobs. Do I need his spawn2 ID and not his NpcID?

joligario 04-15-2010 07:44 AM

"0 -2.1" probably won't work very well.


All times are GMT -4. The time now is 03:29 PM.

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