Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Задержка выполнения цыкла
#1
Доброго времени суток.
В общем суть задачи, необходимо установить задержку выполнения скрипта.

То есть после выполнения одной функции нужна задержка, затем выполнение следующей функции.
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Ответ
#2
Код:
Thread.sleep(millis);

millis - время в миллисекундах
Ответ
#3
О да ) Треды слипать это по мужицки)

P.S:
Код:
ScheduledFuture<?> Task = ThreadPoolManager.getInstance().scheduleGeneral(new RunnableTask(), Interval);

Где RunnableTask() Runnable метод который будет выполняться через Interval - миллисекунд.
Ответ
#4
ANZO Написал:О да ) Треды слипать это по мужицки)

P.S:
Код:
ScheduledFuture<?> Task = ThreadPoolManager.getInstance().scheduleGeneral(new RunnableTask(), Interval);

Где RunnableTask() Runnable метод который будет выполняться через Interval - миллисекунд.

такс, стоп где тема находится в л2 разделе что ли? ты объясни где ему взять тред пул менеджер, если он пишет прогу у него его нет Smile
Ответ
#5
А епт, сорри Big Grin привычка ) Откланиваюсь)
Ответ
#6
hex1r0 Написал:
Код:
Thread.sleep(millis);

millis - время в миллисекундах

Спасибо, но в чистом виде, без указания импортов, и свойств, использовать не возможно, я их не знаю.
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Ответ
#7
Wolfas Написал:Спасибо, но в чистом виде, без указания импортов, и свойств, использовать не возможно, я их не знаю.

Код:
java.lang.Thread
Ответ
#8
Функция нужна для игрового сервера.

Вот таким образом получилось, но по моему она устанавливает паузу не только в в нужной мне функции.
Код:
for (int i = 0; i < 10; i++) {
      try {
        Thread.sleep(750);
      } catch (InterruptedException ie) {
        ie.printStackTrace();
      }
    }
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Ответ
#9
слипать триды на онлайн игровых серверах , как минимум очень глупо. Если конечно у вас играет не более 1 го человека.
Советую перечитай пост Анзо.
Ответ
#10
В общем виде получается вот так:

Код:
if(params[0].toLowerCase().equals("pvp1"))
    {
        if(admin.getAccessLevel() >= AdminConfig.COMMAND_GOTOGM)
        {
            if ((admin.getCommonData().getRace() == Race.ELYOS))
            {
            TeleportService.teleportTo(admin, 600010000, 475, 454, 330, 1000);
            PacketSendUtility.sendMessage(admin, "Вы телепортируетесь в PVP Зону: форт Элийцев.  \n Приятной работы!");
            return;
            }
            if ((admin.getCommonData().getRace() == Race.ASMODIANS))
            {
            TeleportService.teleportTo(admin, 600010000, 478, 1093, 335, 1000);
            PacketSendUtility.sendMessage(admin, "Вы телепортируетесь в PVP Зону: форт Асмодиан.  \n Приятной работы!");
            return;
            }
        }
            if ((admin.getCommonData().getRace() == Race.ELYOS))
            {
            admin.getGameStats().setStat(StatEnum.SPEED, -2500);
            PacketSendUtility.broadcastPacket(admin, new SM_EMOTION(admin, EmotionType.START_EMOTE2, 0, 0), true);
            TeleportService.teleportTo(admin, 600010000, 475, 454, 330, 7500);
            PacketSendUtility.sendMessage(admin, "Вы телепортируетесь в PVP Зону: форт Элийцев.  \n Удачных боёв!");
            for (int i = 0; i < 10; i++) {
      try {
        Thread.sleep(750);
      } catch (InterruptedException ie) {
        ie.printStackTrace();
      }
    }
            admin.getGameStats().setStat(StatEnum.SPEED, 6000);
            PacketSendUtility.broadcastPacket(admin, new SM_EMOTION(admin, EmotionType.START_EMOTE2, 0, 0), true);
            PacketSendUtility.sendMessage(admin, "Скорость востановлена.");
            return;
            }
            if ((admin.getCommonData().getRace() == Race.ASMODIANS))
            {
            admin.getGameStats().setStat(StatEnum.SPEED, -2500);
            PacketSendUtility.broadcastPacket(admin, new SM_EMOTION(admin, EmotionType.START_EMOTE2, 0, 0), true);
            TeleportService.teleportTo(admin, 600010000, 478, 1093, 335, 7500);
            PacketSendUtility.sendMessage(admin, "Вы телепортируетесь в PVP Зону: форт Асмодиан.  \n Удачных боёв!");
            for (int i = 0; i < 10; i++) {
      try {
        Thread.sleep(750);
      } catch (InterruptedException ie) {
        ie.printStackTrace();
      }
    }
            admin.getGameStats().setStat(StatEnum.SPEED, 6000);
            PacketSendUtility.broadcastPacket(admin, new SM_EMOTION(admin, EmotionType.START_EMOTE2, 0, 0), true);
            PacketSendUtility.sendMessage(admin, "Скорость востановлена.");
            return;
            }
    }
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  5-сек-я задержка при нажатии на кнопку Dementor 19 5,092 05-29-2013, 07:57 PM
Последний пост: kingzor

Перейти к форуму:


Пользователи, просматривающие эту тему: 7 Гость(ей)