SambukaRes 0 Опубликовано 5 апреля, 2020 Стоят у меня пару рб по определенному времени, я взял этот же код только поменял респ и id рб ,но он так и не появился,в чем проблема может быть? Сборка PW package ai; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.concurrent.TimeUnit; import net.sf.l2j.gameserver.Announcements; import net.sf.l2j.gameserver.ThreadPoolManager; import net.sf.l2j.gameserver.datatables.NpcTable; import net.sf.l2j.gameserver.model.L2Spawn; import net.sf.l2j.util.Location; import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.quest.Quest; import net.sf.l2j.gameserver.templates.L2NpcTemplate; import net.sf.l2j.util.Rnd; @SuppressWarnings("all") public class RaidExcl extends Quest { //ид босса private final static int BOSS_ID = 29065; //время спавна private final static String TIME = "20:15"; //разброс, минуты private final static int RANGE = 1; //интервал появления, часы private final static int INTERVAL = 2; //координаты private final static String LOCATION = "112831,-76032,12"; // private static boolean _isKilled = false; private static RespawnPoint RESPAWN_POINT; public static class RespawnPoint { public int hour; public int minute; public Location loc; public RespawnPoint(int hour, int minute, Location loc) { this.hour = hour; this.minute = minute; this.loc = loc; } } public RaidExcl(int questId, String name, String descr) { super(questId, name, descr, 1); String[] time = TIME.split(":"); String[] loc = LOCATION.split(","); RESPAWN_POINT = new RespawnPoint(Integer.parseInt(time[0]), Integer.parseInt(time[1]), new Location(Integer.parseInt(loc[0]), Integer.parseInt(loc[1]), Integer.parseInt(loc[2]))); calcNextRespawn(); this.addKillId(BOSS_ID); } public static void main(String... arguments) { new RaidExcl(8084, "RaidRespawn", "Raid Respawn"); } @Override public String onKill(L2NpcInstance npc, L2PcInstance killer, boolean isPet) { _isKilled = true; calcNextRespawn(); Announcements.getInstance().announceToAll("Игрок " + killer.getName() + " нанес последний удар по боссу " + npc.getName() + "!"); return null; } private long convertSecToMinutes(int time) { return TimeUnit.SECONDS.toMillis(time); } private void calcNextRespawn() { int time = (int) getNextRespawn(RESPAWN_POINT.hour, RESPAWN_POINT.minute); int minus = (int) TimeUnit.MINUTES.toSeconds(RANGE); int plus = (int) TimeUnit.MINUTES.toSeconds(RANGE); long next = convertSecToMinutes(Rnd.get(time - minus, time + plus)); ThreadPoolManager.getInstance().scheduleGeneral(new SpawnTask(), next); } private static long getNextRespawn(int hour, int minute) { long next_respawn = 0; Calendar tomorrow = new GregorianCalendar(); Calendar result = new GregorianCalendar( tomorrow.get(Calendar.YEAR), tomorrow.get(Calendar.MONTH), tomorrow.get(Calendar.DATE), hour, minute); next_respawn = result.getTimeInMillis(); next_respawn = next_respawn - System.currentTimeMillis(); if (next_respawn < 0) { next_respawn += TimeUnit.DAYS.toMillis(1); } System.out.println("##RaidRespawn##" + (System.currentTimeMillis() + next_respawn)); return TimeUnit.MILLISECONDS.toSeconds(next_respawn); } public static class SpawnTask implements Runnable { public SpawnTask() { } @Override public void run() { if (_isKilled){ return; } try { L2NpcTemplate template = NpcTable.getInstance().getTemplate(BOSS_ID); L2Spawn spawn = new L2Spawn(template); spawn.setLocx(RESPAWN_POINT.loc.getX()); spawn.setLocy(RESPAWN_POINT.loc.getY()); spawn.setLocz(RESPAWN_POINT.loc.getZ() + 20); spawn.setRespawnDelay(600000); spawn.setHeading(2412); spawn.spawnOne(); spawn.stopRespawn(); Announcements.getInstance().announceToAll("Exclusive Boss появился в мире!"); } catch (Exception e) { System.out.println("##RaidRespawn# can't spawn boss."); } } } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Centro 196 Опубликовано 5 апреля, 2020 Название квеста изменил? в scripts.cfg прописал... ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SambukaRes 0 Опубликовано 5 апреля, 2020 1 минуту назад, Centro сказал: Название квеста изменил? в scripts.cfg прописал... ? эм,нет у меня файла scripts.cfg нету. а какой квест менять? на те рб что то не находил по ним квесты странно Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SambukaRes 0 Опубликовано 5 апреля, 2020 4 минуты назад, Centro сказал: Название квеста изменил? в scripts.cfg прописал... ? скрипт нашел, изменил,а вот квест на према в нем не прописан,значит могу и на второго не делать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Centro 196 Опубликовано 5 апреля, 2020 2 минуты назад, SambukaRes сказал: эм,нет у меня файла scripts.cfg нету. а какой квест менять? на те рб что то не находил по ним квесты странно Ой, я имел ввиду срипта самого который спавнит рейд босса, возможно ты скопировал его и 2 скрипта с одинаковым названием загружается только с разнымы данными Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Centro 196 Опубликовано 5 апреля, 2020 RaidExcl вот это вот, название файла измени например на RaidExcl1 и так же добавь импорт в scripts.cfg Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SambukaRes 0 Опубликовано 5 апреля, 2020 5 минут назад, Centro сказал: Ой, я имел ввиду срипта самого который спавнит рейд босса, возможно ты скопировал его и 2 скрипта с одинаковым названием загружается только с разнымы данными //ид босса private final static int BOSS_ID = 29065; //время спавна private final static String TIME = "20:15"; //разброс, минуты private final static int RANGE = 1; //интервал появления, часы private final static int INTERVAL = 2; spawn.setRespawnDelay(600000); вот тут я поставил я поставил чтобы каждые 2 часа появлялся,а в конце респделей тоже менять или оставить? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SambukaRes 0 Опубликовано 5 апреля, 2020 1 минуту назад, Centro сказал: RaidExcl вот это вот, название файла измени например на RaidExcl1 и так же добавь импорт в scripts.cfg добавил, щас перезапуск сделаю и посмотрю Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты