Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Туториал Делаем кнопки "Зайти на сервер", "Обновить" и отображение кол-ва игроков в гл. меню.

Мой код тоже не идеален так как знания языка java еще на низком уровне.
Но я бы при пинговании проверял сколько раз серв не ответил и после 10 неудачных попыток выводил что серв выключен. Мой метод более работоспособен. Но я не смог решить проблему с выводом количества игроков на серверах с форжем.
 
Мой код тоже не идеален так как знания языка java еще на низком уровне.
Но я бы при пинговании проверял сколько раз серв не ответил и после 10 неудачных попыток выводил что серв выключен. Мой метод более работоспособен. Но я не смог решить проблему с выводом количества игроков на серверах с форжем.
Ну писал я его давно, а сейчас переписывать не буду. Кстати, для крупных серверов эти 10 попыток будут бомбардировкой сервера пакетами, что является не самой лучшей идеей.
P.S. Код для 1.6.4 и 1.5.2 работает идеально.
 
public void updateScreen()
{
++this.panoramaTimer;
if(this.pinger.isOnline()!=true && this.pinger.updated() != true) {
coutpinger = coutpinger +1;
if (coutpinger > 10) {
coutpinger = 0;
this.multiplayerButton.displayString = "Сервер выключен";
}
}
if(this.pinger.isAlive() && this.pinger.updated() && this.pinger.pingFinished()) {
if(this.pinger.isOnline()) {
this.sd = this.pinger.getServerData();
if(this.sd.populationInfo == "") {
this.pinger.spleepThread(1000);
this.pinger.ping();
coutpinger = 0;
}
if(this.sd.populationInfo != "") {
//logger.error("populationInfo !=");
this.multiplayerButton.displayString = "Зайти на сервер §3[" + this.sd.populationInfo + "§3]";
}
if(this.sd.populationInfo == "") {
this.multiplayerButton.displayString = "Зайти на сервер";
}
}
}
Мой код тоже не очень но рабочий
 
Ну писал я его давно, а сейчас переписывать не буду. Кстати, для крупных серверов эти 10 попыток будут бомбардировкой сервера пакетами, что является не самой лучшей идеей.
P.S. Код для 1.6.4 и 1.5.2 работает идеально.
Я потому и говорю что мой код тоже не идеален но он у меня заработал.
По идеи никакой бомбардировки нету так как проверка вставлена в ваш же код.
пробуйте. если не работает то делайте проверку переменных.
logger.error(populationInfo );
 
Последнее редактирование:
Я потому и говорю что мой код тоже не идеален но он у меня заработал.
По идеи никакой бомбардировки нету так как проверка вставлена в ваш же код.
Что-то я ступил. Не учёл тот факт, что пингование будет не одновременное. :)
 
Привет, пожалуйста прошу добавь в скайп mrthedomster94 очень срочно прошу, прошу , прошу
Тебя я заблокировал за спам (реклама группы, в которой можно "заработать деньги"). Блокировку не сниму.
 
У тех у кого не отображает кол-во игроков на кнопке а после выхода из игры в меню стает норм, нужно дописать 1 строку в инициализации
FMLClientHandler.instance().setupServerList();

теперь бы срендерить скин в главное меню и сменить фон.
 
Последнее редактирование:
У тех у кого не отображает кол-во игроков на кнопке а после выхода из игры в меню стает норм нужно дописать 1 строку в инициализацииQUOTE]
Спасибо. Если люди напишут, что помогает, то добавлю в шапку.
 
Кстати, прошлую проблему исправил удалением проверки на this.pinger.updated()
 
У тех у кого не отображает кол-во игроков на кнопке а после выхода из игры в меню стает норм нужно дописать 1 строку в инициализации

теперь бы срендерить скин в главное меню и сменить фон.
Срендерить 3d модельку с твоим скином и плащём в меню можн(смотри скрин)
В чём проблема поставить свой фон меню?
 

Вложения:

  • 2014-12-22 18-19-40 Скриншот экрана.png
    2014-12-22 18-19-40 Скриншот экрана.png
    Размер файла
    381,7 КБ
    Просмотров
    53
Последнее редактирование:
Возможно не в тему, но всё же. Может кто-нибудь знает, как цвет сплешей поменять?
 
Добавил кнопку "Напрямую" в главное меню с кодом
Java:
this.mc.displayGuiScreen(new GuiScreenServerList(this, new ServerData(I18n.format("selectServer.defaultName", new Object[0]), "")));
но в меню при нажатии на "Подключиться" или "Отмена" ничего не происходит

А ещё мобы на главном меню (из bspkrsCore) исчезают через 3 секунды
 
Добавил кнопку "Напрямую" в главное меню с кодом
Java:
this.mc.displayGuiScreen(new GuiScreenServerList(this, new ServerData(I18n.format("selectServer.defaultName", new Object[0]), "")));
но в меню при нажатии на "Подключиться" или "Отмена" ничего не происходит

А ещё мобы на главном меню (из bspkrsCore) исчезают через 3 секунды
Не изобретайте велосипед! Автор темы в шапке все написал.
 

Поделиться этой страницей

Назад
Верх