Формула дропа

Flylink

Прославленный
Местный
Старожил I степени
Сообщения
633
Розыгрыши
0
Репутация
252
Реакции
191
Баллы
1 478
Собственно, возник такой вопрос. Как всё таки должен распределяется дроп. Хроники High Five/
возьмём в пример
Падает только один предмет с группы
Код:
<group chance="36.389">
                <reward item_id="1879" min="1" max="3" chance="40.4996" />    <!--Cokes-->
                <reward item_id="1885" min="1" max="1" chance="40.4996" />    <!--High-Grade Suede-->
                <reward item_id="9628" min="1" max="1" chance="3.8117" />    <!--Leonard-->
                <reward item_id="9630" min="1" max="1" chance="2.5579" />    <!--Orichalcum-->
                <reward item_id="9629" min="1" max="1" chance="2.1130" />    <!--Adamantine-->
                <reward item_id="10483" min="1" max="1" chance="3.3750" />    <!--Life Stone -  Level 82-->
                <reward item_id="10484" min="1" max="1" chance="0.8437" />    <!--Mid-Grade Life Stone -  Level 82-->
                <reward item_id="10485" min="1" max="1" chance="0.0844" />    <!--High-Grade Life Stone -  Level 82-->
                <reward item_id="9553" min="1" max="1" chance="0.0972" />    <!--Water Crystal-->
                <reward item_id="9547" min="1" max="1" chance="3.8880" />    <!--Water Stone-->
                <reward item_id="17248" min="1" max="1" chance="0.2859" />    <!--Large Dragon Bone-->
                <reward item_id="6622" min="1" max="1" chance="1.9440" />    <!--Giant's Codex-->
            </group>
Вот по падаем мы на шанс группы, и сначала идёт сверка шансов начиная с первого итема. Если по пали в первый итем значит он выпадет и на этом всё обрывается.
Но тогда практически всегда будет падать только гребанный первый итем. А если ещё в конфиге поднять шансы на итемы, х3-5 то там шанс будет 100%, и собственно выпадать будет всегда первый итем. Это бред получается.
Так не правильнее будет, сначала выбрать рандом от 1 до 12(в зависимоси от количества итемов) а потом только сверять шанс, таким образом точно будет выпадать любой предмет из списка.
И как оно вообще на самом деле на птс распределяется?
 

Вот по падаем мы на шанс группы, и сначала идёт сверка шансов начиная с первого итема. Если по пали в первый итем значит он выпадет и на этом всё обрывается.
Кто тебе такой бред сказал?
Работает это так:
считаются шансы для каждой группы, 100% означает, что эта группа точно выпадет т.е.
А - 5%
B - 50%
C - 70%

У тебя может выпасть и А, и Б, и С. НО в этой группе есть свои шансы (сумма на которые не может привышать 100%), что означает, что если ты повысишь шансы на группу, то у тебя не будет падать 100% первый элемент из группы.
 
Кто тебе такой бред сказал?
Работает это так:
считаются шансы для каждой группы, 100% означает, что эта группа точно выпадет т.е.
А - 5%
B - 50%
C - 70%

У тебя может выпасть и А, и Б, и С. НО в этой группе есть свои шансы (сумма на которые не может привышать 100%), что означает, что если ты повысишь шансы на группу, то у тебя не будет падать 100% первый элемент из группы.
в примере группа уже выпала, и повышаем мы шанс самих предметов а не группы.
 
вобще, сумма всех шансов предметов в группе всегда должна быть ровно 100%. манипулирование рейтами на дроп должно затрагивать всегда только шанс самой группы, но никак не шансы вещей внутри этой группы - у вещей в ней максимум может повышаться количество, в случаях когда уже сам шанс группы дошел до 100% и выше подниматься не может.

про сам расчет выпадения определенной вещи из группы, если по простому и тупому:
100% в ней растягиваются как к примеру диапазон чисел от 0 до 1кк, т.е. к примеру 1% в группе равен 10000 единиц.
в группе у нас например 5 вещей, каждый с шансом 20%, т.е. 200000 единиц.
при выпадении группы кидается Rnd.get(1000000).
к примеру выпало 250000.
начинаем перебор вещей в группе, суммируя при этом их шансы и проверяя при этом - не вписывается ли выпавшее число в диапазон сумма для предыдущей вещи - сумма для текущей вещи, т.е.:
1 - 0 - 200000
2 - 200000 - 400000
3 - 400000 - 600000
...

