123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317 |
- /*
- * Copyright (C) 2004-2015 L2J DataPack
- *
- * This file is part of L2J DataPack.
- *
- * L2J DataPack is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * L2J DataPack is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
- package custom.NpcLocationInfo;
- import com.l2jserver.gameserver.datatables.SpawnTable;
- import com.l2jserver.gameserver.model.L2Spawn;
- import com.l2jserver.gameserver.model.actor.L2Npc;
- import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
- import com.l2jserver.gameserver.model.quest.Quest;
- import com.l2jserver.gameserver.util.Util;
- /**
- * Npc Location Info AI.
- * @author Nyaran
- */
- public final class NpcLocationInfo extends Quest
- {
- private static final int[] NPC =
- {
- 30598,
- 30599,
- 30600,
- 30601,
- 30602,
- 32135
- };
-
- private static final int[] NPCRADAR =
- {
- // Talking Island
- 30006, // Gatekeeper Roxxy
- 30039, // Captain Gilbert
- 30040, // Guard Leon
- 30041, // Guard Arnold
- 30042, // Guard Abellos
- 30043, // Guard Johnstone
- 30044, // Guard Chiperan
- 30045, // Guard Kenyos
- 30046, // Guard Hanks
- 30283, // Blacksmith Altran
- 30003, // Trader Silvia
- 30004, // Trader Katerina
- 30001, // Trader Lector
- 30002, // Trader Jackson
- 30031, // High Priest Biotin
- 30033, // Magister Baulro
- 30035, // Magister Harrys
- 30032, // Priest Yohanes
- 30036, // Priest Petron
- 30026, // Grand Master Bitz
- 30027, // Master Gwinter
- 30029, // Master Minia
- 30028, // Master Pintage
- 30054, // Warehouse Keeper Rant
- 30055, // Warehouse Keeper Rolfe
- 30005, // Warehouse Keeper Wilford
- 30048, // Darin
- 30312, // Lighthouse Keeper Rockswell
- 30368, // Lilith
- 30049, // Bonnie
- 30047, // Wharf Manager Firon
- 30497, // Edmond
- 30050, // Elias
- 30311, // Sir Collin Windawood
- 30051, // Cristel
-
- // Dark Elf Vill
- 30134, // Gatekeeper Jasmine
- 30224, // Sentry Knight Rayla
- 30348, // Sentry Nelsya
- 30355, // Sentry Roselyn
- 30347, // Sentry Marion
- 30432, // Sentry Irene
- 30356, // Sentry Altima
- 30349, // Sentry Jenna
- 30346, // Sentry Kayleen
- 30433, // Sentry Kathaway
- 30357, // Sentry Kristin
- 30431, // Sentry Eriel
- 30430, // Sentry Trionell
- 30307, // Blacksmith Karrod
- 30138, // Trader Minaless
- 30137, // Trader Vollodos
- 30135, // Trader Iria
- 30136, // Trader Payne
- 30143, // Master Trudy
- 30360, // Master Harant
- 30145, // Master Vlasty
- 30135, // Magister Harne
- 30144, // Tetrarch Vellior
- 30358, // Tetrarch Thifiell
- 30359, // Tetrarch Kaitar
- 30141, // Tetrarch Talloth
- 30139, // Warehouse Keeper Dorankus
- 30140, // Warehouse Keeper Erviante
- 30350, // Warehouse Freightman Carlon
- 30421, // Varika
- 30419, // Arkenia
- 30130, // Abyssal Celebrant Undrias
- 30351, // Astaron
- 30353, // Jughead
- 30354, // Jewel
-
- // Elven Village
- 30146, // Gatekeeper Mirabel
- 30285, // Sentinel Gartrandell
- 30284, // Sentinel Knight Alberius
- 30221, // Sentinel Rayen
- 30217, // Sentinel Berros
- 30219, // Sentinel Veltress
- 30220, // Sentinel Starden
- 30218, // Sentinel Kendell
- 30216, // Sentinel Wheeler
- 30363, // Blacksmith Aios
- 30149, // Trader Creamees
- 30150, // Trader Herbiel
- 30148, // Trader Ariel
- 30147, // Trader Unoren
- 30155, // Master Ellenia
- 30156, // Master Cobendell
- 30157, // Magister Greenis
- 30158, // Magister Esrandell
- 30154, // Hierarch Asterios
- 30153, // Warehouse Keeper Markius
- 30152, // Warehouse Keeper Julia
- 30151, // Warehouse Freightman Chad
- 30423, // Northwind
- 30414, // Rosella
- 31853, // Treant Bremec
- 30223, // Arujien
- 30362, // Andellia
- 30222, // Alshupes
- 30371, // Thalia
- 31852, // Pixy Murika
-
- // Dwarven Villa
- 30540, // Gatekeeper Wirphy
- 30541, // Protector Paion
- 30542, // Defender Runant
- 30543, // Defender Ethan
- 30544, // Defender Cromwell
- 30545, // Defender Proton
- 30546, // Defender Dinkey
- 30547, // Defender Tardyon
- 30548, // Defender Nathan
- 30531, // Iron Gate's Lockirin
- 30532, // Golden Wheel's Spiron
- 30533, // Silver Scale's Balanki
- 30534, // Bronze Key's Keef
- 30535, // Filaur of the Gray Pillar
- 30536, // Black Anvil's Arin
- 30525, // Head Blacksmith Bronk
- 30526, // Blacksmith Brunon
- 30527, // Blacksmith Silvera
- 30518, // Trader Garita
- 30519, // Trader Mion
- 30516, // Trader Reep
- 30517, // Trader Shari
- 30520, // Warehouse Chief Reed
- 30521, // Warehouse Freightman Murdoc
- 30522, // Warehouse Keeper Airy
- 30523, // Collector Gouph
- 30524, // Collector Pippi
- 30537, // Daichir, Priest of the Eart
- 30650, // Priest of the Earth Gerald
- 30538, // Priest of the Earth Zimenf
- 30539, // Priestess of the Earth Chichirin
- 30671, // Captain Croto
- 30651, // Wanderer Dorf
- 30550, // Gauri Twinklerock
- 30554, // Miner Bolter
- 30553, // Maryse Redbonnet
-
- // Orc Village
- 30576, // Gatekeeper Tamil
- 30577, // Praetorian Rukain
- 30578, // Centurion Nakusin
- 30579, // Centurion Tamai
- 30580, // Centurion Parugon
- 30581, // Centurion Orinak
- 30582, // Centurion Tiku
- 30583, // Centurion Petukai
- 30584, // Centurion Vapook
- 30569, // Prefect Brukurse
- 30570, // Prefect Karukia
- 30571, // Seer Tanapi
- 30572, // Seer Livina
- 30564, // Blacksmith Sumari
- 30560, // Trader Uska
- 30561, // Trader Papuma
- 30558, // Trader Jakal
- 30559, // Trader Kunai
- 30562, // Warehouse Keeper Grookin
- 30563, // Warehouse Keeper Imantu
- 30565, // Flame Lord Kakai
- 30566, // Atuba Chief Varkees
- 30567, // Neruga Chief Tantus
- 30568, // Urutu Chief Hatos
- 30585, // Tataru Zu Hestui
- 30587, // Gantaki Zu Urutu
-
- // Kamael Villag
- 32163, // Gatekeeper Ragara
- 32173, // Zerstorer Marcela
- 32174, // Marksman Maddy
- 32175, // Marksman Bixon
- 32176, // Marksman Ambra
- 32177, // Marksman Syzar
- 32178, // Guard Karba
- 32179, // Marksman Putin
- 32180, // Marksman Kato
- 32164, // Weapons Trader Erinu
- 32165, // Armor Trader Zacon
- 32168, // Magic Trader Janis
- 32166, // Accessory Trader Treavi
- 32167, // Consumption Goods Trader Neazel
- 32141, // Master Nerga
- 32142, // Master Tenor
- 32143, // Master Belkis
- 32144, // Master Sonya
- 32145, // Grand Master Maynard
- 32146, // Grand Master Valpor
- 32139, // Hierarch Casca
- 32140, // Hierarch Zenya
- 32138, // Hierarch Kekropus
- 32171, // Warehouse Chief Hoffa
- 32170, // Warehouse Keeper Benis
- 32172, // Warehouse Freightman Saylem
- 32153, // High Priest Prana
- 32154, // Grand Master Aldenia
- 32155, // Priest Nabot
- 32156, // Master Talbot
- 32150, // Hight Prefect Took
- 32151, // Prefect Harz
- 32152, // Seer Henri
- 32147, // Grand Master Libian
- 32148, // Master Sydnet
- 32149, // Magister Enea
- 32160, // Grand Magister Devon
- 32162, // Magister Martika
- 32161, // Master Black
- 32158, // Warehouse Chief Fisler
- 32157, // Head Blacksmith Moka
- 32159, // Blacksmith Kincaid
- 32169, // Spellbook Trader Mifren
- };
-
- private NpcLocationInfo()
- {
- super(-1, NpcLocationInfo.class.getSimpleName(), "custom");
- addStartNpc(NPC);
- addTalkId(NPC);
- }
-
- @Override
- public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
- {
- String htmltext = event;
-
- if (Util.isDigit(event))
- {
- htmltext = null;
- int npcId = Integer.parseInt(event);
-
- if (Util.contains(NPCRADAR, npcId))
- {
- int x = 0, y = 0, z = 0;
- final L2Spawn spawn = SpawnTable.getInstance().findAny(npcId);
- if (spawn != null)
- {
- x = spawn.getX();
- y = spawn.getY();
- z = spawn.getZ();
- }
- addRadar(player, x, y, z);
- htmltext = "MoveToLoc.htm";
- }
- }
- return htmltext;
- }
-
- @Override
- public String onTalk(L2Npc npc, L2PcInstance player)
- {
- String htmltext = getNoQuestMsg(player);
- int npcId = npc.getId();
- getQuestState(player, true);
-
- if (Util.contains(NPC, npcId))
- {
- htmltext = String.valueOf(npcId) + ".htm";
- }
-
- return htmltext;
- }
-
- public static void main(String args[])
- {
- new NpcLocationInfo();
- }
- }
|