|
|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|
| Quests::Custom Custom Quests here |
 |
|
 |

07-22-2009, 10:04 AM
|
 |
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
I have updated this script to make quite an improvement to it. Now, players can search for zones in their NPC's list by partial name, or request the full list. This script requires that your server is running R803 or later of the Google SVN Binaries or Source Code.
Some notable changes and updates for this script:
1. Makes full use of Saylinks. All Saylinks are currently set to be Silent.
2. Players can now search for zones to be transported to by partial name, and click the saylink for the result if they find the zone they were looking for.
3. Players can now list all zones that this NPC can send them to.
4. Messages are now only sent to the client and are color coded in Tan to be easy to read, but still easy to tell that that they aren't seen by other players.
5. Spacer added between each text message to make them easier to read since the saylinks are silent.
6. Because of note 3 and 4, these quests are 100% spam free not counting the initial hail!
Code:
#Translocator for Multiple Zones
#Array for all available zones to be sent to
@ZoneList = qw(
cazicthule
akanon
bothunder
befallen
blackburrow
cabeast
cabwest
mistmoore
chardok
thurgadina
veksar
cobaltscar
crystal
dalnir
necropolis
dreadlands
dulak
freporte
echo
erudnext
unrest
everfrost
fieldofbone
fungusgrove
greatdivide
grobb
guktop
halas
highkeep
charasis
paw
kael
kaesora
karnor
kurn
lakeofillomen
nurga
soldungb
najena
nexus
freportn
nro
oggok
sebilis
permafrost
airplane
fearplane
growthplane
^hateplane$
poinnovation
poknowledge
mischiefplane
ponightmare
postorms
povalor
qeytoqrg
rivervale
runnyeye
shadowhaven
skyshrine
soldunga
sro
felwitheb
ssratemple
qrg
acrylia
arena
burningwood
citymist
sharvahl
nadox
dawnshroud
thegrey
gunthak
hole
jaggedpine
maiden
overthere
paludal
podisease
hateplaneb
pojustice
scarlet
umbral
frozenshadow
poeartha
velketor
vexthal
warrens
warslikswood
freportw
);
sub EVENT_SAY{
my $all = quest::saylink("All", 1);
#Spacer between Text messages to make them easier to read
$client->Message(7, "-");
my $NPCName = $npc->GetCleanName();
if ($text =~/Hail/i)
{
$client->Message(315, "$NPCName whispers to you, 'If there is a zone you would like to go to, just tell me the short name of it and I will see if I have a spell to send you there. If you do not know the full name, just type part of the name to search my list of possible zones. Or, I can list [$all] of them if you like.'");
}
#Counts each row for the While
my $count = 1;
#Counts each element in the Array for the While
my $n = 0;
if ($text !~ /Hail/i)
{
#Use scalar form of Array
while ($ZoneList[$n])
{
#If the zone name contains part of the text said, or if the player wants to list all possible zones
if (($ZoneList[$n] =~ $text && $ZoneList[$n] ne $text) || ($text =~ /^All$/i))
{
my $ZoneName = quest::saylink($ZoneList[$n], 1);
$client->Message(315, "$NPCName whispers to you, 'Possible match is: $ZoneName'");
}
$n++;
$count++;
}
}
if ($text =~/crushbone/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(58, 158,-644,4);
}
if ($text =~/cazicthule/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(48, -80,80,5.5);
}
if ($text =~/akanon/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(55, -35,47,4);
}
if ($text =~/bothunder/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(209, 207,178,-1620);
}
if ($text =~/befallen/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(36, 35.22,-75.27,2.19);
}
if ($text =~/blackburrow/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(17, 38.92,-158.97,3.75);
}
if ($text =~/cabeast/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(106, -416,1343,4);
}
if ($text =~/cabwest/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(82, 790,165,3.75);
}
if ($text =~/mistmoore/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(59, 123,-295,-177);
}
if ($text =~/chardok/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(103, 859,119,106);
}
if ($text =~/thurgadina/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(115, 0,-1222,0);
}
if ($text =~/veksar/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(109, -1,-514.5,49);
}
if ($text =~/cobaltscar/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(117, 895,-939,318);
}
if ($text =~/crystal/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(121, 303,487,-74);
}
if ($text =~/dalnir/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(104, 90,8,3.75);
}
if ($text =~/necropolis/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(123, 2000,-100,5);
}
if ($text =~/dreadlands/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(86, 9565.05,2806.04,1045.2);
}
if ($text =~/dulak/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(225, 438,548,4);
}
if ($text =~/freporte/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(10, -648,-1097,-52.2);
}
if ($text =~/echo/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(153, -800,840,-25);
}
if ($text =~/erudnext/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(24, -309.75,109.64,23.75);
}
if ($text =~/unrest/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(63, 52,-38,3.75);
}
if ($text =~/everfrost/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(30, 682.74,3139.01,-60.16);
}
if ($text =~/fieldofbone/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(78, 1617,-1684,-54.78);
}
if ($text =~/fungusgrove/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(157, -1005,-2140,-308);
}
if ($text =~/greatdivide/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(118, -965,-7720,-557);
}
if ($text =~/grobb/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(52, 0,-100,4);
}
if ($text =~/guktop/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(65, 7,-36,4);
}
if ($text =~/halas/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(29, 0,0,3.75);
}
if ($text =~/highkeep/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(6, 88,-16,4);
}
if ($text =~/charasis/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(105, 0,0,-4.25);
}
if ($text =~/paw/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(18, -7.9,-79.3,4);
}
if ($text =~/kael/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(113, -633,-47,128);
}
if ($text =~/kaesora/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(88, 40,370,99.72);
}
if ($text =~/karnor/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(102, 0,0,4);
}
if ($text =~/kurn/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(97, 77.72,-277.64,3.75);
}
if ($text =~/lakeofillomen/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(85, -5383.07,5747.14,68.27);
}
if ($text =~/nurga/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(107, 150,-1062,-107);
}
if ($text =~/soldungb/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(32, -262.7,-423.99,-108.22);
}
if ($text =~/najena/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(44, -22.6,229.1,-41.8);
}
if ($text =~/nexus/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(152, 0,0,-28);
}
if ($text =~/freportn/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(8, 211,-296,4);
}
if ($text =~/nro/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(34, 299.12,3537.9,-24.5);
}
if ($text =~/oggok/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(49, -99,-345,4);
}
if ($text =~/sebilis/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(89, 0,235,40);
}
if ($text =~/permafrost/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(73, 0,0,3.75);
}
if ($text =~/airplane/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(71, 542.45,1384.6,-650);
}
if ($text =~/fearplane/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(72, 1282.09,-1139.03,1.67);
}
if ($text =~/growthplane/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(127, 3016,-2522,-19);
}
if ($text =~/^hateplane$/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(76, -353.08,-374.8,3.75);
}
if ($text =~/poinnovation/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(206, 241,509,-52.8);
}
if ($text =~/poknowledge/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(202, -55.82,43.93,-158.81);
}
if ($text =~/mischiefplane/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(126, -395,-1410,115);
}
if ($text =~/ponightmare/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(204, 1668,282,210.4);
}
if ($text =~/postorms/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(210, -1755.7,-2001.1,-463.8);
}
if ($text =~/povalor/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(208, 207.4,-1615.1,77.9);
}
if ($text =~/qeytoqrg/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(4, 196.7,5100.9,-1);
}
if ($text =~/rivervale/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(19, 45.3,1.6,3.8);
}
if ($text =~/runnyeye/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(11, -21.85,-108.88,3.75);
}
if ($text =~/shadowhaven/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(150, 190,-982,-28);
}
if ($text =~/skyshrine/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(114, -730,-210,0);
}
if ($text =~/soldunga/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(31, -485.77,-476.04,73.72);
}
if ($text =~/sro/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(35, 286,1265,79);
}
if ($text =~/felwitheb/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(62, -790,320,-10.25);
}
if ($text =~/ssratemple/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(162, 0,0,4);
}
if ($text =~/qrg/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(3, 136.9,-65.9,4);
}
if ($text =~/acrylia/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(154, -664,10,3.2);
}
if ($text =~/arena/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(77, 460.9,-41.4,-7.38);
}
if ($text =~/burningwood/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(87, -820,-4942,200.31);
}
if ($text =~/citymist/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(90, -734,28,3.75);
}
if ($text =~/sharvahl/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(155, 85,-1135,-188);
}
if ($text =~/nadox/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(227, -643.06,-1349.17,-40.87);
}
if ($text =~/dawnshroud/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(174, 2085,0,89);
}
if ($text =~/thegrey/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(171, 349,-1994,-26);
}
if ($text =~/gunthak/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(224, -938.34,1644.83,25.94);
}
if ($text =~/hole/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(39, -1049.98,640.04,-77.22);
}
if ($text =~/jaggedpine/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(181, 1800,1319,-13);
}
if ($text =~/maiden/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(173, 1905,940,-150);
}
if ($text =~/overthere/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(93, -4263,-241,235);
}
if ($text =~/paludal/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(156, -241,-3721,195);
}
if ($text =~/podisease/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(205, -1750,-1243,-56);
}
if ($text =~/hateplaneb/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(186, -392.7,629.44,3.75);
}
if ($text =~/pojustice/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(201, -61,58,5);
}
if ($text =~/scarlet/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(175, -1678,-1054,-98);
}
if ($text =~/umbral/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(176, 1900,-474,23);
}
if ($text =~/frozenshadow/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(111, 200,120,0);
}
if ($text =~/poeartha/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(218, 0,0,0);
}
if ($text =~/velketor/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(112, -65,581,-152);
}
if ($text =~/vexthal/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(158, -1400,343,-40.4);
}
if ($text =~/warrens/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(101, -930,748,-37.22);
}
if ($text =~/warslikswood/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(79, -467.95,-1428.95,197.31);
}
if ($text =~/freportw/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(9, 181,335,-24);
}
if ($text =~/neriaka/i){
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(40, 156.92,-2.94,31.75);
}
if ($text =~/hollowshade/i){
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(166, 2680,1221,139);
}
if ($text =~/griegsend/i){
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::movepc(163, 3461,-19,-5);
}
}
Last edited by trevius; 07-22-2009 at 06:07 PM..
|
 |
