#1
|
|||
|
Gypse Camp - NK
Could bind here in classic, right now we cant.
Too lazy to dig up any info atm, but would think most would remember this being classic, such as binding at The Arena too? | ||
|
#2
|
|||
|
This is a known issue. Apparently its super hard to code a small area to be able to bind at.
| ||
|
#3
|
|||
|
The way bind works in eqemu is that its either turned On or Off for a particular zone.
North Karana.. casters should be able to bind affinity themselves, but not others, unless they are in the range of the gypsy camp. If anyone wants to take a stab at this, by all means. Here's the last work I did on it. I made an invisible man in the middle of the gypsies and it is named 1466. player.pl for nk Code:
sub EVENT_CAST { if $spell_id == 35) { quest::signalwith(1466,0,0); ## 1466 is the invisible man } } Code:
sub EVENT_SIGNAL { if($signal == 0) { my $list_check = 0; for ($list_check = 0; $list_check < 2000; $list_check++) { $client_search = $entity_list->GetClientByID($list_check); if ($client_search) { my $distanceCHK = $client_search->CalculateDistance($x, $y, $z); my $PLTarget = $npc->GetTarget(); my $TargID = $PLTarget->GetID(); my $ClID = $client_search->GetID(); my $client_target = $TargID->GetTarget(); if (($distanceCHK <= 100) && ($TargID = $ClID)) { $npc->CastSpell(35,$client_target); } } } } } | ||
|
#4
|
|||
|
haha cute little sub procedure nilbog
| ||
|
#5
|
|||
|
Code:
# NorthKarana # Player.Pl file # i) Checks player co-ordinates and allows casting of Bind # Version 1.2 # sub EVENT_CAST { # only do this check on BindAffinity (35) if ($spell_id == 35) { # Locate the NPC my $bindman = $entity_list->GetMobByNpcTypeID(999242); # Who are we targeting? my $target = $client->GetTarget(); # Lets get the groups of the target and the caster my $targroup = $entity_list->GetGroupByMob($target); # Ensure the target is within an acceptable distance from the bindman NPC my $distance = $target->CalculateDistance($bindman->GetX(),$bindman->GetY(),$bindman->GetZ()); if ($distance <= 100) { # Are we casting this on ourselves? if ($client->GetID() == $target->GetID()) { # Provide an additional message to confirm binding has infact worked $client->Message(15, "However, due to the current location you feel your soul bind to the area."); # Player is now bound $client->SetBindPoint($zoneid,$target->GetX(),$target->GetY(),$target->GetZ()); #Or is this someone else? } else { # We need to check if we are in the group if($targroup->IsGroupMember($client)) { # they should know what is going on $client->Message(15, "However, due to the current location you feel the target soul bound to the area."); $target->Message(15, "Due to the current location, you have bound to this area."); # lets bind them $target->CastToClient()->SetBindPoint($zoneid,$target->GetX(),$target->GetY(),$target->GetZ()); } # default message is fine if not } } else { # default message is fine } $targroup = undef; $bindman = undef; $target = undef; $distance = undef; } } | ||
Last edited by mixxit; 04-23-2010 at 01:04 AM..
|
|
#6
|
|||
|
Fixed by Mixxit.
your /charinfo will not update until you zone, btw. this will also send a message to the client and the caster indicating as such. | ||
|
#7
|
|||
|
Is the arena bindable now also?
| ||
|
#8
|
||||
|
Quote:
| |||
Last edited by nilbog; 04-26-2010 at 03:11 AM..
|
|
|
|