Мультисел размером в 100к строк - 362/388

Elrik

Величайший
Участник
Победитель в номинации 2021
Участник Новогоднего Фонда 2021
Сообщения
226
Розыгрыши
0
Решения
2
Репутация
13
Реакции
67
Баллы
1 593
Хроники
  1. Prologue: Prelude of War
Сборка
java
Вообщем вопрос такой, как может повлиять мультисел размером в ~100к строк, на сервер и игровой клиент.

Мультисел простой, и отображает он только вещи, доступные к обмену, то-есть не весь список из 700 предметов, мои тесты результата ничего не показали ( все работает, задержек и фризов нету), и всё-же опасения у меня есть.

Возможно есть знатоки которые уже делали подобное и добирались до скелетов с шкафу?
 
Решение
Если боишься, всегда можно разбить по грейдам оружие, (мультиселлам) соответственно. Что собственно и сделано было ещё с древних хроник при обмене у Маммона. Кстати, если это касается именно обмена оружия, то можно вообще скрыть все другие иконки кроме тех, на которые игрок может физически поменяться. Т.е. логика такая, если у персонажа есть хома, то мкльтисел выдаст только те иконки, на которые можно хому поменять исходя из самого мультиселла. В моей сборке это реализуется путем "bypass -h npc_%objectId%_exc_multisell и номер". Именно _exc_ и выполняет эту функцию
Зачем вы пытаетесь исправить то, что работает нормально? Расслабьтесь и получайте удовольствие.
 
Вероятность того что его кликнут одновременно хотя-бы 10% крайне мала, да и в целом как бы выше ответ был.
Зачем вы пытаетесь исправить то, что работает нормально? Расслабьтесь и получайте удовольствие.
 
Вообщем вопрос такой, как может повлиять мультисел размером в ~100к строк, на сервер и игровой клиент.

Мультисел простой, и отображает он только вещи, доступные к обмену, то-есть не весь список из 700 предметов, мои тесты результата ничего не показали ( все работает, задержек и фризов нету), и всё-же опасения у меня есть.

Возможно есть знатоки которые уже делали подобное и добирались до скелетов с шкафу?
Максимум что случится это крит клиента у человека открывающего мультиселл если так случится что у него выбьется много лотов.
На сервер это никак не повлияет, если там конечно не впска за 500 рублей и если обработчик мультиселла сделан правильно без жесткого хардкода.
Если все более менее тогда ему нет разницы особой, что 100к строк грузить, что 1кк строк) это же поднимается разово при загрузке сервера. Возможно будет загружать сервер дольше на 0.1-1 секунды :)
Но опять же если там хардкод который циклами херачит проверки (а я такое видел пару раз в сборочках), тогда возможны утечки памяти, и соответственно можно ложить яву, но вроде в последние годы все сборки более менее такие страшные темы у себя уже поправили.
 
Даже интересно стало - что ж это за мультиселл такой, аж на 100к строк :)
У меня у самого самый большой от силы на 17к строк всего - это один из обменов эквипа у маммона. И да, никаких проблем с ним нет.
 
Даже интересно стало - что ж это за мультиселл такой, аж на 100к строк :)
У меня у самого самый большой от силы на 17к строк всего - это один из обменов эквипа у маммона. И да, никаких проблем с ним нет.
Обмен оружия
 
Если боишься, всегда можно разбить по грейдам оружие, (мультиселлам) соответственно. Что собственно и сделано было ещё с древних хроник при обмене у Маммона. Кстати, если это касается именно обмена оружия, то можно вообще скрыть все другие иконки кроме тех, на которые игрок может физически поменяться. Т.е. логика такая, если у персонажа есть хома, то мкльтисел выдаст только те иконки, на которые можно хому поменять исходя из самого мультиселла. В моей сборке это реализуется путем "bypass -h npc_%objectId%_exc_multisell и номер". Именно _exc_ и выполняет эту функцию
 
  • Мне нравится
Реакции: Nixy
Решение
Если боишься, всегда можно разбить по грейдам оружие, (мультиселлам) соответственно. Что собственно и сделано было ещё с древних хроник при обмене у Маммона. Кстати, если это касается именно обмена оружия, то можно вообще скрыть все другие иконки кроме тех, на которые игрок может физически поменяться. Т.е. логика такая, если у персонажа есть хома, то мкльтисел выдаст только те иконки, на которые можно хому поменять исходя из самого мультиселла. В моей сборке это реализуется путем "bypass -h npc_%objectId%_exc_multisell и номер". Именно _exc_ и выполняет эту функцию
Всё именно так и сделал. Только в игровом помощнике по дефолту нет exc_multisell, но это не проблема.
В и тоге у меня в мультиселле 7000 итемов :)
 
Всё именно так и сделал. Только в игровом помощнике по дефолту нет exc_multisell, но это не проблема.
В и тоге у меня в мультиселле 7000 итемов :)
Не сочтите за флуд и прочее, но что за мультиселл такой на 7к итемов?
 
Не сочтите за флуд и прочее, но что за мультиселл такой на 7к итемов?
Такие мультиселлы разве что под всякие обмены и т.п. Заполнить такой большой мультиселл итемами для продажи - бессмысленно, хотя бы потому, что искать в нём что-то будет целым приключением.

Ну, а вообще: Корейцы давным-давно показали, как делаются мультиселлы - ты либо делишь предметы по разным мультиселлам, либо пользуешься параметром, который просто не отображает предметы, которые ты не можешь себе позволить и проблема огромных мультиселлов решается сама собой.


Корейцы не делали обмены мамона, обмены пвп вещей и т.п., где огромная куча строчек - как огромные портянки предметов, средь которых ты ищешь нужный, это глупо. А если и делали - исправляли в некст обновлениях. Они показывают только то, что тебе доступно и это логично. Плюс не нагружает пакетку лишним говном, которое необходимо отправить на клиент.
Ведь если среди 10к предметов ты можешь купить только 2 - разумнее отправить только 2, а не все 10к, верно?
 
Назад
Сверху Снизу