PDA

View Full Version : Faction-based movepc


zerjz3
11-07-2014, 11:28 PM
Trying to get an invisible NPC to move the player to another area if their faction is below a certain value.... here's what I came up with, but can't seem to get it to work. Probably something silly that I'm overlooking!


sub EVENT_SPAWN {
my $x = $npc->GetX();
my $y = $npc->GetY();
quest::set_proximity($x - 3, $x + 3, $y - 3, $y + 3);
}

sub EVENT_ENTER {
if($faction >=3) {
quest::movepc(6, 49.76, -14.47, 3.75, 194.0);
}

sub EVENT_EXIT {
quest::clear_proximity();
my $x = $npc->GetX();
my $y = $npc->GetY();
quest::set_proximity($x - 3, $x + 3, $y - 3, $y + 3);
}
}

Akkadius
11-07-2014, 11:37 PM
Your brackets are way off and wrong in two places.

Your use of proximities is a bit off.

Should look something like this:

sub EVENT_SPAWN {
plugin::SetProx(20, 20);
}

sub EVENT_ENTER {
if($faction >= 3){
quest::movepc(6, 49.76, -14.47, 3.75, 194.0);
}
}

Also your use of $faction I'm assuming is intentional and you know that the data that gets returned from $faction is the value the client has with the NPC's faction.

This plugin assumes you have the latest plugins repo, that plugin I used has been around for ages:

http://wiki.eqemulator.org/p?Perl_Plugins_Master_Reference&frm=Main#pluginsetproxx-y-axis-range-z-axis-range-1-skeleton-reference-proximity-for-debugging

Hopefully that helps.

zerjz3
11-08-2014, 12:08 AM
Works beautifully. Thanks, Akka!