Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Custom

Quests::Custom Custom Quests here

Reply
 
Thread Tools Display Modes
  #1  
Old 04-17-2008, 03:07 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default Translocator Quest To Many Common Zones

I made this a while back and I figured it might come in handy for others looking for a quick solution to give access to popular zones. It is just a teleporter with many common and popular zones. It definitely isn't all of them, but it is a start. You can easily use notepad to do replaces on the text throughout the quest to change wording or NPC name or whatever.

Code:
#############
#Quest Name: Translocator
#Author: Trevius of Storm Haven
#############

sub EVENT_SAY
{
if ($text =~/Hail/i)
 {
quest::say ("Hey there, $name. If you know the shortname of the zone you would like to go to, just tell me and I will see if I have a spell to send you there.");
 }
if ($text =~/crushbone/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(58, 158,-644,4); }
if ($text =~/cazicthule/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(48, -80,80,5.5); } 
if ($text =~/akanon/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(55, -35,47,4); } 
if ($text =~/bothunder/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(209, 207,178,-1620); } 
if ($text =~/befallen/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(36, 35.22,-75.27,2.19); } 
if ($text =~/blackburrow/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(17, 38.92,-158.97,3.75); } 
if ($text =~/cabeast/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(106, -416,1343,4); } 
if ($text =~/cabwest/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(82, 790,165,3.75); } 
if ($text =~/mistmoore/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(59, 123,-295,-177); } 
if ($text =~/chardok/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(103, 859,119,106); } 
if ($text =~/thurgadina/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(115, 0,-1222,0); } 
if ($text =~/veksar/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(109, -1,-514.5,49); } 
if ($text =~/cobaltscar/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(117, 895,-939,318); } 
if ($text =~/crystal/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(121, 303,487,-74); } 
if ($text =~/dalnir/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(104, 90,8,3.75); } 
if ($text =~/necropolis/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(123, 2000,-100,5); } 
if ($text =~/dreadlands/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(86, 9565.05,2806.04,1045.2); } 
if ($text =~/dulak/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(225, 438,548,4); } 
if ($text =~/freporte/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(10, -648,-1097,-52.2); } 
if ($text =~/echo/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(153, -800,840,-25); } 
if ($text =~/erudnext/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(24, -309.75,109.64,23.75); } 
if ($text =~/unrest/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(63, 52,-38,3.75); } 
if ($text =~/everfrost/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(30, 682.74,3139.01,-60.16); } 
if ($text =~/fieldofbone/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(78, 1617,-1684,-54.78); } 
if ($text =~/fungusgrove/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(157, -1005,-2140,-308); } 
if ($text =~/greatdivide/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(118, -965,-7720,-557); } 
if ($text =~/grobb/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(52, 0,-100,4); } 
if ($text =~/guktop/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(65, 7,-36,4); } 
if ($text =~/halas/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(29, 0,0,3.75); } 
if ($text =~/highkeep/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(6, 88,-16,4); } 
if ($text =~/charasis/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(105, 0,0,-4.25); } 
if ($text =~/paw/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(18, -7.9,-79.3,4); } 
if ($text =~/kael/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(113, -633,-47,128); } 
if ($text =~/kaesora/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(88, 40,370,99.72); } 
if ($text =~/karnor/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(102, 0,0,4); } 
if ($text =~/kurn/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(97, 77.72,-277.64,3.75); } 
if ($text =~/lakeofillomen/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(85, -5383.07,5747.14,68.27); } 
if ($text =~/nurga/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(107, 150,-1062,-107); } 
if ($text =~/soldungb/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(32, -262.7,-423.99,-108.22); } 
if ($text =~/najena/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(44, -22.6,229.1,-41.8); } 
if ($text =~/nexus/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(152, 0,0,-28); } 
if ($text =~/freportn/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(8, 211,-296,4); } 
if ($text =~/nro/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(34, 299.12,3537.9,-24.5); } 
if ($text =~/oggok/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(49, -99,-345,4); } 
if ($text =~/sebilis/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(89, 0,235,40); } 
if ($text =~/permafrost/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(73, 0,0,3.75); } 
if ($text =~/airplane/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(71, 542.45,1384.6,-650); } 
if ($text =~/fearplane/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(72, 1282.09,-1139.03,1.67); } 
if ($text =~/growthplane/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(127, 3016,-2522,-19); } 
if ($text =~/^hateplane$/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(76, -353.08,-374.8,3.75); } 
if ($text =~/poinnovation/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(206, 241,509,-52.8); } 
if ($text =~/poknowledge/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(202, -55.82,43.93,-158.81); } 
if ($text =~/mischiefplane/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(126, -395,-1410,115); } 
if ($text =~/ponightmare/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(204, 1668,282,210.4); } 
if ($text =~/postorms/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(210, -1755.7,-2001.1,-463.8); } 
if ($text =~/povalor/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(208, 207.4,-1615.1,77.9); } 
if ($text =~/qeytoqrg/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(4, 196.7,5100.9,-1); } 
if ($text =~/rivervale/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(19, 45.3,1.6,3.8); } 
if ($text =~/runnyeye/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(11, -21.85,-108.88,3.75); } 
if ($text =~/shadowhaven/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(150, 190,-982,-28); } 
if ($text =~/skyshrine/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(114, -730,-210,0); } 
if ($text =~/soldunga/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(31, -485.77,-476.04,73.72); } 
if ($text =~/sro/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(35, 286,1265,79); } 
if ($text =~/felwitheb/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(62, -790,320,-10.25); } 
if ($text =~/ssratemple/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(162, 0,0,4); } 
if ($text =~/qrg/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(3, 136.9,-65.9,4); } 
if ($text =~/acrylia/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(154, -664,10,3.2); } 
if ($text =~/arena/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(77, 460.9,-41.4,-7.38); } 
if ($text =~/burningwood/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(87, -820,-4942,200.31); } 
if ($text =~/citymist/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(90, -734,28,3.75); } 
if ($text =~/sharvahl/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(155, 85,-1135,-188); } 
if ($text =~/nadox/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(227, -643.06,-1349.17,-40.87); } 
if ($text =~/dawnshroud/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(174, 2085,0,89); } 
if ($text =~/thegrey/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(171, 349,-1994,-26); } 
if ($text =~/gunthak/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(224, -938.34,1644.83,25.94); } 
if ($text =~/hole/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(39, -1049.98,640.04,-77.22); } 
if ($text =~/jaggedpine/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(181, 1800,1319,-13); } 
if ($text =~/maiden/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(173, 1905,940,-150); } 
if ($text =~/overthere/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(93, -4263,-241,235); } 
if ($text =~/paludal/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(156, -241,-3721,195); } 
if ($text =~/podisease/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(205, -1750,-1243,-56); } 
if ($text =~/hateplaneb/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(186, -392.7,629.44,3.75); } 
if ($text =~/pojustice/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(201, -61,58,5); } 
if ($text =~/scarlet/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(175, -1678,-1054,-98); } 
if ($text =~/umbral/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(176, 1900,-474,23); } 
if ($text =~/frozenshadow/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(111, 200,120,0); } 
if ($text =~/poeartha/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(218, 0,0,0); } 
if ($text =~/velketor/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(112, -65,581,-152); } 
if ($text =~/vexthal/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(158, -1400,343,-40.4); } 
if ($text =~/warrens/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(101, -930,748,-37.22); } 
if ($text =~/warslikswood/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(79, -467.95,-1428.95,197.31); } 
if ($text =~/freportw/i)
 {
quest::say ("Enjoy your adventure!");
$client->Message(6, "Linnya Sennu casts a spell to translocate you to another place.");
quest::movepc(9, 181,335,-24); } 

}
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #2  
Old 04-17-2008, 03:09 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

