ChaoticBD 4 Опубликовано 2 июля, 2021 Добрый день! На досуге пилил некое подобие комиссионного магазина и столкнулся с проблемой в виде переменных: Требуется получить от клиента стоимость, попытался реализовать как это сделано в других местах: <td><edit var="qbox" width=120 height=15></td> <td width=100> <button value="Sell" action="bypass -h _bbscommission;sell,#{id},$qbox,57,1" width=60 height=33></td></tr> По идее значение из var должно попасть в байпас, но по факту мне прилетает _bbscommission;sell,268483539,$qbox,57,1 Кто подскажет в какую сторону тут можно копать? Заранее спасибо! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rogue 248 Опубликовано 2 июля, 2021 Смотри как это сделано на аукционе кх Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rolo 279 Опубликовано 2 июля, 2021 Это случайно не на Пв софте через Кб сделать пытаетесь? Я как с ним не воевал - адекватный вар с едитбокса он мне так и не присылал, зато с обычного хтлм - легко. ) Если Вы через КБ, то возможно косяк в обработчиках (как, например, не работает _exc в мультисселах с КБ, но работает в хтмл окне), а возможно в хтмл движке ИЛа в целом. Попробуйте через обычное окно сделать, если делаете с КБ. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 2 июля, 2021 Советую пробелы воткнуть вокруг переменной - некоторые клиенты без этого в строке байпасса переменную найти не могут. 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ChaoticBD 4 Опубликовано 2 июля, 2021 да, это попытка сделать внутри CB, сборка h5 от мобиуса. В рамках обычного окна - хотелось бы сделать все красиво, так что оставлю как запасной вариант. пробелы пробовал - не получилось, все так же не видит переменную =с Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ChaoticBD 4 Опубликовано 3 июля, 2021 (изменено) UPD: вынес код в html файл и добавил пробелы - данный вариант отработал. При генерации самой html в коде - были проблемы. Спасибо всем. Изменено 3 июля, 2021 пользователем ChaoticBD 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ChaoticBD 4 Опубликовано 6 июля, 2021 (изменено) Еще возник вопрос, мб кто знает: есть комбобоксы + окошко ввода + кнопка отфильтровать: <combobox width=80 var=type list="ANY;WEAPON;ARMOR;JEWELS;OTHER"> <td>Filter: </td> <td width=100><edit var="filter" width=120 height=15></td> <td width=100><button value="Filter" action="bypass -h _bbscommission;list, $type , $grade , $filter ,0" width=60 height=30 back="l2ui_ct1.button.button_df_small_down" fore="l2ui_ct1.button.button_df_small"> если оставить поле ввода пустым - появляется ошибка "введите текст меньше 3000 символов"(см скрин) При этом, в той же админке, при пустом окне проблем нет. Подскажите, куда копаться с этим? Само сообщение нашел в сорсах, но вот оно ни где не используется. Shot00000.bmp Изменено 6 июля, 2021 пользователем ChaoticBD Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rolo 279 Опубликовано 8 июля, 2021 (изменено) В 06.07.2021 в 22:55, ChaoticBD сказал: Еще возник вопрос, мб кто знает: есть комбобоксы + окошко ввода + кнопка отфильтровать: <combobox width=80 var=type list="ANY;WEAPON;ARMOR;JEWELS;OTHER"> <td>Filter: </td> <td width=100><edit var="filter" width=120 height=15></td> <td width=100><button value="Filter" action="bypass -h _bbscommission;list, $type , $grade , $filter ,0" width=60 height=30 back="l2ui_ct1.button.button_df_small_down" fore="l2ui_ct1.button.button_df_small"> если оставить поле ввода пустым - появляется ошибка "введите текст меньше 3000 символов"(см скрин) При этом, в той же админке, при пустом окне проблем нет. Подскажите, куда копаться с этим? Само сообщение нашел в сорсах, но вот оно ни где не используется. Shot00000.bmp 5.91 \u041c\u0411 · 1 download Можно задать ему дефолтное значение, которое потом, в случае если в строке ввода длина переменной больше/равна 1, то заменять. Изменено 8 июля, 2021 пользователем Rolo 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ChaoticBD 4 Опубликовано 8 июля, 2021 (изменено) 1 минуту назад, Rolo сказал: Можно задать ему дефолтное значение, которое потом, в случае если в строке ввода длина переменной больше/равна 1, то заменять. Html так умеет? О_о Это выглядит как что-то на стороне клиента. Так как при дебаге прилетает сообщение не смотря на брекпоинт в RequestBypassToServer в самом начале =с Изменено 8 июля, 2021 пользователем ChaoticBD Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rolo 279 Опубликовано 8 июля, 2021 (изменено) 28 минут назад, ChaoticBD сказал: Html так умеет? О_о Это выглядит как что-то на стороне клиента. Так как при дебаге прилетает сообщение не смотря на брекпоинт в RequestBypassToServer в самом начале =с Сейчас под спойлером будет больно глазам, но как раз такая же ситуация была. Это точки сохранения телепорта, строка ввода имени, я 4 позиции отвел и обозначил их как "_", и они же считываются через var в едитбоксе, в случае незаполнения всех - заменяются на пустоту. Реализация там от бога просто, но суть должна быть ясна. )) Это, к слову, даже ИЛ клиент понимал. Спойлер if(command.startsWith("_bbsportpt_add") && player.getPcPoints() >= PCcost) { String[] name = command.substring(15).trim().split(" "); if (name[1].equals("_")){ name[1] = ""; if (name[2].equals("_") && name[3].equals("_") && name[4].equals("_")){ name[1] = " Сохраненная Точка"; } }if (name[2].equals("_")){ name[2] = ""; }if (name[3].equals("_")){ name[3] = ""; }if (name[4].equals("_")){ name[4] = ""; } упд: ах да, забыл, сам эдит бокс же: Спойлер <edit height=22 var=\"name\" width=170 length=16></td><td><button value=\"Сохранить\" a action=\"bypass -h _bbsportpt_add "+sub[0]+" $name _ _ _ _\" width=96 height=32 back=\"L2UI_CT1.Button_DF_down\" fore=\"L2UI_CT1.Button_DF\"> Изменено 8 июля, 2021 пользователем Rolo Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ChaoticBD 4 Опубликовано 8 июля, 2021 (изменено) 51 минуту назад, Rolo сказал: Сейчас под спойлером будет больно глазам, но как раз такая же ситуация была. Это точки сохранения телепорта, строка ввода имени, я 4 позиции отвел и обозначил их как "_", и они же считываются через var в едитбоксе, в случае незаполнения всех - заменяются на пустоту. Реализация там от бога просто, но суть должна быть ясна. )) Это, к слову, даже ИЛ клиент понимал. Скрыть контент if(command.startsWith("_bbsportpt_add") && player.getPcPoints() >= PCcost) { String[] name = command.substring(15).trim().split(" "); if (name[1].equals("_")){ name[1] = ""; if (name[2].equals("_") && name[3].equals("_") && name[4].equals("_")){ name[1] = " Сохраненная Точка"; } }if (name[2].equals("_")){ name[2] = ""; }if (name[3].equals("_")){ name[3] = ""; }if (name[4].equals("_")){ name[4] = ""; } Данная реализация не поможет - сообщение, судя по всему, прилетает со стороны клиента(видимо нужно писать в тот раздел), на данном шаге у меня ошибок нет - там стоит обработчик для пустых значений и null-ов. filter != null && !filter.isEmpty() && !filter.equals("null") на все случаи жизни, блин хД Изменено 8 июля, 2021 пользователем ChaoticBD ошибочно все под спойлер отправил хД Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rolo 279 Опубликовано 8 июля, 2021 ChaoticBD, а что должно происходить если в поле ничего не ввели? Сейчас выводит ошибку, что оно пустое, а Вы бы хотели бы чтобы что показывало? Все еще думаю, что дефолтный байпасс, который потом заменялся бы, мог бы решить вопрос, хотя может я не понял задачи адекватно. ) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ChaoticBD 4 Опубликовано 8 июля, 2021 (изменено) 33 минуты назад, Rolo сказал: ChaoticBD, а что должно происходить если в поле ничего не ввели? Сейчас выводит ошибку, что оно пустое, а Вы бы хотели бы чтобы что показывало? Все еще думаю, что дефолтный байпасс, который потом заменялся бы, мог бы решить вопрос, хотя может я не понял задачи адекватно. ) @Rolo по факту мне нужно убрать сообщение, которое выскакивает поверх КБ. Данный инпут - фильтр поиска вещей по названию, помимо него есть комбо бокс выбора грейда и типа предмета. По идее игрок может просто выбрать S грейд, любой тип предмета и пустой фильтр для отображения всех предметов S ранга. Что уйдет в байпасс мне не принципиально, я подстроюсь под любой исход. Сейчас уходит просто "" и меня это вполне устраивает. Изменено 8 июля, 2021 пользователем ChaoticBD 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rolo 279 Опубликовано 8 июля, 2021 15 минут назад, ChaoticBD сказал: @Rolo по факту мне нужно убрать сообщение, которое выскакивает поверх КБ. Данный инпут - фильтр поиска вещей по названию, помимо него есть комбо бокс выбора грейда и типа предмета. По идее игрок может просто выбрать S грейд, любой тип предмета и пустой фильтр для отображения всех предметов S ранга. Что уйдет в байпасс мне не принципиально, я подстроюсь под любой исход. Сейчас уходит просто "" и меня это вполне устраивает. Вероятно это систринг, полагаю на сервере Вы уже все изучили и его там никто не зовет, следовательно, видимо и правда клиент. Дебильные костыли в виде выпила сисстринга из клиента не предлагать? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ChaoticBD 4 Опубликовано 8 июля, 2021 (изменено) 8 минут назад, Rolo сказал: Вероятно это систринг, полагаю на сервере Вы уже все изучили и его там никто не зовет, следовательно, видимо и правда клиент. Дебильные костыли в виде выпила сисстринга из клиента не предлагать? На сервере данную строку ни кто не юзает, сообщение прилетает сразу, даже если сервер стоит в дебаге на получении пакета. Так что да, это что то в клиенте. Но выпилом самого сообщения не получится убрать появляющееся окошко (см скрин). Думаю, проблема где то глубже. При этом, если в //admin в окошке chars не ввести в строку ничего и нажать на кнопку find character - команда просто не сработает и ничего поверх вылезать не будет upd: вариант с value="smthing" в edit тоже не проканал Изменено 8 июля, 2021 пользователем ChaoticBD Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты