MOTR logo
    • Категории
    • Последние
    • Популярные
    • Метки
    • Пользователи
    • Группы
    • Зарегистрироваться
    • Войти

    Предложение: Доработка @takeloot

    Запланировано Прикреплена Закрыта Перенесена Архивные предложения
    19 Сообщения 11 Posters 1.1k Просмотры
    Загружаем больше сообщений
    • Сначала старые
    • Сначала новые
    • По количеству голосов
    Ответить
    • Ответить, создав новую тему
    Авторизуйтесь, чтобы ответить
    Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
    • R Не в сети
      redimp
      отредактировано

      alien3, прав однозначно. просто сделать так чтоб поринг лутил в зависимости от процента выпадания. ето разумно. или же просто сделать команду @takeloot> @takeloot< тоесть от меньшего шанса к большему и наоборот. самого раздражает када из гидр падает карта а поринг гонитса собирать тенктейлы. правда тут есть выход из ситуации. ставиш себе на альт+2 тейклут, а на альт+3 тейклут 1 и када падает желанный рар просто пускаеш лутера раров. все продумано но в исправлении всеже вижу смысл

      1 ответ Последний ответ Ответить Цитировать 0
      • BububuB Не в сети
        Bububu Заблокирован
        отредактировано

        redimp, мне кажется - проше просто ускорить движения поринга или сделать мгновенный перенос лута в мешок и не заморачиваться сложными механизмами тогда... Сразу после убийства моба - сразу все и без задержек - валится в мешок...

        Это гораздо проще - чему уже имеющийся механизм и тем более проще всех предлагаемых

        1 ответ Последний ответ Ответить Цитировать 0
        • DissectorD Не в сети
          Dissector
          отредактировано

          Bububu, ну и предлагай это в своем топике, тут же хотят усовершенствовать уже имеющийся механизм. Более того, идея очень хорошая и логичная (ясен пень, что лучше, чтобы поринг лутал сперва редкие предметы), даже не смотря на то, что само наличие поринга уже и так влияет на игру +_+

          1 ответ Последний ответ Ответить Цитировать 0
          • FrancoisF Не в сети
            Francois
            отредактировано

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

            1 ответ Последний ответ Ответить Цитировать 0
            • BububuB Не в сети
              Bububu Заблокирован
              отредактировано

              Dissector, тебе что нужно-то? Поринг бегающий по сложному алгоритму или быстрый сбор важного лута?

              Если быстрый сбор лута - то лучше просто без поринга лут лутить сразу после убийства монстра... Лут в мешок сразу для према/суперпрема поставившего режим :
              *@autoloot <процент> *
              и вопрос закрыт...
              И вовсе никчему строить для этого какой-то алгоритм собирания лута для поринга...

              1 ответ Последний ответ Ответить Цитировать 0
              • Ego74E Не в сети
                Ego74 Заблокирован
                отредактировано

                Еще можно, наверное, вычислять маршрут поринга по алгоритму задачи коммивояжера(это когда даны координаты точек и надо составить наикратчайший маршрут, который проходит через все эти точки).
                Интересно, а какой алгоритм последовательности сбора лута у поринга сейчас?

                1 ответ Последний ответ Ответить Цитировать 0
                • X OlegX Не в сети
                  X Oleg
                  отредактировано

                  Сейчас скорее всего лут собирается в том порядке, в котором он в каком-то массиве/списке идет на сервере. Соответственно, это самый быстрый вариант рассчета на сервере (линейный проход по списку лута).

                  Решать задачу коммивояжера для каждого отдельного лутера - это очень жестоко по отношению к нагрузке на сервер. В лучшем случае можно попробовать собирать самый ближний лут, то есть сначала самый ближний к персонажу, затем самый ближний к той точке, в которой поринг подобрал первый предмет, и так далее. Это, очень грубо говоря, квадратичный алгоритм, так что всё равно еще надо оценить, насколько он увеличит время рассчета (по сути дела на сколько он тормознет). Увеличение там, конечно, будет не фатальным, но может оказаться весьма существенным, когда по всему серверу сотни лутеров собирают кучи лута.

                  1 ответ Последний ответ Ответить Цитировать 0
                  • BububuB Не в сети
                    Bububu Заблокирован
                    отредактировано

                    @"X-Oleg":
                    ...

                    Решать задачу коммивояжера для каждого отдельного лутера - это очень жестоко по отношению к нагрузке на сервер.
                    ...
                    Увеличение там, конечно, будет не фатальным, но может оказаться весьма существенным, когда по всему серверу сотни лутеров собирают кучи лута.

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

                    Ну а уж решения задачи Коммивояжера для размерности более 25 узлов - вполне реальное количество лута между прочим - это весч которая за секунды не делается вообще... Такое решение никчему кроме перегруза сервера и лагов привести не может...

                    1 ответ Последний ответ Ответить Цитировать 0
                    • Ego74E Не в сети
                      Ego74 Заблокирован
                      отредактировано

                      Про задачу коммивояжера это я пошутил(сам сейчас с ней совокупляюсь, вот и вспомнил). Просто было бы неплохо исправить ситуацию, когда вокруг юзера образовалось 2 горки лута - левая и правая, обе в радиусе действия поринга, но друг от друга расположены далеко. Поринг идет в первую кучку, собирает ее и исчезает(совершенно забыв про вторую =((()

                      1 ответ Последний ответ Ответить Цитировать 0
                      • DarkmanD Не в сети
                        Darkman
                        отредактировано

                        Зачем извращаться если поринг работает как сам человек и на него накладываются те же статусы, то совершено логично, что если человек выбьет ГТБ то не побежит брать сначала джелопи все ближайшие, а только потом вспомнит, что где-то валяется его ГТБ. Таким образом самый логичный вариант это сортировка по % выпадения, но это вызовет замедление обработки, тк придеться список лута сортировать (если Oleg X прав) таким образом самый простореализуемый и малоресурсозатратный вариант это @takeloot % <процент рарности дропа>, те наложение фильтромаски на имеющийся стэк лута. Тем более насколько я понимаю сейчас по такойже фильтромаске поринг не берет чужой лут, тч реализация простейшая.

                        1 ответ Последний ответ Ответить Цитировать 0
                        • Первое сообщение
                          Последнее сообщение