And here is the list of zones with short names included in this quest. You can post these on your website or forums so you players can easily reference the list to see what is available:

Zone Name - Short Name
Accursed Temple of Cazic-Thule - cazicthule
Ak'Anon - akanon
Bastion of Thunder - bothunder
Befallen - befallen
Blackburrow - blackburrow
Cabilis East - cabeast
Cabilis West - cabwest
Castle Mistmoore - mistmoore
Chardok - chardok
City of Thurgadin - thurgadina
City of veksar - veksar
Cobalt Scar - cobaltscar
Crystal Caverns - crystal
Dalnir - dalnir
Dragon Necropolis - necropolis
Dreadlands - dreadlands
Dulak's Harbor - dulak
East Freeport - freporte
Echo Caverns - echo
Erudin - erudnext
Estate of Unrest - unrest
Everfrost - everfrost
Field of Bone - fieldofbone
Fungus Grove - fungusgrove
Great Divide - greatdivide
Grobb - grobb
Guk - guktop
Halas - halas
High Keep - highkeep
Howling stones - charasis
Infected Paw - paw
Kael Drakael - kael
Kaesora - kaesora
Karnor's Castle - karnor
Kurn's Tower - kurn
Lake of Ill Omen - lakeofillomen
Mines of Nurga - nurga
Nagafen's Lair - soldungb
Najena - najena
Nexus - nexus
North Freeport - freportn
Northern Desert of Ro - nro
Oggok - oggok
Old Sebilis - sebilis
Permafrost Caverns - permafrost
Plane of Air - airplane
Plane of Fear - fearplane
Plane of Growth - growthplane
Plane of Hate - hateplane
Plane of Innovation - poinnovation
Plane of Knowledge - poknowledge
Plane of Mischief - mischiefplane
Plane of Nightmare - ponightmare
Plane of Storms - postorms
Plane of Valor - povalor
Qeynos Hills - qeytoqrg
Rivervale - rivervale
Runnyeye Citadel - runnyeye
Shadow Haven - shadowhaven
Skyshrine - skyshrine
Solusek's Eye - soldunga
Southern Desert of Ro - sro
Southern Felwithe - felwitheb
Ssraeshza Temple - ssratemple
Surefall Glade - qrg
The Acrylia Caverns - acrylia
The Arena - arena
The Burning Wood - burningwood
The City of Mist - citymist
The City of Shar Vahl - sharvahl
The Crypt of Nadox - nadox
The Dawnshroud Peaks - dawnshroud
The Grey - thegrey
The Gulf of Gunthak - gunthak
The Hole - hole
The Jaggedpine Forest - jaggedpine
The Maiden's Eye - maiden
The Overthere - overthere
The Paludal Caverns - paludal
The Plane of Disease - podisease
The Plane of Hate - hateplaneb
The Plane of Justice - pojustice
The Scarlet Desert - scarlet
The Umbral Plains - umbral
Tower of Frozen Shadow - frozenshadow
Vegarlson, The Earthen Badlands - poeartha
Velketor's Labrynth - velketor
Vex Thal - vexthal
Warrens - warrens
Warsliks Woods - warslikswood
West Freeport - freportw
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #3  
Old 02-15-2009, 05:42 AM
seridium
Sarnak
 
