1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

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

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем gamerforEA, 16 июн 2014.

  1. Bars

    Bars Старожил Девелопер Пользователь

    Баллы:
    173
    WTF а ты ещё кто? Я не тебя цитировал
     
  2. MrGiperCreeper

    MrGiperCreeper Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Ivan_Alone
    Я тебе написал, как сделать Direct Connect в главном меню, а ты даже не заметил? 0_0
    Ну так что, помог? Просто я писал еще до @alexandrage, вот и интересуюсь: ты меня игноришь, тебе уже не нужен код или просто не заметил?
     
  3. alex0007

    alex0007 Старожил Пользователь

    Баллы:
    123
    Спасибо , попробую пересобрать
    Не подскажешь где у тебя в статье импорты написаны ? а то я видно слепой
    Добавил импорты serverdata и pinger и вот такя ошибка
    src\minecraft\net\minecraft\client\gui\GuiMainMenu.java:254: error: cannot find symbol

    updateButton.width = 50;

    ^

    symbol: variable width

    location: variable updateButton of type GuiButton

    src\minecraft\net\minecraft\client\gui\GuiMainMenu.java:299: error: cannot find symbol

    FMLClientHandler.instance().connectToServer(new GuiMultiplayer(this), this.sd);

    ^

    symbol: variable FMLClientHandler

    location: class GuiMainMenu

    Note: Some input files use unchecked or unsafe operations.

    Note: Recompile with -Xlint:unchecked for details.

    2 errors
     
    Последнее редактирование: 16 янв 2015
  4. Автор темы
    gamerforEA

    gamerforEA Старожил Пользователь

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Не редактируйте код вручную. Используйте Eclipse, чтобы видеть все ошибки, а так же знать, что они означают.
     
  5. MrGiperCreeper

    MrGiperCreeper Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Ivan_Alone
    Редактируя код вручную, ты научишься сам исправлять ошибки. Вторую исправить легко - для подключения используй не
    Код:
    FMLClientHandler.instance().connectToServer(new GuiMultiplayer(this), this.sd);
    а
    Код:
    this.mc.displayGuiScreen(new GuiConnecting(this, this.mc, this.sd));
    На счет первой ошибки - ты должен найти аналогичную width переменную в классе GuiButton
    А может, и нет)
     
  6. alex0007

    alex0007 Старожил Пользователь

    Баллы:
    123
    Я сам пытаюсь понять что и как , но не хватает моих знаний что бы понять что делать с
     
  7. MrGiperCreeper

    MrGiperCreeper Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Ivan_Alone
    Какая версия игры?
     
  8. alex0007

    alex0007 Старожил Пользователь

    Баллы:
    123
    1.7.10 forge
     
  9. MrGiperCreeper

    MrGiperCreeper Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Ivan_Alone
    Как ты умудрился фордж 1.7.10 запихать в МСР? Ладно...
    Посмотри видео-урок, там есть импорты
     
  10. alex0007

    alex0007 Старожил Пользователь

    Баллы:
    123
    Видимо я вобще слепой либо что-то не понимаю , тут нету импортов

    Тут должно же быть что-то типо
    import net.minecraft.Pinger;
    import net.minecraft.client.multiplayer.ServerData;
     
  11. godred2

    godred2 Активный участник Пользователь

    Баллы:
    78
    Как создать класс Pinger, расширяющий класс Thread?
    Я в яве никак.
     
  12. MrGiperCreeper

    MrGiperCreeper Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Ivan_Alone
    Код:
    class Pinger extends Thread
    {
    
    }
    
    А если ты про именно нужный тебе (т.е. чтобы сделать все по туториалу), то создай его в пакете net.minecraft.client.gui, класс будет выглядет так:
    Код:
    package net.minecraft.client.gui;
    
    public class Pinger extends Thread
    {
    
    }
    
     
  13. Bars

    Bars Старожил Девелопер Пользователь

    Баллы:
    173
    Сори, спасибо)
    Я просто клиентами раньше не занимался, всегда миновал их стороной
     
  14. Автор темы
    gamerforEA

    gamerforEA Старожил Пользователь

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Я все импорты добавлял средствами Eclipse - просто наводил на подчёркнутое название класса и выбирал нужный вариант исправления.
     
  15. godred2

    godred2 Активный участник Пользователь

    Баллы:
    78
    Спасибо
    Я правильно сделал?
    Код:
        package net.minecraft.client.gui;
        public class Pinger extends Thread
        {
       
        private volatile boolean finishedThread = false;
        private volatile boolean finishedPing = false;
        private volatile boolean offline = false;
        private volatile boolean sdWasUsed = false;
        private volatile boolean ping = false;
        private volatile ServerData sd;
      
        public Pinger() {
            this.setDaemon(true);
            this.setName("Pinger");
        }
      
        @Override
        public void run() {
            do if(this.finishedThread) return;
            else if(this.ping) {
                this.ping = false;
                this.offline = false;
                this.finishedPing = false;
                this.sdWasUsed = false;
                try {
                    GuiMultiplayer.func_74017_b(this.sd);
                } catch (Exception e) {
                    this.offline = true;
                }
                this.finishedPing = true;
            }
            while(true);
        }
        public void finish() {
            this.finishedThread = true;
        }
      
        public void setServerData(ServerData sd) {
            this.sdWasUsed = false;
            this.sd = sd;
        }
      
        public ServerData getServerData() {
            this.sdWasUsed = true;
            return this.sd;
        }
      
        public void ping() {
            this.ping = true;
        }
      
        public boolean isFinished() {
            return this.finishedPing;
        }
      
        public boolean isOffline() {
            return this.offline;
        }
      
        public boolean isUsed() {
            return this.sdWasUsed;
        }
        }
       
       
       
        private void connectToServer(ServerData par1ServerData)
        {
            this.mc.displayGuiScreen(new GuiConnecting(this, this.mc, par1ServerData));
        }
     
  16. alex0007

    alex0007 Старожил Пользователь

    Баллы:
    123
    Не подскажите что нужно написать в guibutton
     
  17. Автор темы
    gamerforEA

    gamerforEA Старожил Пользователь

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Ничего. С чего вы взяли, что его нужно редактировать?
     
  18. godred2

    godred2 Активный участник Пользователь

    Баллы:
    78
    Error: Could not find or load main class Start
    Вот такая ошибка при попытки запустить клиент из Эклипс
    Что делать?
     
  19. MrGiperCreeper

    MrGiperCreeper Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Ivan_Alone
    Ничего не делать. Ты же MCP юзаешь? Он очень плохо с eclipse работает теперь, запускать через него не рекомендую: отредактировал, если ошибок нет, то recompile.bat и startclient.bat
     
  20. alex0007

    alex0007 Старожил Пользователь

    Баллы:
    123
    Ошибка
    src\minecraft\net\minecraft\client\gui\GuiMainMenu.java:251: error: cannot find symbol

    updateButton.width = 50;

    ^

    symbol: variable width

    location: variable updateButton of type GuiButton

    Note: Some input files use unchecked or unsafe operations.

    Note: Recompile with -Xlint:unchecked for details.

    1 error
     

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