Im-not 93 Опубликовано 22 Февраля 1 час назад, drMiha сказал: вместо получения порядкового номера "случайного" предмета из очереди, получаю его через math.random() Криво он работает, одно значение всегда выпадает из пула, причём даже в последующих таких же наградах оно так же отсутствует. Видимо, связано с текущим состоянием очереди. Проверял на выборке величиной 1000: и на паре вариантов, и на полных пулах один и тот же элемент выпадает. Делай подменой, проверил свой вариант, там всё чётко рандомно И работает быстрее. 1 Поделиться этим сообщением Ссылка на сообщение
Im-not 93 Опубликовано 23 Февраля 8 часов назад, drMiha сказал: не первый и последний из пулов? Нет. Для каждого пула не выпадала определённая позиция, не обязательно первая или последняя. Но тут прикол скорее в том, что в текущей очереди не такой порядок как в шаблоне, поэтому скорее всего всё же не выпадает именно последняя (рандом же на 1 меньше глубины пула выходит), но только из самой очереди. Как-то так. А реализовал просто в лоб: вместо got(self:get_random_item(kk,task_desc.vendor),1) -> got(reward[kk][math.random(#reward[kk])],1) где reward - это массив массивов наград, т.е. я просто исключил get_random_item из выдачи награды 1 час назад, _Val_ сказал: Вообще "перезагрузка" - это ненормальный режим. Да, сейвскам вообще тогда на запредельный уровень уйдёт, то, что сейчас, очень даже справедливое. 2 Поделиться этим сообщением Ссылка на сообщение
Im-not 93 Опубликовано 23 Февраля (изменено) 1 час назад, drMiha сказал: с помощью каких инструментов Вы тестировали код? Никаких, в игре. Менял в cycle_task.ltx пулы и количество наград у ближайшего квестовика. На 1000 штук даже слегка подвисает, а в случае в пулом Новый ствол (78 вариантов) - прилично. Что по поводу прикрывающих поршней, то во всех вариантах цикл завершался value = "" за первый проход, откуда там поршень с таким именем - загадка. В конструкцию if not result then ... вообще никогда не заходило. Такое ощущение, что вся эта функция общего вида, но для данного шаблона пулов она отрабатывает верно и не задействует весь свой спектр. В дополнении в предыдущему посту вот готовый запарсенный массив reward reward.txt Изменено 23 Февраля пользователем Im-not 1 Поделиться этим сообщением Ссылка на сообщение