и вот в данном случае выпадет вторая вещь, т.к. 250000 входит в диапазон 200000 - 400000.

надеюсь более менее понятно объяснил :)
 
Последнее редактирование:
В группе шанс предметов 100% и ничего с ними делать не надо.

Я так понимаю тебе для рейтовки надо. Если хочешь повысить рейтовку, то увеличивай шанс группы, количество предметов, либо выноси в отдельную группу итемы из той группы, в которой хочешь повысить шанс того или иного предмета.
 
вобще, сумма всех шансов предметов в группе всегда должна быть ровно 100%. манипулирование рейтами на дроп должно затрагивать всегда только шанс самой группы, но никак не шансы вещей внутри этой группы - у вещей в ней максимум может повышаться количество, в случаях когда уже сам шанс группы дошел до 100% и выше подниматься не может.

про сам расчет выпадения определенной вещи из группы, если по простому и тупому:
100% в ней растягиваются как к примеру диапазон чисел от 0 до 1кк, т.е. к примеру 1% в группе равен 10000 единиц.
в группе у нас например 5 вещей, каждый с шансом 20%, т.е. 200000 единиц.
при выпадении группы кидается Rnd.get(1000000).
к примеру выпало 250000.
начинаем перебор вещей в группе, суммируя при этом их шансы и проверяя при этом - не вписывается ли выпавшее число в диапазон сумма для предыдущей вещи - сумма для текущей вещи, т.е.:
1 - 0 - 200000
2 - 200000 - 400000
3 - 400000 - 600000
...

и вот в данном случае выпадет вторая вещь, т.к. 250000 входит в диапазон 200000 - 400000.

надеюсь более менее понятно объяснил :)
Спасибо, ответ помог расставить все по полочкам.
 
Кто тебе такой бред сказал?
Работает это так:
считаются шансы для каждой группы, 100% означает, что эта группа точно выпадет т.е.
А - 5%
B - 50%
C - 70%

У тебя может выпасть и А, и Б, и С. НО в этой группе есть свои шансы (сумма на которые не может привышать 100%), что означает, что если ты повысишь шансы на группу, то у тебя не будет падать 100% первый элемент из группы.
Ну вот смотри, а в этой группе которая допустим выпала B.
В ней 5 итемов
1 - 15%
2 - 45%
3 - 10%
4 - 15%
5 - 15%
Это сначала будет считать шанс певрого итема?
не вошёл в этот пойдёт считать следующий? и так пока не попадёт в шанс итема?
 
В группе шанс предметов 100% и ничего с ними делать не надо.

Я так понимаю тебе для рейтовки надо. Если хочешь повысить рейтовку, то увеличивай шанс группы, количество предметов, либо выноси в отдельную группу итемы из той группы, в которой хочешь повысить шанс того или иного предмета.
Ну в этом я разобрался, меня интересует метод определения, какой из предметов внутри группы будет выбран для посчёта шанса, или оно тупо начинает считать с первого предмета в группе
 
Ну вот смотри, а в этой группе которая допустим выпала B.
В ней 5 итемов
1 - 15%
2 - 45%
3 - 10%
4 - 15%
5 - 15%
Это сначала будет считать шанс певрого итема?
не вошёл в этот пойдёт считать следующий? и так пока не попадёт в шанс итема?
Да.
 
Бредово получается)

