Помогите Почему в mpc и игре отображаются изменения по разному

Статус
Закрыто для дальнейших ответов.

alex0007

Старожил
Пользователь
Баллы
123
Сделал меню для клиента , поналепил разных кнопок , если юзать recompile , потом startclient то всё отлично кнопки есть , но если reobfuscate то кнопок нету , в чём проблема?самое интересное что только сохранилась замена кнопки multiplayer
Они даже различаются
startclient
mp.png
Сама игра
mp2.png
 
В GUIMainMenu.java в том месте где определяются кнопка выхода и кнопка опций есть условие которое определяет что показывать 2 кнопки или 1. Сотрите условие и оставьте только две кнопки как на 1 скрине или одну как на втором, в зависимости от того что нужно.
 
В GUIMainMenu.java в том месте где определяются кнопка выхода и кнопка опций есть условие которое определяет что показывать 2 кнопки или 1. Сотрите условие и оставьте только две кнопки как на 1 скрине или одну как на втором, в зависимости от того что нужно.
Дело в том что на чистой сборке если смотреть через startclient одно меню , а через reobfuscate получается другое .Вот к примеру я добавил кнопку Проголосовать за сервер , если смотреть через startclient она есть , а через reobfuscate её нет.Но если покрутить кое что , тогда кнопки нету в startclient но есть через reobfuscate.Хрень какая то получается.Как бы 1 и тоже меню но по разному отображается
 
Криво сделал наверно

Код:
            this.buttonList.add(new GuiButton(1234, this.width / 2 - 100, var4 + 72 + 12, 98, 20, var2.translateKey("Посетить сайт")));
            this.buttonList.add(new GuiButton(12345, this.width / 2 + 2, var4 + 36 + 12, 98, 20, var2.translateKey("Проголосовать за сервер")));
            this.buttonList.add(new GuiButton(0, this.width / 2 - 100, var4 + 36 + 12, 98, 20, var2.translateKey("Опции")));
            this.buttonList.add(new GuiButton(4, this.width / 2 + 2, var4 + 60 + 12, 98, 20, var2.translateKey("Выход")));
Еще не разобрался что за параметр var,правдо с высотой переборщил , в startclient нет этих кнопок но в игре есть. Приходится рекомпилить ,собирать ,сувать файл в игру что бы изменения увидить
 
Криво сделал наверно

Код:
            this.buttonList.add(new GuiButton(1234, this.width / 2 - 100, var4 + 72 + 12, 98, 20, var2.translateKey("Посетить сайт")));
            this.buttonList.add(new GuiButton(12345, this.width / 2 + 2, var4 + 36 + 12, 98, 20, var2.translateKey("Проголосовать за сервер")));
            this.buttonList.add(new GuiButton(0, this.width / 2 - 100, var4 + 36 + 12, 98, 20, var2.translateKey("Опции")));
            this.buttonList.add(new GuiButton(4, this.width / 2 + 2, var4 + 60 + 12, 98, 20, var2.translateKey("Выход")));
Еще не разобрался что за параметр var,правдо с высотой переборщил , в startclient нет этих кнопок но в игре есть. Приходится рекомпилить ,собирать ,сувать файл в игру что бы изменения увидить
целиком.... можешь просто файлик приложить к сообщению.
 
Пихайте свои кнопки в addSingleplayerMultiplayerButtons() а не в this.mc.hideQuitButton. И не трогайте par3StringTranslate.translateKey, это не название кнопки ,а ключ для файла с переводами.
 
я написал выше что надо сделать.
 
Я пробовал сувать в addSingleplayerMultiplayerButtons() , тогда есть кнопки в startclient , но нет в игре
Сейчас заново попробую , подскажите что за var и par
Переменные которые принимает функция, что конкретно там передается не знаю, да и не особо это и важно.
 
Переменные которые принимает функция, что конкретно там передается не знаю, да и не особо это и важно.
Что бы я до конца понял можешь дать пример добавления кнопки
Код:
    private void addSingleplayerMultiplayerButtons(int par1, int par2, StringTranslate par3StringTranslate)
    {
        this.buttonList.add(new GuiButton(1, this.width / 2 - 100, par1, par3StringTranslate.translateKey("menu.singleplayer")));
        this.buttonList.add(new GuiButton(2, this.width / 2 - 100, par1 + par2 * 1, par3StringTranslate.translateKey("menu.multiplayer")));
    }
 
this.buttonList.add(new GuiButton(0, this.width / 2 - 100, var4 + 72, 98, 20, var2.translateKey("menu.options")));

0 - id
this.width / 2 - 100 - положение кнопки по ширине экрана, чтобы она была всегда по центру независимо от размера окна.
var4 + 72 - положение по высоте, var4 это просто переменная описанная чуть выше var4 = this.height / 4 + 48; она нужна для удобства расположения кнопок, можно ее не использовать.
98 - длинна кнопки
20 - высота кнопки
var2.translateKey("menu.options") - файл перевода например в En_us.lang будет искать строчку menu.options и выведет ее значение.
 
Ты уже говорил про то что можно стереть условие , но у меня вопрос в том что почему startclient показывает 2 кнопки , а игра 1.Не как незя сделать что бы показывало одно и тоже?
 
Ты уже говорил про то что можно стереть условие , но у меня вопрос в том что почему startclient показывает 2 кнопки , а игра 1.Не как незя сделать что бы показывало одно и тоже?
А вообщем то зачем? Тебеж важно чтобы в игре все нормально было.
 
А вообщем то зачем? Тебеж важно чтобы в игре все нормально было.
Всё получилось меню , спс
И еще 2 вопросика
1.Можно ли заменить par3StringTranslate.translateKey("rwarw.awrwar")));
Что бы просто текст вписать можно было
2.Можно ли как-то сделать что бы незя было прогой редактировать названия в классе , а то бывший админ копирует нагло всё с моего серва
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх