Перейти к содержанию
Авторизация  
CalypsoToolz

Дроп (Ивент)

Рекомендуемые сообщения

Всем привет, столкнулся с проблемкой: есть ивент в котором мобы нападают на город и с них дропаются итемы, которые я укажу в конфиге, все работает нормально, но нужно бы сделать так, чтобы дроп с этих мобов был только тогда, когда начнется ивент т.е. к примеру у меня эти мобы из инстанса фреи, так вот если идти к фрее и убивать этих мобов то дропаются итемы настроенные для ивента.

Вот код ивента:

 

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() {

}
}

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделай копию моба и не парь себе мозги.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделай копию моба и не парь себе мозги.

 

Плюсану.

 

Береш моба, с понравившейся внешностью, создаем нового моба и даем ему темплейт понравившегося.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет, столкнулся с проблемкой: есть ивент в котором мобы нападают на город и с них дропаются итемы, которые я укажу в конфиге, все работает нормально, но нужно бы сделать так, чтобы дроп с этих мобов был только тогда, когда начнется ивент т.е. к примеру у меня эти мобы из инстанса фреи, так вот если идти к фрее и убивать этих мобов то дропаются итемы настроенные для ивента.

Вот код ивента:

 

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() {

}
}

 

 

 

Возьми в базе, выдели моба и копируй и вставь и только ИД поменяю и в код вставь ид моба(Вуаля)

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну это я знаю, просто не хотелось бы так) И еще тогда вопросик: вот я сделал так, в игре у моба ник отображается с базы, но когда бьёшь его или он тебя то пишет none нанес вам столько то урона (в NpcName.dat добавил моба). Что еще нужно сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...