Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Java (https://forum.zone-game.info/forumdisplay.php?f=126)
-   -   Задержка выполнения цыкла (https://forum.zone-game.info/showthread.php?t=16420)

ANZO 25.10.2011 17:58

Re: Задержка выполнения цыкла
 
P.S:
Код:

ScheduledFuture<?> Task = ThreadPoolManager.getInstance().scheduleGeneral(new RunnableTask(), Interval);
Подгоняйте под методы

Wolfas 25.10.2011 18:11

Re: Задержка выполнения цыкла
 
Уже учитывался но так и не понял, как мне после задержки запустить:


public void run(Player admin, String[] params)
{
}

ANZO 25.10.2011 18:17

Re: Задержка выполнения цыкла
 
Выполняйте в теле RunnableTask() этот метод и будет Вам счастье. Уже бы давно разобрались, если бы почитали литературу, коей уйма на просторах Сети.
Важно понимать что Вы делаете не задержку как таковую а запланированное задание, которые выполняется через interval миллисекунд.

bloodshed 25.10.2011 18:21

Re: Задержка выполнения цыкла
 
Код:

private final class SpeedRecoverTask implements Runnable
{
        // тут у вас не L2Player будет наверно, замените
        private final L2Player _admin;
       
        private SpeedRecoverTask(final L2Player admin)
        {
                _admin = admin;
        }               
       
        @Override
        public void run()
        {
                // тут пишите то, что хотите делать с _admin'ом
                _admin.getGameStats().setStat(StatEnum.SPEED, 6000);
                PacketSendUtility.broadcastPacket(_admin, new SM_EMOTION(_admin, EmotionType.START_EMOTE2, 0, 0), true);
                PacketSendUtility.sendMessage(_admin, "Скорость востановлена.");
        }               
}

Вставишь это после TeleportService.teleportTo(admin, 600010000, 831, 1040, 325, 7500); как я понял
Код:

// собственно запустит SpeedRecoverTask через время delay (в миллисекундах)
ThreadPoolManager.getInstance().scheduleGeneral(new SpeedRecoverTask(admin), delay);

Доп проверки запилите сами если нужны.

Wolfas 26.10.2011 00:34

Re: Задержка выполнения цыкла
 
Цитата:

Сообщение от bloodshed (Сообщение 145338)
Код:

private final class SpeedRecoverTask implements Runnable
{
        // тут у вас не L2Player будет наверно, замените
        private final L2Player _admin;
       
        private SpeedRecoverTask(final L2Player admin)
        {
                _admin = admin;
        }               
       
        @Override
        public void run()
        {
                // тут пишите то, что хотите делать с _admin'ом
                _admin.getGameStats().setStat(StatEnum.SPEED, 6000);
                PacketSendUtility.broadcastPacket(_admin, new SM_EMOTION(_admin, EmotionType.START_EMOTE2, 0, 0), true);
                PacketSendUtility.sendMessage(_admin, "Скорость востановлена.");
        }               
}

Вставишь это после TeleportService.teleportTo(admin, 600010000, 831, 1040, 325, 7500); как я понял
Код:

// собственно запустит SpeedRecoverTask через время delay (в миллисекундах)
ThreadPoolManager.getInstance().scheduleGeneral(new SpeedRecoverTask(admin), delay);

Доп проверки запилите сами если нужны.

Спасибо огромнейшее, вот это да вот это и есть помощь, всё прекрасно работает)

ANZO 26.10.2011 00:46

Re: Задержка выполнения цыкла
 
Вам как бы уже по-ходу темы раз 5 почти до конца разжевавши код кидали. Научитесь учиться.

bloodshed 26.10.2011 01:30

Re: Задержка выполнения цыкла
 
Цитата:

Сообщение от Wolfas (Сообщение 145440)
Спасибо огромнейшее, вот это да вот это и есть помощь, всё прекрасно работает)

это не помощь, это за вас всё сделали.

Wolfas 26.10.2011 05:33

Re: Задержка выполнения цыкла
 
Цитата:

Сообщение от bloodshed (Сообщение 145445)
это не помощь, это за вас всё сделали.

Ну да, верно, но разве это не помощь сделать за человека то что он сам не может или на что убьёт очень много времени.

bloodshed 26.10.2011 07:24

Re: Задержка выполнения цыкла
 
Цитата:

Сообщение от Wolfas (Сообщение 145455)
Ну да, верно, но разве это не помощь сделать за человека то что он сам не может или на что убьёт очень много времени.

Я считаю что человека лучше научить, чем делать за него.
Примеры вам писали, ссылки давали. Чтобы написать то, что я выше написал, нужно минут 5-10 чтоб прочитать и понять.

Wolfas 26.10.2011 16:06

Re: Задержка выполнения цыкла
 
Цитата:

Сообщение от bloodshed (Сообщение 145458)
Я считаю что человека лучше научить, чем делать за него.
Примеры вам писали, ссылки давали. Чтобы написать то, что я выше написал, нужно минут 5-10 чтоб прочитать и понять.

Да лучше, но я сутки на разбор потратил, видно читал не то.
Дайте почитать, если не трудно конкретно нормальную статью об этом.


Текущее время: 18:55. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot