Перейти к содержанию
Авторизация  
se1dhe

Требуется свежий взгляд

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

Сабж. Видимо голова уже не вывозит. Уверен, что косяк в невнимательности:

 

Есть метод

 public void start (L2PcInstance player) {
       QuestState st = player.getQuestState(getName());
		NpcHtmlMessage nhm = new NpcHtmlMessage(player.getObjectId());
        String build = "<html><body><center>";
        if(st.getState() == 1)
        {
            build += "<html><body>some text</body><html>";
        }
        if (Check(player).equals("start.htm")) {
            st.setState(STARTED);
            st.set("cond","1");
            build += "<html><body>some text</body><html>";
        }
        else
            build += "<html><body>some text</body><html>";
		 build += "</center></body></html>";
        nhm.setHtml(build);
        player.sendPacket(nhm);
        
    }

есть вызов:

command = command+" "+params;
        if(command.startsWith("ag_vipbag"))
        {
            String choise = command.substring(9).trim();
            if(choise.startsWith("edit")) {
                int flag = Integer.parseInt(choise.substring(4).trim());
                if (flag == 1) {
                   start(player);

байпас:

        build += "<button value=\"Квест\" action=\"bypass -h voice_ag_vipbag edit 1\" width=135 height=24 back=\"L2UI_CH3.bigbutton3_down\" fore=\"L2UI_CH3.bigbutton3\"><br1>";

При вызове метода ничего не происходит. Ткните, пожалуйста, носом.

Изменено пользователем se1dhe

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


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

Сабж. Видимо голова уже не вывозит. Уверен, что косяк в невнимательности:

 

Есть метод

 public void start (L2PcInstance player) {
       QuestState st = player.getQuestState(getName());
		NpcHtmlMessage nhm = new NpcHtmlMessage(player.getObjectId());
        String build = "<html><body><center>";
        if(st.getState() == 1)
        {
            build += "<html><body>some text</body><html>";
        }
        if (Check(player).equals("start.htm")) {
            st.setState(STARTED);
            st.set("cond","1");
            build += "<html><body>some text</body><html>";
        }
        else
            build += "<html><body>some text</body><html>";
		 build += "</center></body></html>";
        nhm.setHtml(build);
        player.sendPacket(nhm);
        
    }

есть вызов:

command = command+" "+params;
        if(command.startsWith("ag_vipbag"))
        {
            String choise = command.substring(9).trim();
            if(choise.startsWith("edit")) {
                int flag = Integer.parseInt(choise.substring(4).trim());
                if (flag == 1) {
                   start(player);

байпас:

        build += "<button value=\"Квест\" action=\"bypass -h voice_ag_vipbag edit 1\" width=135 height=24 back=\"L2UI_CH3.bigbutton3_down\" fore=\"L2UI_CH3.bigbutton3\"><br1>";

При вызове метода ничего не происходит. Ткните, пожалуйста, носом.

прологируй:

 

command = command+" "+params;
        if(command.startsWith("ag_vipbag"))
        {
            _log.warning("Pawet1?");
            String choise = command.substring(9).trim();
            if(choise.startsWith("edit")) {
                _log.warning("Pawet2?");
                int flag = Integer.parseInt(choise.substring(4).trim());
                if (flag == 1) {
                   _log.warning("Pawet3?");
                   start(player);

Думаю понятно дальше будет.

Ничего не вылетело, смотришь:

command = command+" "+params;

if(command.startsWith("ag_vipbag"))

 

Pawet1:

String choise = command.substring(9).trim();

if(choise.startsWith("edit")) {

 

Pawet1, Pawet2: 

int flag = Integer.parseInt(choise.substring(4).trim());

if (flag == 1) {

 

Pawet1, Pawet2,Pawet3:

Смотришь метод start 

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


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

прологируй:

 

command = command+" "+params;
        if(command.startsWith("ag_vipbag"))
        {
            _log.warning("Pawet1?");
            String choise = command.substring(9).trim();
            if(choise.startsWith("edit")) {
                _log.warning("Pawet2?");
                int flag = Integer.parseInt(choise.substring(4).trim());
                if (flag == 1) {
                   _log.warning("Pawet3?");
                   start(player);

Думаю понятно дальше будет.

Ничего не вылетело, смотришь:

command = command+" "+params;

if(command.startsWith("ag_vipbag"))

 

Pawet1:

String choise = command.substring(9).trim();

if(choise.startsWith("edit")) {

 

Pawet1, Pawet2: 

int flag = Integer.parseInt(choise.substring(4).trim());

if (flag == 1) {

 

Pawet1, Pawet2,Pawet3:

Смотришь метод start 

Метод start() вызывается нормально, трабла в коде самого метода.

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


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

Метод start() вызывается нормально, трабла в коде самого метода.

Ну тогда логируй сам метод и смотри какие условия не срабатывают. 

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


Ссылка на сообщение
Поделиться на другие сайты
if(st.getState() == 1)
        {
            build += "<html><body>some text</body><html>";
        }

трабла тут, но почему - не могу понять.

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


Ссылка на сообщение
Поделиться на другие сайты
if(st.getState() == 1)
        {
            build += "<html><body>some text</body><html>";
        }

трабла тут, но почему - не могу понять.

 

я нуб в данной сфере но мне 1 кажется что не правильным будет  в коде после закрытия боди не закрыть html ( build += "<html><body>some text</body></html>"; )

Изменено пользователем SweetPain

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


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

я нуб в данной сфере но мне 1 кажется что не правильным будет  в коде после закрытия боди не закрыть html ( build += "<html><body>some text</body></html>"; )

этот кусок не смущает? :)

 

	 build += "</center></body></html>";
        nhm.setHtml(build);
        player.sendPacket(nhm);

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


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

этот кусок не смущает? :)

 

 

build += "</center></body></html>";
        nhm.setHtml(build);
        player.sendPacket(nhm);

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

Если хтмл открылось, оно должно закрытся, после же только новое открывать.

Или же зачем после открытия хтмл, в конце после закрытия боди, откывать еще хтмл?

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


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

В джава я 0, но выше говорили, что проблема возможно в html

Скорей всего, есть какой-то валидатор, который проверяет адекватность хтмл.

У тебя же тут, есть не большой косяк как по мне. сейчас попробую объяснить.

 

Есть вот такой кусок

     if (Check(player).equals("start.htm")) {
            st.setState(STARTED);
            st.set("cond","1");
            build += "<html><body>some text</body><html>";
        }
        else
            build += "<html><body>some text</body><html>";
		 build += "</center></body></html>";

Чучуть упростим его

     if (Check(player).equals("start.htm")) {
            build += "<html><body>some text</body><html>";
        }
        else {
            build += "<html><body>some text222</body><html>";

        }
        build += "</center></body></html>";

Получается, в build у нас или 
"<html><body>some text</body><html>";

или 

"<html><body>some text</body><html>";

 

и потом, ты еще раз в build добавляешь 

"</center></body></html>";

 

Итог: у тебя на выходе такой. Только из єтого момента. 

Я когда все написал, понял что у тебя там еще заранее в билд было большая куча всего, и итог не правильный

<html><body>some text</body><html>
</center></body></html>;

Он не валидный.

Скорей всего из-за этого и ошибка.

 

 я бы сделал вот так

 public void start (L2PcInstance player) {
       QuestState st = player.getQuestState(getName());
		NpcHtmlMessage nhm = new NpcHtmlMessage(player.getObjectId());
        String build = "<html><body><center>";
        if(st.getState() == 1)
        {
            build += "some text getState() == 1";
        }
        if (Check(player).equals("start.htm")) {
            st.setState(STARTED);
            st.set("cond","1");
            build += "some text if TRUE";
        }
        else {
            build += "some text if FALSE";
	}
	build += "</center></body></html>";
        nhm.setHtml(build);
        player.sendPacket(nhm);
        
    }
Изменено пользователем Desquire
  • Upvote 1

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


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

Сабж. Видимо голова уже не вывозит. Уверен, что косяк в невнимательности:

 

Есть метод

 public void start (L2PcInstance player) {
       QuestState st = player.getQuestState(getName());
		NpcHtmlMessage nhm = new NpcHtmlMessage(player.getObjectId());
        String build = "<html><body><center>";
        if(st.getState() == 1)
        {
            build += "<html><body>some text</body><html>";
        }
        if (Check(player).equals("start.htm")) {
            st.setState(STARTED);
            st.set("cond","1");
            build += "<html><body>some text</body><html>";
        }
        else
            build += "<html><body>some text</body><html>";
		 build += "</center></body></html>";
        nhm.setHtml(build);
        player.sendPacket(nhm);
        
    }
есть вызов:
command = command+" "+params;
        if(command.startsWith("ag_vipbag"))
        {
            String choise = command.substring(9).trim();
            if(choise.startsWith("edit")) {
                int flag = Integer.parseInt(choise.substring(4).trim());
                if (flag == 1) {
                   start(player);
байпас:
        build += "<button value=\"Квест\" action=\"bypass -h voice_ag_vipbag edit 1\" width=135 height=24 back=\"L2UI_CH3.bigbutton3_down\" fore=\"L2UI_CH3.bigbutton3\"><br1>";

При вызове метода ничего не происходит. Ткните, пожалуйста, носом.

Посмотри, как инициализируешь переменную build и что добавляешь.

Т.е. на выходе: <html><body><center><html><body>...

  • Upvote 1

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


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

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

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

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

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

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

Войти

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

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

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

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

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