Join Date: Jan 2009
Location: canada
Posts: 68
Default

Thank you very much works great!
Reply With Quote
  #4  
Old 02-20-2009, 02:01 AM
banchicawawo
Fire Beetle
 
Join Date: Nov 2007
Posts: 15
Default

I started running my own server recently, and this script saved me a ton of time! I used a find/replace to change the text the NPC says, but this works great and saved me a ton of time from manually adding these in while looking up the safe coords in the DB. Thanks, Trevius!
Reply With Quote
  #5  
Old 07-22-2009, 10:04 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

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);
	} 

}
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 07-22-2009 at 06:07 PM..
Reply With Quote
  #6  
Old 07-22-2009, 10:18 PM
acepanther
Fire Beetle
 
Join Date: Sep 2008
Location: In a house
Posts: 15
Default

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?
Reply With Quote
  #7  
Old 07-22-2009, 11:05 PM
eqwarrior
Sarnak
 
Join Date: Jul 2009
Location: United States
Posts: 40
Default

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.
Reply With Quote
  #8  
Old 07-22-2009, 11:25 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

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.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #9  
Old 07-23-2009, 12:50 AM
pfyon's Avatar
pfyon
Discordant
 
Join Date: Mar 2009
Location: Ottawa
Posts: 495
Default

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);
Reply With Quote
  #10  
Old 07-23-2009, 03:40 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

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
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 07-27-2009 at 01:19 AM..
Reply With Quote
  #11  
Old 07-23-2009, 11:42 AM
pfyon's Avatar
pfyon
Discordant
 
Join Date: Mar 2009
Location: Ottawa
Posts: 495
Default

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.
Reply With Quote
  #12  
Old 07-23-2009, 06:23 PM
eqwarrior
Sarnak
 
Join Date: Jul 2009
Location: United States
Posts: 40
Thumbs up

Quote:
Originally Posted by trevius View Post
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
Reply With Quote
  #13  
Old 07-24-2009, 11:46 AM
drzoyburg
Sarnak
 
Join Date: Jun 2009
Location: ohio,usa
Posts: 36
Default

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
Reply With Quote
  #14  
Old 07-26-2009, 03:29 PM
drzoyburg
Sarnak
 
Join Date: Jun 2009
Location: ohio,usa
Posts: 36
Default

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
Reply With Quote
  #15  
Old 07-26-2009, 05:13 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

As I mentioned above, you have to be running R803 or later from the SVN here:

http://code.google.com/p/projecteqemu/source/list

If you are running EQEmu version 6.4 something, that is ancient! You will need a huge amount of updating to get to the current code and database schema if that is the case. If you don't want to update, you could modify this script to work without using the saylinks. The Saylinks just work really well with this script. It is a good example of just how nice they can be

Since it was a quick edit, here is the script without Saylinks:

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{

	#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 = $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++;
		}
	}
}
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 07-27-2009 at 01:19 AM..
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 04:23 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3