PDA

View Full Version : Script help


epilz
02-24-2015, 09:37 PM
Anyone have an example of a script that will signal mobs to assist if they are not up. I know how the CT script works, but it signals the zone. Want to signal only a few mobs to assist if they are not dead first. Any help would be awesome!

Thanks

ghanja
02-24-2015, 10:14 PM
Anyone have an example of a script that will signal mobs to assist if they are not up. I know how the CT script works, but it signals the zone. Want to signal only a few mobs to assist if they are not dead first. Any help would be awesome!

Thanks

Bold quoted what appears to be a contradiction. Reiterate if you would please.

epilz
02-24-2015, 10:17 PM
lol oops, meant to signal mobs if they are up, and assist a named if they are not killed first

ghanja
02-24-2015, 10:19 PM
lol oops, meant to signal mobs if they are up, and assist a named if they are not killed first

Are all the ones you wish to do the assisting of the same NPC Type? If not supply the type id's.

epilz
02-24-2015, 10:30 PM
this is what I am doing. If other dragons in VP are not dead and people try to skip to Phara Dar, I want to aggro those dragons to assist her to keep from people skipping the other dragons and just kill her for progression

ghanja
02-24-2015, 10:55 PM
sub CheatersTryingToCheat {
my @npcassistarray = [108407,108043,etc.];
my @npcstillalive = $entity_list->GetNPCList();
foreach $singleentity (@npcstillalive) {
if ($singleentity->GetNPCTypeID() ~~ @npcassistarray) {
$singleentity->AddToHateList($npc->GetHateTop());
}
}
}


I mean, this is just the sheer basics of things. Though, they're going to be just swarming through walls and such. They'll go after whomever is on top of PD's hatelist at that very moment, which -could- change. (usually the "tank")

No other checks etc.

If you need more, let us know.

epilz
02-24-2015, 11:20 PM
Thanks Ghanja. I will post the final results.

NatedogEZ
02-25-2015, 02:55 AM
We did that on erivyn except the boss would enrage and start casting death touch every 1 second.. rather than pulling the other dragons heh.


sub EVENT_COMBAT {

if($combat_state == 1) {
if ($entity_list->IsMobSpawnedByNpcTypeID(108053) || #Xygoz
$entity_list->IsMobSpawnedByNpcTypeID(108040) || #Druushk
$entity_list->IsMobSpawnedByNpcTypeID(108047) || #Nexona
$entity_list->IsMobSpawnedByNpcTypeID(108043) || #Hoshkar
$entity_list->IsMobSpawnedByNpcTypeID(108050)) { #Silverwing
#We skipped a boss.. time to die..
$npc->AddAISpell(0, 7478, 1, -1, 1, -3000);
quest::we(262, "Phara Dar shouts 'Foolish mortals, I am immortal with the power of my dragonkin!'");
} else {
quest::shout("My dragons have been defeated, but you will never defeat me!");
}
} else {
$npc->RemoveAISpell(7478);
$npc->Heal();
quest::setnexthpevent(80);
quest::signal(108518);
}
}


Spell ID 7478 - if an AOE DT.. so it pretty much wipes out everyone who tries to skip the other dragons :p

epilz
02-25-2015, 01:40 PM
hahah true Nate, I was DT'd a few times on Eriryn trying to skip to PD

Asylum
03-08-2015, 08:30 PM
Here's my easy script that accomplishes preventing players from skipping other dragons in Ashengate. When engaging the final npc, if any of the other dragons are still alive, it does not despawn and replace itself with the correct version. This version also rapidly DT's (done with spell list assignment).


#1759 Scorchwing the Magma Inferno DT

sub EVENT_AGGRO {
if (!$entity_list->GetMobByNpcTypeID(1750) && !$entity_list->GetMobByNpcTypeID(1752) && !$entity_list->GetMobByNpcTypeID(1754) && !$entity_list->GetMobByNpcTypeID(1755) && !$entity_list->GetMobByNpcTypeID(1757) && !$entity_list->GetMobByNpcTypeID(1761) && !$entity_list->GetMobByNpcTypeID(1762) && !$entity_list->GetMobByNpcTypeID(1763)) {
quest::spawn2(1765,0,0,$x,$y,$z,$h);
quest::depop_withtimer();
}
}