Сообщений: 320
Тем: 37
Зарегистрирован: Aug 2010
Репутация:
76
Доброго времени суток.
В общем суть задачи, необходимо установить задержку выполнения скрипта.
То есть после выполнения одной функции нужна задержка, затем выполнение следующей функции.
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Сообщений: 438
Тем: 4
Зарегистрирован: Apr 2011
Репутация:
839
Код: Thread.sleep(millis);
millis - время в миллисекундах
Сообщений: 2,303
Тем: 24
Зарегистрирован: Sep 2010
Репутация:
5,617
О да ) Треды слипать это по мужицки)
P.S:
Код: ScheduledFuture<?> Task = ThreadPoolManager.getInstance().scheduleGeneral(new RunnableTask(), Interval);
Где RunnableTask() Runnable метод который будет выполняться через Interval - миллисекунд.
Сообщений: 438
Тем: 4
Зарегистрирован: Apr 2011
Репутация:
839
ANZO Написал:О да ) Треды слипать это по мужицки)
P.S:
Код: ScheduledFuture<?> Task = ThreadPoolManager.getInstance().scheduleGeneral(new RunnableTask(), Interval);
Где RunnableTask() Runnable метод который будет выполняться через Interval - миллисекунд.
такс, стоп где тема находится в л2 разделе что ли? ты объясни где ему взять тред пул менеджер, если он пишет прогу у него его нет
Сообщений: 2,303
Тем: 24
Зарегистрирован: Sep 2010
Репутация:
5,617
А епт, сорри привычка ) Откланиваюсь)
Сообщений: 320
Тем: 37
Зарегистрирован: Aug 2010
Репутация:
76
hex1r0 Написал:Код: Thread.sleep(millis);
millis - время в миллисекундах
Спасибо, но в чистом виде, без указания импортов, и свойств, использовать не возможно, я их не знаю.
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Сообщений: 438
Тем: 4
Зарегистрирован: Apr 2011
Репутация:
839
Wolfas Написал:Спасибо, но в чистом виде, без указания импортов, и свойств, использовать не возможно, я их не знаю.
Сообщений: 320
Тем: 37
Зарегистрирован: Aug 2010
Репутация:
76
Функция нужна для игрового сервера.
Вот таким образом получилось, но по моему она устанавливает паузу не только в в нужной мне функции.
Код: for (int i = 0; i < 10; i++) {
try {
Thread.sleep(750);
} catch (InterruptedException ie) {
ie.printStackTrace();
}
}
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Сообщений: 3,494
Тем: 52
Зарегистрирован: Jun 2010
Репутация:
12,167
слипать триды на онлайн игровых серверах , как минимум очень глупо. Если конечно у вас играет не более 1 го человека.
Советую перечитай пост Анзо.
Сообщений: 320
Тем: 37
Зарегистрирован: Aug 2010
Репутация:
76
В общем виде получается вот так:
Код: 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 час. Советуем вам немного отдохнуть".
|