Задержка выполнения цыкла - Страница 2 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming > Java

Java В данном форуме вы сможете найти много полезной информации по платформе Java. Подробные статьи, исходные коды и конечно учебники как для новичков так и профессиональных Java разработчиков вы найдёте здесь. Если у вас есть вопрос или хотите поделится своими наработками, пожалуйста, делайте это в этой теме.

Ответ
Опции темы
Непрочитано 23.10.2011, 01:28   #11
Аватар для Deazer

По умолчанию Re: Задержка выполнения цыкла

Расскажешь потом на каком разе запуска евента у тебя жахнулся сервер , ок ?
Перечитай пост Анзо , повторяю второй раз.
Deazer вне форума Ответить с цитированием
Непрочитано 23.10.2011, 01:30   #12
Аватар для Wolfas
Пользователь

Автор темы (Топик Стартер) Re: Задержка выполнения цыкла

Цитата:
Сообщение от Deazer Посмотреть сообщение
слипать триды на онлайн игровых серверах , как минимум очень глупо. Если конечно у вас играет не более 1 го человека.
Советую перечитай пост Анзо.
Я тоже об этом думаю, а что ещё можно сделать, каст телепорта идёт 7.5 секунд, в это время мне нужно обездвижить игрока что-бы он не смог убежать с поля боя, затем вернуть ему скорость передвижения.
__________________
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Wolfas вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 23.10.2011, 01:33   #13
Аватар для Deazer

По умолчанию Re: Задержка выполнения цыкла

Цитата:
Сообщение от Wolfas Посмотреть сообщение
Я тоже об этом думаю, а что ещё можно сделать, каст телепорта идёт 7.5 секунд, в это время мне нужно обездвижить игрока что-бы он не смог убежать с поля боя, затем вернуть ему скорость передвижения.
Аборт каст, чарактер блок или аплайнуть скажем тот же Рейд Курс не ?
Deazer вне форума Ответить с цитированием
Непрочитано 23.10.2011, 01:39   #14
Аватар для Wolfas
Пользователь

Автор темы (Топик Стартер) Re: Задержка выполнения цыкла

Цитата:
Сообщение от Deazer Посмотреть сообщение
Аборт каст, чарактер блок или аплайнуть скажем тот же Рейд Курс не ?
Из всего выше сказанного понял только: «Аборт каст»
Самый подходящий вариант, выразить его работу могу так:

if(player.moves){
каст
return;
}
но понятия не имею как это написать
__________________
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Wolfas вне форума Ответить с цитированием
Непрочитано 23.10.2011, 01:43   #15
Аватар для ANZO
Разработчик BDO Emu

По умолчанию Re: Задержка выполнения цыкла

Код:
protected ScheduledFuture<?> Task = null;
long interval = 7.5*1000;

Task = ThreadPoolManager.getInstance().scheduleGeneral(new TeleportTask(), interval);

protected class TeleportTask implements Runnable
{
    public void run()
    {
           // Ваш код
     }
}
ANZO на форуме Отправить сообщение для ANZO с помощью ICQ Отправить сообщение для ANZO с помощью Skype™ Ответить с цитированием
Непрочитано 23.10.2011, 01:48   #16
Аватар для Wolfas
Пользователь

Автор темы (Топик Стартер) Re: Задержка выполнения цыкла

Цитата:
Сообщение от ANZO Посмотреть сообщение
Код:
protected ScheduledFuture<?> Task = null;
long interval = 7.5*1000;

Task = ThreadPoolManager.getInstance().scheduleGeneral(new TeleportTask(), interval);

protected class TeleportTask implements Runnable
{
    public void run()
    {
           // Ваш код
     }
}
Спасибо но у меня не l2, нету у меня ThreadPoolManager

Что думаю может не слипать турн, а установить функцию восстановления скорости которая выполниться с задержкой 7.5 секунды, или это равносильно обычному слипу?
__________________
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Wolfas вне форума Ответить с цитированием
Непрочитано 23.10.2011, 02:39   #17
Аватар для ANZO
Разработчик BDO Emu

По умолчанию Re: Задержка выполнения цыкла

Тогда делайте на ScheduledThreadPoolExecutor и ThreadPoolExecutor, которые собственно ладвашный ThreadPoolManager и юзает.

Добавлено через 2 часа 34 минуты
Не поленился в AionX залезть сорцы, там аналог ладвашного тредменнеджера обозвали RunnableStatsManager, как я понял.

Последний раз редактировалось ANZO; 23.10.2011 в 05:14. Причина: Добавлено сообщение
ANZO на форуме Отправить сообщение для ANZO с помощью ICQ Отправить сообщение для ANZO с помощью Skype™ Ответить с цитированием
Непрочитано 23.10.2011, 09:18   #18
Олдфаг

По умолчанию Re: Задержка выполнения цыкла

че вы к ThreadPoolManager прицепились, от точно также слипит Триды ( разве есть другие методы сделать отложенный запуск ?).

если нужно слипить и при этом не подвешивать основной Thread игрока
делаем так:
Код:
	public void func ()
	{
		//Допустим это обработчик комманды от игрока
		new delayTask().run();
	}
	
	private class delayTask implements Runnable
	{
		public void run()
		{
			// Действия
			
			try
			{
				Thread.sleep(1000);
			}
			catch (InterruptedException e){}
			
			// Действия действия после задержки			
		}
	}
Smiler вне форума Ответить с цитированием
Непрочитано 23.10.2011, 09:36   #19
Пользователь

По умолчанию Re: Задержка выполнения цыкла

Цитата:
Сообщение от Wolfas Посмотреть сообщение
Функция нужна для игрового сервера.
сразу так нельзя было написать?

Добавлено через 2 часа 46 минут
Цитата:
Сообщение от MHard Посмотреть сообщение
че вы к ThreadPoolManager прицепились, от точно также слипит Триды ( разве есть другие методы сделать отложенный запуск ?).

если нужно слипить и при этом не подвешивать основной Thread игрока
делаем так:
Код:
	public void func ()
	{
		//Допустим это обработчик комманды от игрока
		new delayTask().run();
	}
	
	private class delayTask implements Runnable
	{
		public void run()
		{
			// Действия
			
			try
			{
				Thread.sleep(1000);
			}
			catch (InterruptedException e){}
			
			// Действия действия после задержки			
		}
	}
MHard не позорься , нужно так:

Код:
	public void func ()
	{
		//Допустим это обработчик комманды от игрока
		new delayTask().start();
	}
	
	private class delayTask extends Thread
	{
		public void run()
		{
			// Действия
			try
			{
				Thread.sleep(10000);
			}
			catch (InterruptedException e){}
				
			// Действия действия после задержки
		}
	}

Последний раз редактировалось hex1r0; 23.10.2011 в 12:22. Причина: Добавлено сообщение
hex1r0 вне форума Ответить с цитированием
Непрочитано 23.10.2011, 12:49   #20
Пользователь

По умолчанию Re: Задержка выполнения цыкла

http://download.oracle.com/javase/6/...nt.TimeUnit%29
__________________
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu
Aquanox вне форума Ответить с цитированием
Сказали спасибо:
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задержка при покупке BAKSы Lineage II 4 09.01.2011 14:10
Задержка на итемы JaneKyun Lineage II 2 24.07.2010 11:42
Задержка скилов UFODriverr Lineage II 9 29.04.2010 07:17
Непонятная задержка на Windows VAAN Lineage II 1 29.03.2010 11:37
Задержка скилов iasha Lineage II 0 31.05.2009 20:37


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 21:22. Часовой пояс GMT +3.

Вверх