|
 |

07-22-2009, 10:18 PM
|
|
Fire Beetle
|
|
Join Date: Sep 2008
Location: In a house
Posts: 15
|
|
Per my message in the bugs forum:
http://www.eqemulator.net/forums/sho...d.php?p=175045
The Mistmoore translocate puts me on top of Mistmoore castle, rather than at the zone entrance. Does it do the same for anyone else?
|

07-22-2009, 11:05 PM
|
|
Sarnak
|
|
Join Date: Jul 2009
Location: United States
Posts: 40
|
|
Off Topic: I've just started editing all my custom quest NPC's to no longer "say" anything, and use the "$client->Message" instead since starter cities get too much spam from the NPCs. Then I found this thread and smiled. Looks like someone else thought of the same thing.
|

07-22-2009, 11:25 PM
|
 |
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
Nice, eqwarrior. Now, you just need to start using the new silent saylinks, and you won't see any spam at all other than the initial hail. Then, almost all text you see will be from actual players. I think it does make the game lose a little something, but IMO, the benefit is well worth it.
|

07-23-2009, 12:50 AM
|
 |
Discordant
|
|
Join Date: Mar 2009
Location: Ottawa
Posts: 495
|
|
Don't suppose there'd be a way to add to the quest class (object?) something like the #zone command, would eliminate the huge block of if statements and replace with just like quest::zone($text);
|
 |
