EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Archive::Quests (https://www.eqemulator.org/forums/forumdisplay.php?f=624)
-   -   terris thule script pb (https://www.eqemulator.org/forums/showthread.php?t=14437)

sandy 06-19-2004 10:03 AM

terris thule script pb
 
here are the npcs of the quest :

Code:

INSERT INTO `npc_types` VALUES (221000, 'Terris_Thule', NULL, 70, 257, 1, 1, 200000, 2, 0, 0, '30', 0, 0, 16119, 0, 32, 5, 390, 850, 'SEQ', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '0', '0', 0, 0, 0, 0, 0, 0, 1, 1, 0, 0);
INSERT INTO `npc_types` VALUES (221009, 'A_Grotesque_Statue', NULL, 62, 280, 1, 1, 40000, 2, 0, 0, '25', 0, 0, 16000, 0, 0, 5, 300, 650, 'Q', 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '0.67', '1.25', 0, 0, 0, 0, 0, 0, 1, 1, 0, 0);
INSERT INTO `npc_types` VALUES (221005, '_', NULL, 60, 280, 1, 11, 18000, 2, 0, 0, '25', 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '0.67', '1.25', 0, 0, 0, 0, 0, 0, 0, 1, 0, 0);
INSERT INTO `npc_types` VALUES (221010, 'A_Dream_Defiler', NULL, 59, 264, 9, 8, 25000, 2, 0, 0, '8', 0, 0, 16000, 0, 0, 5, 0, 340, '', 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '0.67', '1.25', 0, 0, 0, 0, 0, 0, 1, 0, 0, 0);

Terris Thule ( npc 221000 ) is a god, her fight is an event that depends of her hit points percentage :

at start, she is in the center of her lair, there is 4 pillars and on each pillar there is an untargetable gargoyle ( npc 221005 ) :

at 75 % life : 10 dream defilers ( npc 221010 ) appear in the lair

at 50 % life : Terris Thule casts an aoe Dispell 12 slots : ( spell 3150 )

at 30 % life : the 4 untargetable gargoyles ( npc 221005 ) become targetable, in fact each gargoyle depop and repop in a targetable gargoyle ( npc 221009 )

Here are the files I have done :

221000.pl

Code:

sub EVENT_SPAWN
{
quest::setnexthpevent(75);
}

sub EVENT_HP
{
  # butterflies spawn
  if ( $hpevent == 75 ) {
  # quest::shout("Script : Butterflies");
    quest::spawn(221010,0,0,-1940,93,134,163);
    quest::spawn(221010,0,0,-1868,142,134,146);
    quest::spawn(221010,0,0,-1826,142,134,124);
    quest::spawn(221010,0,0,-1763,77,134,114);
    quest::spawn(221010,0,0,-1715,2,134,64);
    quest::spawn(221010,0,0,-1715,-40,134,61);
    quest::spawn(221010,0,0,-1755,-112,134,14);
    quest::spawn(221010,0,0,-1826,-144,134,5);
    quest::spawn(221010,0,0,-1870,-143,134,251);
    quest::spawn(221010,0,0,-1944,-90,134,229);
    quest::setnexthpevent(50);
  }

  # aoe dispell
  if ( $hpevent == 50 ) {
  # quest::shout("Script : Dispell");
    quest::selfcast(3150);
    quest::setnexthpevent(30);
  }

  # gargoyles awake
  if ( $hpevent == 30 ) {
  # quest::shout("Script : Gargoyles");
    quest::signal(221005);
  }

}

221005.pl

Code:

sub EVENT_SIGNAL
{
  quest::depop();
  quest::spawn(221009,0,0,$x,$y,$z,$h);
}

I have made Terris Thule permarooted ( walkspeed and runspeed = 0 ) so people can't exploit the fight by pulling her out of her lair because in eqlive when it is done she warp back to the center of her lair and i don't know how to do it =)

I have tried, all seems to work except the fact she doesn't cast the aoe dispell i don't understand why =(
any idea ?

animepimp 06-19-2004 12:21 PM

I'm sure she's casting the spell because you have it correct, but the spell probably isn't working correctly. Try casting the spell on the player instead of on her, the Aoe may not work. If that doesn't work maybe dispel jsut isn't implemented. Also i'd try a few different dispels because they all work the same way, but some may work correctly while others don't.

sandy 06-20-2004 04:03 AM

the dispell is a dispell 12 slot, there is no such other dispell
and i have looked at the emu source it seems implemented =(

KhaN 06-20-2004 04:35 AM

Dispel is implemented and work.
Sandy, If you are not sure about your spell working, copy/paste spell here, i will have a look at it.

sandy 06-20-2004 08:46 AM

nm

KhaN 06-20-2004 09:58 PM

I added your spell to my server Sandy and i spend some time to test it.
For me, the spell need some tweak, as well as your quest. You actually use "quest::selfcast", im wondering if this dont restrict the spell to the NPC, whatever the target spell is, im not a dev, im not sure about this, maybe a dev could answer, but this could be why your are not dispelled, because the NPC SELFCAST.

For me, you should use "quest::castspell(id,spellid);", the problem now would be your spell is "Point Blank AE" and im not 100% sure the spell will work as wanted, the solution would be to set the spell target to "Target Based AE".
This way, Terris Thule cast spell on a PC, the PC is used as Target Based AE and raid party is dispelled, as AE range is very large it would be same thing as having Terris casting spell on herself.

I have never play PoP, so i dont how encounter really work, but this way could be a way to bypass your problem.

sandy 06-21-2004 01:15 AM

I have tried, but which var to put for ID ?
I have tried $targetid, and $mobid, without success
=(

Swampdog 06-21-2004 02:16 AM

Not sure how it would work with the HP_EVENT, but where I'ved tinkered around with the script it cast the spell on whoever activated the script. Again, that is easilly determined in a say event but not sure how it would work in the HP check and if the NPC would have a PC targeted. But would be definitely worth trying... :)

sandy 06-21-2004 03:44 AM

you mean it is working in a EVENT_SAY ?
so it comes from EVENT_HP and the queue situation maybe
EVENT_HP happens when you are fighting, maybe when fighting it doesn't allow to cast spells with quests ?

KhaN 06-21-2004 03:51 AM

Tryed ?
Quote:

quest::castspell($userid,3150);

sandy 06-21-2004 04:28 AM

no, but ...
$userid = 0 no ??
the event_hp is triggered by a npc there is no user I think

KhaN 06-21-2004 04:58 AM

If the mob is fighting, a player IS targeted no ?

For me, you need to get the user targetted, if want to make "High End Event" script for EQEmu (which is great), the only way i see to get it working is having a player targetted, because when the NPC will cast an AE slow as selfcast ... but maybe my logic isnt correct.
In EQ Logic, its sound incorrect having a debuff cast on yourself or a party member to debuff other pc/npc, a debuff (even if AE) is casted on an ennemy and used as AE start point.

sandy 06-21-2004 05:04 AM

no there is target AE spells
but there is point blank AE spells too
it's important because knowing what is the max distance of a point blank AE spell is a big part of strategies

for the targeted user, it is $targetid not $userid i think ?

for this terris thule dispell, goal is to dispell everyone in the distance of the spell on 12 slots ( we have 15 buff slots max ), terris thule included
it is not illogic because she dispells then all debuff that players casted on her previously, so players have to redebuff her after this ae
it works like this in eqlive

Beretta 07-06-2004 02:54 PM

Why not try this for the AOE Dispell
 
I am not sure if this will work. I am still pretty new to Perl and working with quests, but couldnt you try something like this?


Code:

if ( $npcid = 221000 )
    {
          quest::cast(,3150);
    }

I am not sure if this will work, but if its like SQL, you can use quest::castspell(,3150) to say cast spell 3150 on no target

Worth a shot, might not work, would be nice if it did though =-)

animepimp 07-06-2004 04:27 PM

That code is illegal and will cause the file to not compile so it will revert to the default quest if you happen to have one. Every argument must have something in it.


All times are GMT -4. The time now is 07:27 PM.

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