nickerder 21 Опубликовано 9 июня, 2018 Доброго времени суток. Мне нужно, что бы в разговоре с НПС в диалоговом окне отображало cond ((к примеру) квестовый). Что то вреде такого: Стадия: 4 Где 4 - означала бы прогресс в квесте. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Falkland 51 Опубликовано 9 июня, 2018 53 минуты назад, nickerder сказал: Доброго времени суток. Мне нужно, что бы в разговоре с НПС в диалоговом окне отображало cond ((к примеру) квестовый). Что то вреде такого: Стадия: 4 Где 4 - означала бы прогресс в квесте. В чем проблема? Перед отправкой html на клиент суй туда свою стадию. Само по себе оно там не окажется. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nickerder 21 Опубликовано 9 июня, 2018 Кажись ты не понял вопрос, или я так и не смог его выразить. Нужно запрос при клики на диалог, что бы в диалоге отобразило что то из БД. в частности сейчас cond - часто просто используется в квестах. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Demoncool 1110 Опубликовано 9 июня, 2018 18 минут назад, nickerder сказал: Кажись ты не понял вопрос, или я так и не смог его выразить. Нужно запрос при клики на диалог, что бы в диалоге отобразило что то из БД. в частности сейчас cond - часто просто используется в квестах. ну а в чем проблема то? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nickerder 21 Опубликовано 9 июня, 2018 Проблема, что бы отобразить это значение в HTML диалоге. 25 минут назад, Demoncool сказал: ну а в чем проблема то? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Demoncool 1110 Опубликовано 9 июня, 2018 (изменено) 5 минут назад, nickerder сказал: Проблема, что бы отобразить это значение в HTML диалоге. setHtml("text").replace("text"); Изменено 9 июня, 2018 пользователем Demoncool Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nickerder 21 Опубликовано 9 июня, 2018 9 минут назад, Demoncool сказал: setHtml("text").replace("text"); Наверное я действительно не могу выразить свою мысль. Мне нужно, что бы из файла HTML вышел запрос на БД определенного значения, и отобразилось в диалоге это значение. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
IIoIIPbIryH 18 Опубликовано 9 июня, 2018 Если я правильно понимаю, чтобы из бд брало значение и выводилось в html? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nickerder 21 Опубликовано 9 июня, 2018 Только что, IIoIIPbIryH сказал: Если я правильно понимаю, чтобы из бд брало значение и выводилось в html? Даааа, такое возможно?)) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
IIoIIPbIryH 18 Опубликовано 9 июня, 2018 Только что, nickerder сказал: Даааа, такое возможно?)) Давно не занимался, вряд ли я помощник в этом деле. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nickerder 21 Опубликовано 9 июня, 2018 Только что, IIoIIPbIryH сказал: Давно не занимался, вряд ли я помощник в этом деле. Все равно, большое спасибо, помог сформулировать мой запрос) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 10 июня, 2018 (изменено) в обработке вывода конкретного хтмл делаешь запрос в бд посредствами явы, после чего ими же подставляешь полученное значение в хтмл но вобще, лазать в бд за чем-то при каждом запросе диалога - это самое фиговое, что можно только выдумать - это же самый простой способ просто убить сервер, банально начиная запрашивать этот самый диалог часто и постоянно, вызывая повышенную нагрузку на базу и т.д. Изменено 10 июня, 2018 пользователем Gaikotsu Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
zGosu 396 Опубликовано 10 июня, 2018 (изменено) 8 часов назад, nickerder сказал: Все равно, большое спасибо, помог сформулировать мой запрос) Ты можешь вывести значение из БД, но не на чистом HTML. Тебе нужно скрит написать, в котором ты выполнишь SELECT запрос и вернувшийся ответ передать в параметр, который ты будешь вызывать уже на HTML странице. Пример: Тут будет пример private final String SELECT_ITEMS = "SELECT SUM(count) AS count FROM items WHERE item_id = 57"; // Сам запрос. /** ЗАПРОС К БД **/ long countItem = 0; // значение этой переменной мы будем показывать в HTML try (Connection con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement ps = con.prepareStatement(SELECT_ITEMS); ResultSet rs = ps.executeQuery()) { if (rs.next()) { countItem = rs.getLong("count"); // получаем количество адены (id = 57 - это адена) } ps.close(); rs.close(); } catch (final SQLException e) { } String htm = HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/html/test.htm"); //в какую HTML выводить наше значение htm = htm.replace("%count%", String.valueOf(count)); // присваеваем параметру в HTML наше значение переменной count Думаю как вызывать HTML Вы умеете, поэтому этот этап писать не буду (для КБ одно значение, для NPC другое, я не знаю какое Вам нужно и какая у Вас сборка) А в самом HTML файле test.html (что я указал выше в коде), добавляем: <p>%count%</p> Hide Писал на скорую руку и для Java 8. Надеюсь ничего не забыл. Удачи! Изменено 10 июня, 2018 пользователем zGosu Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rovskoi 14 Опубликовано 10 июня, 2018 42 минуты назад, Gaikotsu сказал: в обработке вывода конкретного хтмл делаешь запрос в бд посредствами явы, после чего ими же подставляешь полученное значение в хтмл но вобще, лазать в бд за чем-то при каждом запросе диалога - это самое фиговое, что можно только выдумать - это же самый простой способ просто убить сервер, банально начиная запрашивать этот самый диалог часто и постоянно, вызывая повышенную нагрузку на базу и т.д. человек выше совершенно прав, что незачем к БД лишний раз обращаться... для этого у вас в плеере коллекция QuestState и там находятся все состояния начатых квестов данного плеера. а для работы с ним уже написан метод public QuestState getQuestState(final int questId), который собственно безопасно вернет вам квест-стейт персонажа. PS: сабж выше с лостов, в л2ж или других 100% такое же есть, возможно под другим названием. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nickerder 21 Опубликовано 10 июня, 2018 Самое простое что я нашел это: Цитата STAR = st.getInt("STAR") bla = str(st.getInt("STAR")) а в htm: Цитата <td> "+str(bla)+". </td> И это оказалось проще. Всем спасибо!! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты