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

Не появляется рб

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

Стоят у меня пару рб по определенному времени, я взял этот же код только поменял респ и 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.");
            }
        }
    }
}

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


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

Название квеста изменил?

в scripts.cfg прописал... ?

 

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


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, Centro сказал:

Название квеста изменил?

в scripts.cfg прописал... ?

 

эм,нет

у меня файла scripts.cfg нету.

а какой квест менять?

на те рб что то не находил по ним квесты

странно

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


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, Centro сказал:

Название квеста изменил?

в scripts.cfg прописал... ?

 

скрипт нашел, изменил,а вот квест на према в нем не прописан,значит могу и на второго не делать?

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


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, SambukaRes сказал:

эм,нет

у меня файла scripts.cfg нету.

а какой квест менять?

на те рб что то не находил по ним квесты

странно

Ой, я имел ввиду срипта самого который спавнит рейд босса, возможно ты скопировал его и 2 скрипта с одинаковым названием загружается только с разнымы данными

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


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

RaidExcl вот это вот,  название файла измени например на RaidExcl1  и так же добавь импорт в scripts.cfg

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


Ссылка на сообщение
Поделиться на другие сайты
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 часа появлялся,а в конце респделей тоже менять или оставить?

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


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, Centro сказал:

RaidExcl вот это вот,  название файла измени например на RaidExcl1  и так же добавь импорт в scripts.cfg

добавил, щас перезапуск сделаю и посмотрю 

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


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

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

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

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

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

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

Войти

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

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

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

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

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