Перейти к содержанию
Авторизация  
Руслан_Миндубаев

Фикс дверей к ядру

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

Люди, как работать с дверьми в ла2? В моей сборке двери к ядру не открываются раз в минуту, хотя должны. Нужна помощь)

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


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

Добавляешь таймер и радуешься) 

openDoor()
closeDoor()
  • Upvote 1

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


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

нашел где посмотреть, спасибо

Нашел - напиши здесь, чтобы другие знали! Вдруг кто-то будет искать?

Изменено пользователем •°•°•PsycHoO•°•°•

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


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

Нашел - напиши здесь, чтобы другие знали! Вдруг кто-то будет искать?

Надо зажать шифт и нажать на двери, откроется окно с айдишником дверей

14912333.jpg

тут описание метода таймера:

https://ru.stackoverflow.com/questions/445077/%D0%A2%D0%B0%D0%B9%D0%BC%D0%B5%D1%80-%D0%B2-%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B5-java

 

*Возможно нужно будет включить эту функцию в конфигах

Изменено пользователем Руслан_Миндубаев

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


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

Такой интересный вопрос: 

классы 

 

import java.util.Timer;
import java.util.TimerTask;
 
доступны стандартно  или их надо закидывать?
 
просто он мне на строчке
 
time.schedule(new TimerTask() {  <----- Тут
.....
} , 1000, 30000);
 
дропает ошибку, с неизвестным идентификатором
 
UPD: есть такие штуки для этого, похоже
import java.util.concurrent.ScheduledFuture;
import l2p.gameserver.ThreadPoolManager;
Изменено пользователем Руслан_Миндубаев

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


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

 

Такой интересный вопрос: 

классы 

 

import java.util.Timer;
import java.util.TimerTask;
 
доступны стандартно  или их надо закидывать?
 
просто он мне на строчке
 
time.schedule(new TimerTask() {  <----- Тут
.....
} , 1000, 30000);
 
дропает ошибку, с неизвестным идентификатором
 
UPD: есть такие штуки для этого, похоже
import java.util.concurrent.ScheduledFuture;
import l2p.gameserver.ThreadPoolManager;

 

Можно сделать так: создать таск переменную и присвоить ей что-то подобное:

ThreadPoolManager.getInstance()
                        .scheduleEventAtFixedRate(()->
						{
							if (Дверь открыта)
								закрываем дверь
							else
								открываем дверь
						},
                                1,
                                1,
                                TimeUnit.MINUTES);
  • Upvote 1

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


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

Такой интересный вопрос: 

классы 

 

import java.util.Timer;

import java.util.TimerTask;

 

доступны стандартно  или их надо закидывать?

 

просто он мне на строчке

 

time.schedule(new TimerTask() {  <----- Тут

.....

} , 1000, 30000);

 

дропает ошибку, с неизвестным идентификатором

 

UPD: есть такие штуки для этого, похоже

import java.util.concurrent.ScheduledFuture;

import l2p.gameserver.ThreadPoolManager;

потому-что тебе надо писать или например так

 

ThreadPoolManager.getInstance().scheduleAtFixedRate(new Runnable()
{
	@[member='override']
	public void run()
	{
		нужный код
	}
}, 60000L, 60000L);
или так

 

ThreadPoolManager.getInstance().scheduleAtFixedRate(new MyTask(), 60000L, 60000L);
не забыв объявить вызываемый класс MyTask, наследный от Runnable Изменено пользователем Gaikotsu
  • Upvote 1

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


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

потому-что тебе надо писать или например так

 

ThreadPoolManager.getInstance().scheduleAtFixedRate(new Runnable()
{
	@[member='override']
	public void run()
	{
		нужный код
	}
}, 60000L, 60000L);
или так

 

ThreadPoolManager.getInstance().scheduleAtFixedRate(new MyTask(), 60000L, 60000L);
не забыв объявить вызываемый класс MyTask, наследный от Runnable

 

Нельзя разве передать например анонимный экземпляр класса runnable?

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


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

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

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

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

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

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

Войти

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

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

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

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

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