|
 |

07-23-2009, 03:40 AM
|
 |
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
I put a little more work into this to trim it up a bit more. Now, you no longer need to do ifs for each zone, you just add them to the array. I am using quest::zone() to send them to the safe loc of the zone requested. If needed, you could either adjust the safe loc in the zone table, or you could probably add in some more ifs for specific zones.
This makes the script much easier to manage and tons easier to add more new zones to it. No more need to find a loc to send them to and add in another if statement.
Code:
#Translocator for Multiple Zones
#Array for all available zones to be sent to
@ZoneList = qw(
cazicthule
akanon
bothunder
befallen
blackburrow
cabeast
cabwest
mistmoore
chardok
thurgadina
veksar
cobaltscar
crystal
dalnir
necropolis
dreadlands
dulak
freporte
echo
erudnext
unrest
everfrost
fieldofbone
fungusgrove
greatdivide
grobb
guktop
halas
highkeep
charasis
paw
kael
kaesora
karnor
kurn
lakeofillomen
nurga
soldungb
najena
nexus
freportn
nro
oggok
sebilis
permafrost
airplane
fearplane
growthplane
hateplane
poinnovation
poknowledge
mischiefplane
ponightmare
postorms
povalor
qeytoqrg
rivervale
runnyeye
shadowhaven
skyshrine
soldunga
sro
felwitheb
ssratemple
qrg
acrylia
arena
burningwood
citymist
sharvahl
nadox
dawnshroud
thegrey
gunthak
hole
jaggedpine
maiden
overthere
paludal
podisease
hateplaneb
pojustice
scarlet
umbral
frozenshadow
poeartha
velketor
vexthal
warrens
warslikswood
freportw
);
sub EVENT_SAY{
my $all = quest::saylink("All", 1);
#Spacer between Text messages to make them easier to read
$client->Message(7, "-");
my $NPCName = $npc->GetCleanName();
if ($text =~/Hail/i)
{
$client->Message(315, "$NPCName whispers to you, 'If there is a zone you would like to go to, just tell me the short name of it and I will see if I have a spell to send you there. If you do not know the full name, just type part of the name to search my list of possible zones. Or, I can list [$all] of them if you like.'");
}
#Counts each row for the While
my $count = 1;
#Counts each element in the Array for the While
my $n = 0;
if ($text !~ /Hail/i)
{
#Use scalar form of Array
while ($ZoneList[$n])
{
#This uses the lc() function in perl to convert anything typed into all lowercase, since that is what the zone list is
#If the zone name contains part of the text said, or if the player wants to list all possible zones we list them
if (($ZoneList[$n] =~ lc($text) && $ZoneList[$n] ne lc($text)) || ($text =~ /^All$/i))
{
my $ZoneName = quest::saylink($ZoneList[$n]);
$client->Message(315, "$NPCName whispers to you, 'Possible match is: $ZoneName");
}
#If they say the full name of one of the zones in the Array, or click one of the saylinks, port them to the safe loc there
if ($ZoneList[$n] eq lc($text) && $text !~ /^All$/i)
{
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::zone("$ZoneList[$n]");
}
$n++;
$count++;
}
}
}
Thanks, pfyon, for the idea. I was just being lazy to not put too much time into this simple script :P
Last edited by trevius; 07-27-2009 at 01:19 AM..
|
 |