Код:
<group chance="97.7784">
                <!-- Cokes-->
                <reward item_id="1879" min="3" max="9" chance="18.9989" />
                <!-- High Grade Suede-->
                <reward item_id="1885" min="1" max="1" chance="56.9966" />
                <!-- Renad-->
                <reward item_id="9628" min="1" max="1" chance="5.3644" />
                <!-- Oricalcum-->
                <reward item_id="9630" min="1" max="1" chance="3.5998" />
                <!-- Adamantium-->
                <reward item_id="9629" min="1" max="1" chance="2.9737" />
                <!-- General 82 S-->
                <reward item_id="10483" min="1" max="1" chance="4.7497" />
                <!-- Special 82 S-->
                <reward item_id="10484" min="1" max="1" chance="1.1874" />
                <!-- Rare 82 S-->
                <reward item_id="10485" min="1" max="1" chance="0.1187" />
                <!-- High Ore Of Wind-->
                <reward item_id="9555" min="1" max="1" chance="0.1368" />
                <!-- Ore Of Wind-->
                <reward item_id="9549" min="1" max="1" chance="5.4717" />
                <!-- Big Dragon Bone Summon-->
                <reward item_id="17248" min="1" max="1" chance="0.4023" />
            </group>
и в итоге почти всегда получаем второй итем, а последний в списке, просто не реально выбить)
 
Бредово получается)

Код:
<group chance="97.7784">
                <!-- Cokes-->
                <reward item_id="1879" min="3" max="9" chance="18.9989" />
                <!-- High Grade Suede-->
                <reward item_id="1885" min="1" max="1" chance="56.9966" />
                <!-- Renad-->
                <reward item_id="9628" min="1" max="1" chance="5.3644" />
                <!-- Oricalcum-->
                <reward item_id="9630" min="1" max="1" chance="3.5998" />
                <!-- Adamantium-->
                <reward item_id="9629" min="1" max="1" chance="2.9737" />
                <!-- General 82 S-->
                <reward item_id="10483" min="1" max="1" chance="4.7497" />
                <!-- Special 82 S-->
                <reward item_id="10484" min="1" max="1" chance="1.1874" />
                <!-- Rare 82 S-->
                <reward item_id="10485" min="1" max="1" chance="0.1187" />
                <!-- High Ore Of Wind-->
                <reward item_id="9555" min="1" max="1" chance="0.1368" />
                <!-- Ore Of Wind-->
                <reward item_id="9549" min="1" max="1" chance="5.4717" />
                <!-- Big Dragon Bone Summon-->
                <reward item_id="17248" min="1" max="1" chance="0.4023" />
            </group>
и в итоге почти всегда получаем второй итем, а последний в списке, просто не реально выбить)
решил актуализировать мой вопрос тут?) ну почти мой) я примерно в похожей ситуации был) только в чуть более тупой) но в почти такой же, что дроп не выходит за рамки первых итемов в группе
 
решил актуализировать мой вопрос тут?) ну почти мой) я примерно в похожей ситуации был) только в чуть более тупой) но в почти такой же, что дроп не выходит за рамки первых итемов в группе
Эта тема 2016 года) я сейчас рейтую птс рейтером и делаю парс) но не уверен в правильности подсчёта шанса, внутри группы)
 
Эта тема 2016 года) я сейчас рейтую птс рейтером и делаю парс) но не уверен в правильности подсчёта шанса, внутри группы)
ну если он их по порядку считает, то это ерунда полная, тогда итемы нужно раскладывать в обратном порядке, по возрастанию шанса)
 
нет, не считает.
я же вон писал, как именно должен выбираться и выбирается предмет внутри самой группы соответственно внутригрупповым шансам.

если у вас в сборке выбирается по принципу "кидаем на каждый предмет в группе rnd с заданным шансом, пока что-то не выпадет", то это неправильная реализация.
 
Последнее редактирование:
нет, не считает.
я же вон писал, как именно должен выбираться и выбирается предмет внутри самой группы соответственно внутригрупповым шансам.

если у вас в сборке выбирается по принципу "кидаем на каждый предмет в группе rnd с заданным шансом, пока что-то не выпадет", то это неправильная реализация.
Цикл на последней вещи завершается, без постоянной прокрутки) но считает сначала шанс первого итема, если не выпал то, второго итема и так до последнего, может и вовсе ничего не выпасть.
 
как я и говорил выше - это неправильная реализация, на каждую вещь в группе проверять шанс персонально.
 
как я и говорил выше - это неправильная реализация, на каждую вещь в группе проверять шанс персонально.
для рядового юзера главное что работает :D а каким методом сделан костыль никого не интересует. Яйциент стайл мазафака.
 
Назад
Сверху Снизу