Предложение: Доработка @takeloot
-
alien3, прав однозначно. просто сделать так чтоб поринг лутил в зависимости от процента выпадания. ето разумно. или же просто сделать команду @takeloot> @takeloot< тоесть от меньшего шанса к большему и наоборот. самого раздражает када из гидр падает карта а поринг гонитса собирать тенктейлы. правда тут есть выход из ситуации. ставиш себе на альт+2 тейклут, а на альт+3 тейклут 1 и када падает желанный рар просто пускаеш лутера раров. все продумано но в исправлении всеже вижу смысл
-
redimp, мне кажется - проше просто ускорить движения поринга или сделать мгновенный перенос лута в мешок и не заморачиваться сложными механизмами тогда... Сразу после убийства моба - сразу все и без задержек - валится в мешок...
Это гораздо проще - чему уже имеющийся механизм и тем более проще всех предлагаемых
-
Bububu, ну и предлагай это в своем топике, тут же хотят усовершенствовать уже имеющийся механизм. Более того, идея очень хорошая и логичная (ясен пень, что лучше, чтобы поринг лутал сперва редкие предметы), даже не смотря на то, что само наличие поринга уже и так влияет на игру +_+
-
Согласна с предложением. Как вариант можно сделать, чтобы поринг сначала собирал самый старый лут, а потом переходил к только что выбитому. Тогда он не будет носиться от одной кучки лута к другой и, убежав далеко, пропадать, оставив часть лута на земле.
-
Dissector, тебе что нужно-то? Поринг бегающий по сложному алгоритму или быстрый сбор важного лута?
Если быстрый сбор лута - то лучше просто без поринга лут лутить сразу после убийства монстра... Лут в мешок сразу для према/суперпрема поставившего режим :
*@autoloot <процент> *
и вопрос закрыт...
И вовсе никчему строить для этого какой-то алгоритм собирания лута для поринга... -
Еще можно, наверное, вычислять маршрут поринга по алгоритму задачи коммивояжера(это когда даны координаты точек и надо составить наикратчайший маршрут, который проходит через все эти точки).
Интересно, а какой алгоритм последовательности сбора лута у поринга сейчас? -
Сейчас скорее всего лут собирается в том порядке, в котором он в каком-то массиве/списке идет на сервере. Соответственно, это самый быстрый вариант рассчета на сервере (линейный проход по списку лута).
Решать задачу коммивояжера для каждого отдельного лутера - это очень жестоко по отношению к нагрузке на сервер. В лучшем случае можно попробовать собирать самый ближний лут, то есть сначала самый ближний к персонажу, затем самый ближний к той точке, в которой поринг подобрал первый предмет, и так далее. Это, очень грубо говоря, квадратичный алгоритм, так что всё равно еще надо оценить, насколько он увеличит время рассчета (по сути дела на сколько он тормознет). Увеличение там, конечно, будет не фатальным, но может оказаться весьма существенным, когда по всему серверу сотни лутеров собирают кучи лута.
-
@"X-Oleg":
...Решать задачу коммивояжера для каждого отдельного лутера - это очень жестоко по отношению к нагрузке на сервер.
...
Увеличение там, конечно, будет не фатальным, но может оказаться весьма существенным, когда по всему серверу сотни лутеров собирают кучи лута.Каким бы ни был новый алгоритм вычисления маршрута - в любом случае быстрее его не считать а просто лутить в мешок в любом имеющемся порядке в режиме автолута с заранее заданным процентом, а остальное кидать не землю...
Это всяко короче чем - сперва все кинуть на землю и дать команды отрисовки... Потом запустить поринга - отрисовывая каждый его шаг, который побежит по какому-то заданному маршруту, который так или иначе будет оптимизирован сервером - хоть линейным списком, хоть любым другим алгоритмом... Причем нагрузка второго способа - с порингом - грузит как клиента так и сервер...Ну а уж решения задачи Коммивояжера для размерности более 25 узлов - вполне реальное количество лута между прочим - это весч которая за секунды не делается вообще... Такое решение никчему кроме перегруза сервера и лагов привести не может...
-
Про задачу коммивояжера это я пошутил(сам сейчас с ней совокупляюсь, вот и вспомнил). Просто было бы неплохо исправить ситуацию, когда вокруг юзера образовалось 2 горки лута - левая и правая, обе в радиусе действия поринга, но друг от друга расположены далеко. Поринг идет в первую кучку, собирает ее и исчезает(совершенно забыв про вторую =((()
-
Зачем извращаться если поринг работает как сам человек и на него накладываются те же статусы, то совершено логично, что если человек выбьет ГТБ то не побежит брать сначала джелопи все ближайшие, а только потом вспомнит, что где-то валяется его ГТБ. Таким образом самый логичный вариант это сортировка по % выпадения, но это вызовет замедление обработки, тк придеться список лута сортировать (если Oleg X прав) таким образом самый простореализуемый и малоресурсозатратный вариант это @takeloot % <процент рарности дропа>, те наложение фильтромаски на имеющийся стэк лута. Тем более насколько я понимаю сейчас по такойже фильтромаске поринг не берет чужой лут, тч реализация простейшая.