|
 |

07-23-2009, 11:42 AM
|
 |
Discordant
|
|
Join Date: Mar 2009
Location: Ottawa
Posts: 495
|
|
Makes sense. Would still need if/else statements if you wanted to move the pc to a location that was not the safe point in a zone anyway.
|

07-23-2009, 06:23 PM
|
|
Sarnak
|
|
Join Date: Jul 2009
Location: United States
Posts: 40
|
|
Quote:
Originally Posted by trevius
Nice, eqwarrior. Now, you just need to start using the new silent saylinks, and you won't see any spam at all other than the initial hail. Then, almost all text you see will be from actual players. I think it does make the game lose a little something, but IMO, the benefit is well worth it.
|
I need to install new source this weekend to get the extra 2 parameters in saylink. You have some good and helpful ideas. Thanks 
|
 |
|
 |

07-24-2009, 11:46 AM
|
|
Sarnak
|
|
Join Date: Jun 2009
Location: ohio,usa
Posts: 36
|
|
Ok Im a complete Noob when it comes to EQ editing and creating, good at wow crap, but for some reason not geeting the hang of this.
Tried to use Dieffer_wolfhugger for my translocator, used the above script created a .pl for him in the POK quest folder which looks like this
Code:
#Translocator for Multiple Zones
#Array for all available zones to be sent to
@ZoneList = qw(
cazicthule
akanon
bothunder
befallen
blackburrow
cabeast
cabwest
mistmoore
chardok
thurgadina
veksar
cobaltscar
crystal
dalnir
necropolis
dreadlands
dulak
freporte
echo
erudnext
unrest
everfrost
fieldofbone
fungusgrove
greatdivide
grobb
guktop
halas
highkeep
charasis
paw
kael
kaesora
karnor
kurn
lakeofillomen
nurga
soldungb
najena
nexus
freportn
nro
oggok
sebilis
permafrost
airplane
fearplane
growthplane
hateplane
poinnovation
poknowledge
mischiefplane
ponightmare
postorms
povalor
qeytoqrg
rivervale
runnyeye
shadowhaven
skyshrine
soldunga
sro
felwitheb
ssratemple
qrg
acrylia
arena
burningwood
citymist
sharvahl
nadox
dawnshroud
thegrey
gunthak
hole
jaggedpine
maiden
overthere
paludal
podisease
hateplaneb
pojustice
scarlet
umbral
frozenshadow
poeartha
velketor
vexthal
warrens
warslikswood
freportw
);
sub EVENT_SAY{
my $all = quest::saylink("All", 1);
#Spacer between Text messages to make them easier to read
$client->Message(7, "-");
my $NPCName = $npc->GetCleanName();
if ($text =~/Hail/i)
{
$client->Message(315, "$NPCName whispers to you, 'If there is a zone you would like to go to, just tell me the short name of it and I will see if I have a spell to send you there. If you do not know the full name, just type part of the name to search my list of possible zones. Or, I can list [$all] of them if you like.'");
}
#Counts each row for the While
my $count = 1;
#Counts each element in the Array for the While
my $n = 0;
if ($text !~ /Hail/i)
{
#Use scalar form of Array
while ($ZoneList[$n])
{
#This uses the lc() function in perl to convert anything typed into all lowercase, since that is what the zone list is
#If the zone name contains part of the text said, or if the player wants to list all possible zones we list them
if (($ZoneList[$n] =~ lc($text) && $ZoneList[$n] ne lc($text)) || ($text =~ /^All$/i))
{
my $ZoneName = quest::saylink($ZoneList[$n]);
$client->Message(315, "$NPCName whispers to you, 'Possible match is: $ZoneName");
}
#If they say the full name of one of the zones in the Array, or click one of the saylinks, port them to the safe loc there
if ($ZoneList[$n] eq lc($text) && $text !~ /^All$/i)
{
#my $PortZone = $ZoneList[$n];
$client->Message(315, "$NPCName whispers to you, 'Enjoy your adventure!'");
$client->Message(6, "$NPCName casts a spell to translocate you to another place.");
quest::zone("$ZoneList[$n]");
}
$n++;
$count++;
}
}
}
#END of FILE Zone:poknowledge ID:202363 -- Dieffer_wolfhugger
Restarted the server and he does nothing, Please help, as I love this idea and want to get it going on my server.
Doc
|
 |
|
 |

07-26-2009, 03:29 PM
|
|
Sarnak
|
|
Join Date: Jun 2009
Location: ohio,usa
Posts: 36
|
|
Well I also tried to put the .pl in the templates folder as well and nothing happens, changed the npc to one of the guards at the pok bank, since he did not have any quests on him, renamed him teleporter and ran the old script, works great, player just needs to know the short name.
Then I tried to run the newer script and nothing seems to work on him now. added in the saylink table and still nothing. Could this be due to the emu? think im running 6.4.0 or something to that nature.
Doc
|
| Thread Tools |
|
|
| Display Modes |
Hybrid Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 08:37 AM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |