CalypsoToolz 451 Опубликовано 17 апреля, 2013 Всем привет, столкнулся с проблемкой: есть ивент в котором мобы нападают на город и с них дропаются итемы, которые я укажу в конфиге, все работает нормально, но нужно бы сделать так, чтобы дроп с этих мобов был только тогда, когда начнется ивент т.е. к примеру у меня эти мобы из инстанса фреи, так вот если идти к фрее и убивать этих мобов то дропаются итемы настроенные для ивента. Вот код ивента: package events.TestMove; import l2md.common.ThreadPoolManager; import l2md.config.ConfigSystem; import l2md.extensions.scripts.Functions; import l2md.extensions.scripts.ScriptFile; import l2md.gameserver.Announcements; import l2md.gameserver.instancemanager.CastleManager; import l2md.gameserver.instancemanager.ZoneManager; import l2md.gameserver.model.L2Character; import l2md.gameserver.model.L2Player; import l2md.gameserver.model.L2Zone; import l2md.gameserver.model.entity.residence.Castle; import l2md.gameserver.model.entity.siege.territory.TerritorySiege; import l2md.gameserver.model.instances.L2NpcInstance; import l2md.gameserver.serverpackets.SystemMessage; import l2md.util.Rnd; import java.util.ArrayList; import java.util.Calendar; /** * @author : Ragnarok * @modification : Nano * @date : 15.12.10 19:27 */ public class TestMove extends Functions implements ScriptFile { private static ArrayList mobs = new ArrayList(); private static ArrayList allMobs = new ArrayList(); private static boolean playerWin = false; private enum EventTaskState { START, END, TIME1, TIME2, TIME3, TIME4, TIME5, TIME6, DESPAWN } private class EventTask implements Runnable { EventTaskState state; ArrayList mb; public EventTask(EventTaskState state) { this.state = state; } public EventTask(EventTaskState state, Object clone) { this.state = state; this.mb = (ArrayList) clone; } @Override public void run() { switch (state) { case START: for (Castle castle : CastleManager.getInstance().getCastles().values()) { if (castle.getSiege() != null && castle.getSiege().isInProgress()) { ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.START), ConfigSystem.getLong("TMEventInterval")); return; } } if (TerritorySiege.isInProgress()) { ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.START), ConfigSystem.getLong("TMEventInterval")); return; } ZoneManager.getInstance().getZoneById(L2Zone.ZoneType.peace_zone, 4600, false).setActive(false); playerWin = false; allMobs.clear(); Announcements.getInstance().announceToAll("Разведчики монстров замечены около Shuttgart! Нужно защитить жителей!"); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.TIME1), ConfigSystem.getLong("TMTime1")); break; case TIME1: mobs.clear(); Announcements.getInstance().announceToAll("Монстры атакуют ворота Shuttgart! Нужно защитить жителей!"); for (int i = 0; i < ConfigSystem.getInt("TMWave1Count"); i++) { mobs.add(spawn(87368 + Rnd.get(200), -137176 + Rnd.get(100), -2288, ConfigSystem.getInt("TMWave1"))); } for (int i = 0; i < ConfigSystem.getInt("TMWave1Count"); i++) { mobs.add(spawn(92040 + Rnd.get(300), -139512 + Rnd.get(100), -2320, ConfigSystem.getInt("TMWave1"))); } for (int i = 0; i < ConfigSystem.getInt("TMWave1Count"); i++) { mobs.add(spawn(82712 + Rnd.get(300), -139496 + Rnd.get(100), -2288, ConfigSystem.getInt("TMWave1"))); } allMobs.addAll(mobs); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.DESPAWN, mobs.clone()), ConfigSystem.getLong("TMMobLife")); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.END), ConfigSystem.getLong("TMTime1") + ConfigSystem.getLong("TMTime2") + ConfigSystem.getLong("TMTime3") + ConfigSystem.getLong("TMTime4") + ConfigSystem.getLong("TMTime5") + ConfigSystem.getLong("TMTime6") + ConfigSystem.getLong("BossLifeTime")); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.TIME2), ConfigSystem.getLong("TMTime2")); break; case TIME2: mobs.clear(); for (int i = 0; i < ConfigSystem.getInt("TMWave2Count"); i++) { mobs.add(spawn(87586 + Rnd.get(300), -140366, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(87124 + Rnd.get(300), -140399, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(87345 + Rnd.get(300), -140634, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(85309 + Rnd.get(300), -141943, -1495, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(85066 + Rnd.get(300), -141654, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(84979 + Rnd.get(300), -141423, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(84951 + Rnd.get(300), -141875, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(89619 + Rnd.get(300), -141752, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(89398 + Rnd.get(300), -141956, -1487, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(89677 + Rnd.get(300), -141866, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(89712 + Rnd.get(300), -141388, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(87596 + Rnd.get(300), -140366, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(87134 + Rnd.get(300), -140399, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(87355 + Rnd.get(300), -140634, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(85319 + Rnd.get(300), -141943, -1495, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(85076 + Rnd.get(300), -141654, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(84989 + Rnd.get(300), -141423, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(84961 + Rnd.get(300), -141875, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(89629 + Rnd.get(300), -141752, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(89388 + Rnd.get(300), -141956, -1487, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(89687 + Rnd.get(300), -141866, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(89722 + Rnd.get(300), -141388, -1541, ConfigSystem.getInt("TMWave2"))); } for (L2NpcInstance mob : mobs) mob.setHeading(40240); allMobs.addAll(mobs); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.DESPAWN, mobs.clone()), ConfigSystem.getLong("TMMobLife")); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.TIME3), ConfigSystem.getLong("TMTime3")); break; case TIME3: Announcements.getInstance().announceToAll("Монстры уже в городе Shuttgart! Нужно защитить жителей!"); mobs.clear(); for (int i = 0; i < ConfigSystem.getInt("TMWave3Count"); i++) { mobs.add(spawn(88887 + Rnd.get(300), -142259, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(88780 + Rnd.get(300), -142220, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(88710 + Rnd.get(300), -142575, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(88503 + Rnd.get(300), -142547, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87168 + Rnd.get(300), -141752, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87313 + Rnd.get(300), -141630, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87434 + Rnd.get(300), -141917, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87204 + Rnd.get(300), -142156, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(86277 + Rnd.get(300), -142634, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(86180 + Rnd.get(300), -142421, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(85908 + Rnd.get(300), -142485, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(85943 + Rnd.get(300), -142266, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(88897 + Rnd.get(300), -142259, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(88790 + Rnd.get(300), -142220, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(88720 + Rnd.get(300), -142575, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(88513 + Rnd.get(300), -142547, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87178 + Rnd.get(300), -141752, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87323 + Rnd.get(300), -141630, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87444 + Rnd.get(300), -141917, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87214 + Rnd.get(300), -142156, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(86287 + Rnd.get(300), -142634, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(86190 + Rnd.get(300), -142421, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(85918 + Rnd.get(300), -142485, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(85953 + Rnd.get(300), -142266, -1340, ConfigSystem.getInt("TMWave3"))); } for (L2NpcInstance mob : mobs) mob.setHeading(40240); allMobs.addAll(mobs); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.DESPAWN, mobs.clone()), ConfigSystem.getLong("TMMobLife")); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.TIME4), ConfigSystem.getLong("TMTime4")); break; case TIME4: Announcements.getInstance().announceToAll("Монстры захватили главную площaдь Shuttgart! Нужно защитить жителей!"); mobs.clear(); for (int i = 0; i < ConfigSystem.getInt("TMWave4Count"); i++) { mobs.add(spawn(87168 + Rnd.get(300), -141752, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87313 + Rnd.get(300), -141630, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87434 + Rnd.get(300), -141917, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87204 + Rnd.get(300), -142156, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87955 + Rnd.get(300), -142804, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87956 + Rnd.get(300), -142608, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87642 + Rnd.get(300), -142589, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87402 + Rnd.get(300), -142651, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87261 + Rnd.get(300), -142558, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87010 + Rnd.get(300), -142625, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(86771 + Rnd.get(300), -142818, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87178 + Rnd.get(300), -141752, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87323 + Rnd.get(300), -141630, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87444 + Rnd.get(300), -141917, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87214 + Rnd.get(300), -142156, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87965 + Rnd.get(300), -142804, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87966 + Rnd.get(300), -142608, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87652 + Rnd.get(300), -142589, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87412 + Rnd.get(300), -142651, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87271 + Rnd.get(300), -142558, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87020 + Rnd.get(300), -142625, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(86781 + Rnd.get(300), -142818, -1340, ConfigSystem.getInt("TMWave4"))); } for (L2NpcInstance mob : mobs) mob.setHeading(40240); allMobs.addAll(mobs); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.DESPAWN, mobs.clone()), ConfigSystem.getLong("TMMobLife")); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.TIME5), ConfigSystem.getLong("TMTime5")); break; case TIME5: Announcements.getInstance().announceToAll("Монстры прорываются в церковь Shuttgart! Нужно защитить жителей!"); mobs.clear(); for (int i = 0; i < ConfigSystem.getInt("TMWave5Count"); i++) { mobs.add(spawn(87505 + Rnd.get(300), -143049, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87236 + Rnd.get(300), -142939, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87202 + Rnd.get(300), -143257, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87466 + Rnd.get(300), -143269, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87426 + Rnd.get(300), -143537, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87313 + Rnd.get(300), -143461, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87358 + Rnd.get(300), -143878, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87353 + Rnd.get(300), -144076, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87350 + Rnd.get(300), -144355, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87955 + Rnd.get(300), -142804, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87956 + Rnd.get(300), -142608, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87642 + Rnd.get(300), -142589, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87402 + Rnd.get(300), -142651, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87515 + Rnd.get(300), -143049, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87236 + Rnd.get(300), -142939, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87212 + Rnd.get(300), -143257, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87476 + Rnd.get(300), -143269, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87436 + Rnd.get(300), -143537, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87323 + Rnd.get(300), -143461, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87368 + Rnd.get(300), -143878, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87363 + Rnd.get(300), -144076, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87360 + Rnd.get(300), -144355, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87965 + Rnd.get(300), -142804, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87966 + Rnd.get(300), -142608, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87652 + Rnd.get(300), -142589, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87412 + Rnd.get(300), -142651, -1340, ConfigSystem.getInt("TMWave4"))); } for (L2NpcInstance mob : mobs) mob.setHeading(40240); allMobs.addAll(mobs); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.DESPAWN, mobs.clone()), ConfigSystem.getLong("TMMobLife")); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.TIME6), ConfigSystem.getLong("TMTime6")); break; case TIME6: Announcements.getInstance().announceToAll("Предводитель монстров и его свита захватили церковь Shuttgart! Нужно защитить жителей!"); mobs.clear(); for (int i = 0; i < ConfigSystem.getInt("TMWave6Count"); i++) { mobs.add(spawn(87466 + Rnd.get(100), -143269, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87426 + Rnd.get(100), -143537, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87313 + Rnd.get(100), -143461, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87358 + Rnd.get(100), -143878, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87353 + Rnd.get(100), -144076, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87350 + Rnd.get(100), -144355, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87394 + Rnd.get(100), -144725, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87329 + Rnd.get(100), -144734, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87361 + Rnd.get(100), -144651, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87511 + Rnd.get(100), -144964, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87390 + Rnd.get(100), -144697, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87276 + Rnd.get(100), -145006, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87114 + Rnd.get(100), -145285, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87378 + Rnd.get(100), -145255, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87575 + Rnd.get(100), -145295, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87476 + Rnd.get(100), -143269, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87436 + Rnd.get(100), -143537, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87323 + Rnd.get(100), -143461, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87368 + Rnd.get(100), -143878, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87363 + Rnd.get(100), -144076, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87360 + Rnd.get(100), -144355, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87384 + Rnd.get(100), -144725, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87352 + Rnd.get(100), -144734, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87371 + Rnd.get(100), -144651, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87521 + Rnd.get(100), -144964, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87380 + Rnd.get(100), -144856, -1288, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87286 + Rnd.get(100), -145006, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87124 + Rnd.get(100), -145285, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87388 + Rnd.get(100), -145255, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87585 + Rnd.get(100), -145295, -1292, ConfigSystem.getInt("TMWave6"))); } for (L2NpcInstance mob : mobs) mob.setHeading(40240); allMobs.addAll(mobs); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.DESPAWN, mobs.clone()), ConfigSystem.getLong("TMMobLife")); mobs.clear(); mobs.add(spawn(87362, -145640, -1292, ConfigSystem.getInt("TMBoss"))); allMobs.addAll(mobs); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.DESPAWN, mobs.clone()), ConfigSystem.getLong("BossLifeTime")); break; case DESPAWN: for (L2NpcInstance npc : mb) { if (npc != null) npc.deleteMe(); } break; case END: if (!playerWin) Announcements.getInstance().announceToAll("Игроки не сумели защитить город, Shuttgart был разграблен монстрами!"); ZoneManager.getInstance().getZoneById(L2Zone.ZoneType.peace_zone, 4600, false).setActive(true); if (ConfigSystem.getLong("TMEventInterval") > 0) ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.START), ConfigSystem.getLong("TMEventInterval")); } } } public static void OnDie(L2Character self, L2Character killer) { if (self.getNpcId() == ConfigSystem.getInt("TMBoss")) { Announcements.getInstance().announceToAll("Главарь монстров повержен, игрок " + killer.getName() + " нанес последний удар!"); Announcements.getInstance().announceToAll("Монстры отступают!"); for (L2NpcInstance npc : allMobs) { if (npc != null) { npc.deleteMe(); } } if (killer.isPlayer()) { for (int i = 0; i < ConfigSystem.getIntArray("TMItem").length; i++) { if (Rnd.get(100) < ConfigSystem.getIntArray("TMItemChanceBoss")[i] && ConfigSystem.getIntArray("TMItemColBoss")[i] > 0) { L2Player player = (L2Player) killer; player.getInventory().addItem(ConfigSystem.getIntArray("TMItem")[i], ConfigSystem.getIntArray("TMItemColBoss")[i]); if (ConfigSystem.getIntArray("TMItem")[i] == 57) player.sendPacket(new SystemMessage(SystemMessage.YOU_HAVE_OBTAINED_S1_ADENA).addNumber(ConfigSystem.getIntArray("TMItemColBoss")[i])); else if (ConfigSystem.getIntArray("TMItemColBoss")[i] == 1) { final SystemMessage smsg = new SystemMessage(SystemMessage.YOU_HAVE_OBTAINED_S1); smsg.addItemName(ConfigSystem.getIntArray("TMItem")[i]); player.sendPacket(smsg); } else { final SystemMessage smsg = new SystemMessage(SystemMessage.YOU_HAVE_OBTAINED_S2_S1); smsg.addItemName(ConfigSystem.getIntArray("TMItem")[i]); smsg.addNumber(ConfigSystem.getIntArray("TMItemColBoss")[i]); player.sendPacket(smsg); } } } } playerWin = true; } else if (self.getNpcId() == ConfigSystem.getInt("TMWave1") || self.getNpcId() == ConfigSystem.getInt("TMWave2") || self.getNpcId() == ConfigSystem.getInt("TMWave3") || self.getNpcId() == ConfigSystem.getInt("TMWave4") || self.getNpcId() == ConfigSystem.getInt("TMWave5") || self.getNpcId() == ConfigSystem.getInt("TMWave6")) { if (killer.isPlayer()) { for (int i = 0; i < ConfigSystem.getIntArray("TMItem").length; i++) { if (Rnd.get(100) < ConfigSystem.getIntArray("TMItemChance")[i] && ConfigSystem.getIntArray("TMItemCol")[i] > 0) { L2Player player = (L2Player) killer; player.getInventory().addItem(ConfigSystem.getIntArray("TMItem")[i], ConfigSystem.getIntArray("TMItemCol")[i]); if (ConfigSystem.getIntArray("TMItem")[i] == 57) player.sendPacket(new SystemMessage(SystemMessage.YOU_HAVE_OBTAINED_S1_ADENA).addNumber(ConfigSystem.getIntArray("TMItemCol")[i])); else if (ConfigSystem.getIntArray("TMItemCol")[i] == 1) { final SystemMessage smsg = new SystemMessage(SystemMessage.YOU_HAVE_OBTAINED_S1); smsg.addItemName(ConfigSystem.getIntArray("TMItem")[i]); player.sendPacket(smsg); } else { final SystemMessage smsg = new SystemMessage(SystemMessage.YOU_HAVE_OBTAINED_S2_S1); smsg.addItemName(ConfigSystem.getIntArray("TMItem")[i]); smsg.addNumber(ConfigSystem.getIntArray("TMItemCol")[i]); player.sendPacket(smsg); } } } } } } public static void OnPlayerEnter(L2Player player) { if (ConfigSystem.getBoolean("TMEnabled")) Announcements.getInstance().announceToPlayerByCustomMessage(player, "scripts.events.TestMove.enter", null); } @Override public void onLoad() { if (ConfigSystem.getBoolean("TMEnabled")) { Calendar cal = Calendar.getInstance(); cal.set(Calendar.HOUR_OF_DAY, ConfigSystem.getInt("TMStartHour")); cal.set(Calendar.MINUTE, ConfigSystem.getInt("TMStartMin")); cal.set(Calendar.SECOND, 0); while (cal.getTimeInMillis() < System.currentTimeMillis()) cal.add(Calendar.DAY_OF_YEAR, 1); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.START), cal.getTimeInMillis() - System.currentTimeMillis()); } } @Override public void onReload() { } @Override public void onShutdown() { } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
aQuaRelle 66 Опубликовано 17 апреля, 2013 Сделай копию моба и не парь себе мозги. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BrainEater 217 Опубликовано 17 апреля, 2013 Сделай копию моба и не парь себе мозги. Плюсану. Береш моба, с понравившейся внешностью, создаем нового моба и даем ему темплейт понравившегося. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
gvb 666 Опубликовано 17 апреля, 2013 Всем привет, столкнулся с проблемкой: есть ивент в котором мобы нападают на город и с них дропаются итемы, которые я укажу в конфиге, все работает нормально, но нужно бы сделать так, чтобы дроп с этих мобов был только тогда, когда начнется ивент т.е. к примеру у меня эти мобы из инстанса фреи, так вот если идти к фрее и убивать этих мобов то дропаются итемы настроенные для ивента. Вот код ивента: package events.TestMove; import l2md.common.ThreadPoolManager; import l2md.config.ConfigSystem; import l2md.extensions.scripts.Functions; import l2md.extensions.scripts.ScriptFile; import l2md.gameserver.Announcements; import l2md.gameserver.instancemanager.CastleManager; import l2md.gameserver.instancemanager.ZoneManager; import l2md.gameserver.model.L2Character; import l2md.gameserver.model.L2Player; import l2md.gameserver.model.L2Zone; import l2md.gameserver.model.entity.residence.Castle; import l2md.gameserver.model.entity.siege.territory.TerritorySiege; import l2md.gameserver.model.instances.L2NpcInstance; import l2md.gameserver.serverpackets.SystemMessage; import l2md.util.Rnd; import java.util.ArrayList; import java.util.Calendar; /** * @author : Ragnarok * @modification : Nano * @date : 15.12.10 19:27 */ public class TestMove extends Functions implements ScriptFile { private static ArrayList mobs = new ArrayList(); private static ArrayList allMobs = new ArrayList(); private static boolean playerWin = false; private enum EventTaskState { START, END, TIME1, TIME2, TIME3, TIME4, TIME5, TIME6, DESPAWN } private class EventTask implements Runnable { EventTaskState state; ArrayList mb; public EventTask(EventTaskState state) { this.state = state; } public EventTask(EventTaskState state, Object clone) { this.state = state; this.mb = (ArrayList) clone; } @Override public void run() { switch (state) { case START: for (Castle castle : CastleManager.getInstance().getCastles().values()) { if (castle.getSiege() != null && castle.getSiege().isInProgress()) { ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.START), ConfigSystem.getLong("TMEventInterval")); return; } } if (TerritorySiege.isInProgress()) { ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.START), ConfigSystem.getLong("TMEventInterval")); return; } ZoneManager.getInstance().getZoneById(L2Zone.ZoneType.peace_zone, 4600, false).setActive(false); playerWin = false; allMobs.clear(); Announcements.getInstance().announceToAll("Разведчики монстров замечены около Shuttgart! Нужно защитить жителей!"); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.TIME1), ConfigSystem.getLong("TMTime1")); break; case TIME1: mobs.clear(); Announcements.getInstance().announceToAll("Монстры атакуют ворота Shuttgart! Нужно защитить жителей!"); for (int i = 0; i < ConfigSystem.getInt("TMWave1Count"); i++) { mobs.add(spawn(87368 + Rnd.get(200), -137176 + Rnd.get(100), -2288, ConfigSystem.getInt("TMWave1"))); } for (int i = 0; i < ConfigSystem.getInt("TMWave1Count"); i++) { mobs.add(spawn(92040 + Rnd.get(300), -139512 + Rnd.get(100), -2320, ConfigSystem.getInt("TMWave1"))); } for (int i = 0; i < ConfigSystem.getInt("TMWave1Count"); i++) { mobs.add(spawn(82712 + Rnd.get(300), -139496 + Rnd.get(100), -2288, ConfigSystem.getInt("TMWave1"))); } allMobs.addAll(mobs); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.DESPAWN, mobs.clone()), ConfigSystem.getLong("TMMobLife")); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.END), ConfigSystem.getLong("TMTime1") + ConfigSystem.getLong("TMTime2") + ConfigSystem.getLong("TMTime3") + ConfigSystem.getLong("TMTime4") + ConfigSystem.getLong("TMTime5") + ConfigSystem.getLong("TMTime6") + ConfigSystem.getLong("BossLifeTime")); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.TIME2), ConfigSystem.getLong("TMTime2")); break; case TIME2: mobs.clear(); for (int i = 0; i < ConfigSystem.getInt("TMWave2Count"); i++) { mobs.add(spawn(87586 + Rnd.get(300), -140366, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(87124 + Rnd.get(300), -140399, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(87345 + Rnd.get(300), -140634, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(85309 + Rnd.get(300), -141943, -1495, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(85066 + Rnd.get(300), -141654, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(84979 + Rnd.get(300), -141423, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(84951 + Rnd.get(300), -141875, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(89619 + Rnd.get(300), -141752, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(89398 + Rnd.get(300), -141956, -1487, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(89677 + Rnd.get(300), -141866, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(89712 + Rnd.get(300), -141388, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(87596 + Rnd.get(300), -140366, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(87134 + Rnd.get(300), -140399, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(87355 + Rnd.get(300), -140634, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(85319 + Rnd.get(300), -141943, -1495, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(85076 + Rnd.get(300), -141654, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(84989 + Rnd.get(300), -141423, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(84961 + Rnd.get(300), -141875, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(89629 + Rnd.get(300), -141752, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(89388 + Rnd.get(300), -141956, -1487, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(89687 + Rnd.get(300), -141866, -1541, ConfigSystem.getInt("TMWave2"))); mobs.add(spawn(89722 + Rnd.get(300), -141388, -1541, ConfigSystem.getInt("TMWave2"))); } for (L2NpcInstance mob : mobs) mob.setHeading(40240); allMobs.addAll(mobs); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.DESPAWN, mobs.clone()), ConfigSystem.getLong("TMMobLife")); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.TIME3), ConfigSystem.getLong("TMTime3")); break; case TIME3: Announcements.getInstance().announceToAll("Монстры уже в городе Shuttgart! Нужно защитить жителей!"); mobs.clear(); for (int i = 0; i < ConfigSystem.getInt("TMWave3Count"); i++) { mobs.add(spawn(88887 + Rnd.get(300), -142259, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(88780 + Rnd.get(300), -142220, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(88710 + Rnd.get(300), -142575, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(88503 + Rnd.get(300), -142547, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87168 + Rnd.get(300), -141752, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87313 + Rnd.get(300), -141630, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87434 + Rnd.get(300), -141917, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87204 + Rnd.get(300), -142156, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(86277 + Rnd.get(300), -142634, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(86180 + Rnd.get(300), -142421, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(85908 + Rnd.get(300), -142485, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(85943 + Rnd.get(300), -142266, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(88897 + Rnd.get(300), -142259, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(88790 + Rnd.get(300), -142220, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(88720 + Rnd.get(300), -142575, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(88513 + Rnd.get(300), -142547, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87178 + Rnd.get(300), -141752, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87323 + Rnd.get(300), -141630, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87444 + Rnd.get(300), -141917, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87214 + Rnd.get(300), -142156, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(86287 + Rnd.get(300), -142634, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(86190 + Rnd.get(300), -142421, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(85918 + Rnd.get(300), -142485, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(85953 + Rnd.get(300), -142266, -1340, ConfigSystem.getInt("TMWave3"))); } for (L2NpcInstance mob : mobs) mob.setHeading(40240); allMobs.addAll(mobs); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.DESPAWN, mobs.clone()), ConfigSystem.getLong("TMMobLife")); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.TIME4), ConfigSystem.getLong("TMTime4")); break; case TIME4: Announcements.getInstance().announceToAll("Монстры захватили главную площaдь Shuttgart! Нужно защитить жителей!"); mobs.clear(); for (int i = 0; i < ConfigSystem.getInt("TMWave4Count"); i++) { mobs.add(spawn(87168 + Rnd.get(300), -141752, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87313 + Rnd.get(300), -141630, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87434 + Rnd.get(300), -141917, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87204 + Rnd.get(300), -142156, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87955 + Rnd.get(300), -142804, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87956 + Rnd.get(300), -142608, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87642 + Rnd.get(300), -142589, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87402 + Rnd.get(300), -142651, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87261 + Rnd.get(300), -142558, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87010 + Rnd.get(300), -142625, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(86771 + Rnd.get(300), -142818, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87178 + Rnd.get(300), -141752, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87323 + Rnd.get(300), -141630, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87444 + Rnd.get(300), -141917, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87214 + Rnd.get(300), -142156, -1340, ConfigSystem.getInt("TMWave3"))); mobs.add(spawn(87965 + Rnd.get(300), -142804, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87966 + Rnd.get(300), -142608, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87652 + Rnd.get(300), -142589, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87412 + Rnd.get(300), -142651, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87271 + Rnd.get(300), -142558, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87020 + Rnd.get(300), -142625, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(86781 + Rnd.get(300), -142818, -1340, ConfigSystem.getInt("TMWave4"))); } for (L2NpcInstance mob : mobs) mob.setHeading(40240); allMobs.addAll(mobs); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.DESPAWN, mobs.clone()), ConfigSystem.getLong("TMMobLife")); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.TIME5), ConfigSystem.getLong("TMTime5")); break; case TIME5: Announcements.getInstance().announceToAll("Монстры прорываются в церковь Shuttgart! Нужно защитить жителей!"); mobs.clear(); for (int i = 0; i < ConfigSystem.getInt("TMWave5Count"); i++) { mobs.add(spawn(87505 + Rnd.get(300), -143049, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87236 + Rnd.get(300), -142939, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87202 + Rnd.get(300), -143257, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87466 + Rnd.get(300), -143269, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87426 + Rnd.get(300), -143537, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87313 + Rnd.get(300), -143461, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87358 + Rnd.get(300), -143878, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87353 + Rnd.get(300), -144076, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87350 + Rnd.get(300), -144355, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87955 + Rnd.get(300), -142804, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87956 + Rnd.get(300), -142608, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87642 + Rnd.get(300), -142589, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87402 + Rnd.get(300), -142651, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87515 + Rnd.get(300), -143049, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87236 + Rnd.get(300), -142939, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87212 + Rnd.get(300), -143257, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87476 + Rnd.get(300), -143269, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87436 + Rnd.get(300), -143537, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87323 + Rnd.get(300), -143461, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87368 + Rnd.get(300), -143878, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87363 + Rnd.get(300), -144076, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87360 + Rnd.get(300), -144355, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87965 + Rnd.get(300), -142804, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87966 + Rnd.get(300), -142608, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87652 + Rnd.get(300), -142589, -1340, ConfigSystem.getInt("TMWave4"))); mobs.add(spawn(87412 + Rnd.get(300), -142651, -1340, ConfigSystem.getInt("TMWave4"))); } for (L2NpcInstance mob : mobs) mob.setHeading(40240); allMobs.addAll(mobs); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.DESPAWN, mobs.clone()), ConfigSystem.getLong("TMMobLife")); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.TIME6), ConfigSystem.getLong("TMTime6")); break; case TIME6: Announcements.getInstance().announceToAll("Предводитель монстров и его свита захватили церковь Shuttgart! Нужно защитить жителей!"); mobs.clear(); for (int i = 0; i < ConfigSystem.getInt("TMWave6Count"); i++) { mobs.add(spawn(87466 + Rnd.get(100), -143269, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87426 + Rnd.get(100), -143537, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87313 + Rnd.get(100), -143461, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87358 + Rnd.get(100), -143878, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87353 + Rnd.get(100), -144076, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87350 + Rnd.get(100), -144355, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87394 + Rnd.get(100), -144725, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87329 + Rnd.get(100), -144734, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87361 + Rnd.get(100), -144651, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87511 + Rnd.get(100), -144964, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87390 + Rnd.get(100), -144697, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87276 + Rnd.get(100), -145006, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87114 + Rnd.get(100), -145285, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87378 + Rnd.get(100), -145255, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87575 + Rnd.get(100), -145295, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87476 + Rnd.get(100), -143269, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87436 + Rnd.get(100), -143537, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87323 + Rnd.get(100), -143461, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87368 + Rnd.get(100), -143878, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87363 + Rnd.get(100), -144076, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87360 + Rnd.get(100), -144355, -1292, ConfigSystem.getInt("TMWave5"))); mobs.add(spawn(87384 + Rnd.get(100), -144725, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87352 + Rnd.get(100), -144734, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87371 + Rnd.get(100), -144651, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87521 + Rnd.get(100), -144964, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87380 + Rnd.get(100), -144856, -1288, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87286 + Rnd.get(100), -145006, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87124 + Rnd.get(100), -145285, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87388 + Rnd.get(100), -145255, -1292, ConfigSystem.getInt("TMWave6"))); mobs.add(spawn(87585 + Rnd.get(100), -145295, -1292, ConfigSystem.getInt("TMWave6"))); } for (L2NpcInstance mob : mobs) mob.setHeading(40240); allMobs.addAll(mobs); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.DESPAWN, mobs.clone()), ConfigSystem.getLong("TMMobLife")); mobs.clear(); mobs.add(spawn(87362, -145640, -1292, ConfigSystem.getInt("TMBoss"))); allMobs.addAll(mobs); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.DESPAWN, mobs.clone()), ConfigSystem.getLong("BossLifeTime")); break; case DESPAWN: for (L2NpcInstance npc : mb) { if (npc != null) npc.deleteMe(); } break; case END: if (!playerWin) Announcements.getInstance().announceToAll("Игроки не сумели защитить город, Shuttgart был разграблен монстрами!"); ZoneManager.getInstance().getZoneById(L2Zone.ZoneType.peace_zone, 4600, false).setActive(true); if (ConfigSystem.getLong("TMEventInterval") > 0) ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.START), ConfigSystem.getLong("TMEventInterval")); } } } public static void OnDie(L2Character self, L2Character killer) { if (self.getNpcId() == ConfigSystem.getInt("TMBoss")) { Announcements.getInstance().announceToAll("Главарь монстров повержен, игрок " + killer.getName() + " нанес последний удар!"); Announcements.getInstance().announceToAll("Монстры отступают!"); for (L2NpcInstance npc : allMobs) { if (npc != null) { npc.deleteMe(); } } if (killer.isPlayer()) { for (int i = 0; i < ConfigSystem.getIntArray("TMItem").length; i++) { if (Rnd.get(100) < ConfigSystem.getIntArray("TMItemChanceBoss")[i] && ConfigSystem.getIntArray("TMItemColBoss")[i] > 0) { L2Player player = (L2Player) killer; player.getInventory().addItem(ConfigSystem.getIntArray("TMItem")[i], ConfigSystem.getIntArray("TMItemColBoss")[i]); if (ConfigSystem.getIntArray("TMItem")[i] == 57) player.sendPacket(new SystemMessage(SystemMessage.YOU_HAVE_OBTAINED_S1_ADENA).addNumber(ConfigSystem.getIntArray("TMItemColBoss")[i])); else if (ConfigSystem.getIntArray("TMItemColBoss")[i] == 1) { final SystemMessage smsg = new SystemMessage(SystemMessage.YOU_HAVE_OBTAINED_S1); smsg.addItemName(ConfigSystem.getIntArray("TMItem")[i]); player.sendPacket(smsg); } else { final SystemMessage smsg = new SystemMessage(SystemMessage.YOU_HAVE_OBTAINED_S2_S1); smsg.addItemName(ConfigSystem.getIntArray("TMItem")[i]); smsg.addNumber(ConfigSystem.getIntArray("TMItemColBoss")[i]); player.sendPacket(smsg); } } } } playerWin = true; } else if (self.getNpcId() == ConfigSystem.getInt("TMWave1") || self.getNpcId() == ConfigSystem.getInt("TMWave2") || self.getNpcId() == ConfigSystem.getInt("TMWave3") || self.getNpcId() == ConfigSystem.getInt("TMWave4") || self.getNpcId() == ConfigSystem.getInt("TMWave5") || self.getNpcId() == ConfigSystem.getInt("TMWave6")) { if (killer.isPlayer()) { for (int i = 0; i < ConfigSystem.getIntArray("TMItem").length; i++) { if (Rnd.get(100) < ConfigSystem.getIntArray("TMItemChance")[i] && ConfigSystem.getIntArray("TMItemCol")[i] > 0) { L2Player player = (L2Player) killer; player.getInventory().addItem(ConfigSystem.getIntArray("TMItem")[i], ConfigSystem.getIntArray("TMItemCol")[i]); if (ConfigSystem.getIntArray("TMItem")[i] == 57) player.sendPacket(new SystemMessage(SystemMessage.YOU_HAVE_OBTAINED_S1_ADENA).addNumber(ConfigSystem.getIntArray("TMItemCol")[i])); else if (ConfigSystem.getIntArray("TMItemCol")[i] == 1) { final SystemMessage smsg = new SystemMessage(SystemMessage.YOU_HAVE_OBTAINED_S1); smsg.addItemName(ConfigSystem.getIntArray("TMItem")[i]); player.sendPacket(smsg); } else { final SystemMessage smsg = new SystemMessage(SystemMessage.YOU_HAVE_OBTAINED_S2_S1); smsg.addItemName(ConfigSystem.getIntArray("TMItem")[i]); smsg.addNumber(ConfigSystem.getIntArray("TMItemCol")[i]); player.sendPacket(smsg); } } } } } } public static void OnPlayerEnter(L2Player player) { if (ConfigSystem.getBoolean("TMEnabled")) Announcements.getInstance().announceToPlayerByCustomMessage(player, "scripts.events.TestMove.enter", null); } @Override public void onLoad() { if (ConfigSystem.getBoolean("TMEnabled")) { Calendar cal = Calendar.getInstance(); cal.set(Calendar.HOUR_OF_DAY, ConfigSystem.getInt("TMStartHour")); cal.set(Calendar.MINUTE, ConfigSystem.getInt("TMStartMin")); cal.set(Calendar.SECOND, 0); while (cal.getTimeInMillis() < System.currentTimeMillis()) cal.add(Calendar.DAY_OF_YEAR, 1); ThreadPoolManager.getInstance().scheduleGeneral(new EventTask(EventTaskState.START), cal.getTimeInMillis() - System.currentTimeMillis()); } } @Override public void onReload() { } @Override public void onShutdown() { } } Возьми в базе, выдели моба и копируй и вставь и только ИД поменяю и в код вставь ид моба(Вуаля) 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 17 апреля, 2013 Ну это я знаю, просто не хотелось бы так) И еще тогда вопросик: вот я сделал так, в игре у моба ник отображается с базы, но когда бьёшь его или он тебя то пишет none нанес вам столько то урона (в NpcName.dat добавил моба). Что еще нужно сделать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
BrainEater 217 Опубликовано 17 апреля, 2013 В npcgrp вроде еще надо) хотя не помню Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты