EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Quests::Q&A (https://www.eqemulator.org/forums/forumdisplay.php?f=599)
-   -   NPC summon another NPC (https://www.eqemulator.org/forums/showthread.php?t=22331)

solid11 01-20-2007 06:15 AM

NPC summon another NPC
 
Any ideas on how to do this? Basically an npc will get spawned by the main npc and the main npc then summons the second npc to him, plain and simple, any help would be great.

JrFaust 01-20-2007 08:19 AM

Call of the Hero might work for ya.

$npc->castspell(1771,$mobid);

Replace the $mobid with the id of the spawned mob.

or mabe even

$npc->summon($mobid);
or
$npc->command_summon($mobid);

Hope that helps.
Later,
Rob

solid11 01-20-2007 08:34 AM

will give that a try thanks

solid11 01-25-2007 01:35 PM

Ok, I tried the above with no luck, I just want an npc to summon another npc once they pop. Here is what I have so far , which doesn't work. any help would be great.

elsif($itemcount {24075} && $itemcount {22056} == 1) {
quest::say("Ha.");
quest::spawn2(12032,0,0,1719.9,-1468.9,-96,108);
quest::castspell(1771,$12032);
quest::depop();

This is just a segment of the whole quest, btw. Just need this part working.

Or worst case, anyway the spawned npc can upon spawn goto the quest npc.

Cripp 01-25-2007 02:41 PM

you could use a signal and tell the npc to move possibly.. 1sec ill post script
Code:

elsif($itemcount {24075} && $itemcount {22056} == 1) {
quest::say("Ha.");
quest::spawn2(12032,0,0,1719.9,-1468.9,-96,108);
quest::signalwith(12032,"npcmov1");
quest::depop();

npc 12032..
Code:

sub EVENT_SIGNAL
{
if ($signal eq "npcmov1")
{
$npc->SendTo(x,y,z); #coords to move npc too
}
}


solid11 01-25-2007 02:47 PM

needs to be an instant move though, not walk or run to them since the roaming npc has a large grid.

Cripp 01-25-2007 02:48 PM

im not sure if SendTo moves or summons npc or not... so just try it out i guess unless u already know ;p

edit: just looked at the code and it looks like it makes him walk there.. so theres pretty much no command to summon or move the npc.. :(

solid11 01-25-2007 02:53 PM

Problem is, the sendto is asking for a certain x, y, z coord. Since the npc will stop for a second just to converse with the player, there is no telling what that npc's current x, y, z coord is. If you see my problem.

solid11 01-25-2007 03:07 PM

Why couldn't there just be a quest::summonnpctype(); ohhhhhh how happy I would be.

rojadruid 01-25-2007 04:09 PM

I am not good with the quests, but if you can depop the npc, it stands to reason that theres no reason that using a signal you can't have him pop at a set loc which would be where you want him summoned to. I could be wrong.

JrFaust 01-25-2007 04:39 PM

The mobid that is it be summoned could just be spawned near where the original mob is like this.

I haven't tested this exact code but I've done similar code that works like this, it should work.


Code:

elsif ($itemcount {24075} && $itemcount {22056} == 1) {
  my $x = $npc->GetX();
  my $y = $npc->GetY();
  my $z = $npc->GetZ();
  my $h = $npc->GetH(); #I don't know if this works to get the heading.
  quest::say ("Ha.");
  quest::spawn2 (12032,0,0,$x - 5,$y - 5,$z,$h);
  quest::castspell (1771,$12032);
  quest::depop();


solid11 01-25-2007 07:15 PM

Well, JrFaust, you sir are a life saver. Worked like a charm and we now have a fully functional rogue epic quest complete.

John Adams 01-26-2007 07:00 AM

Awesome, congrats solid.

JrFaust 01-26-2007 09:06 AM

Quote:

Originally Posted by solid11
Well, JrFaust, you sir are a life saver.

Hehe thanks but since I usually play a necro I don't know if that is always true. :D

But I'm glad I could help.

Later,
Rob


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

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