PDA

View Full Version : NPC summon another NPC


solid11
01-20-2007, 06:15 AM
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
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..
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.



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
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