|
|
Модератор форума: Dimitro |
Форум TrinityCore [TrinityCore] Help Как сделать процент выполнения case |
Как сделать процент выполнения case |
не знаю как описать "по грамотному" У меня есть госип (Допустим)
Код pPlayer->ADD_GOSSIP_ITEM(2, "Ололо", GOSSIP_SENDER_MAIN, 1); К нему есть case Код case 5: pPlayer->TeleportTo(1, -4943.133f, -889.814f, -5.695f, 0.701f); pPlayer->TeleportTo(1, -4943.133f, -889.814f, -5.695f, 0.701f); pPlayer->TeleportTo(1, -4943.133f, -889.814f, -5.695f, 0.701f); pPlayer->TeleportTo(1, -4943.133f, -889.814f, -5.695f, 0.701f); pPlayer->TeleportTo(1, -4943.133f, -889.814f, -5.695f, 0.701f); pPlayer->TeleportTo(1, -4943.133f, -889.814f, -5.695f, 0.701f); pPlayer->TeleportTo(1, -4943.133f, -889.814f, -5.695f, 0.701f); break; Как для каждого этого "Выполнения case" сделать процент (Шанс) выплнения одного из них, но что бы для каждого был свой процент Тоесть я хочу, что бы из этих всех выполнялся ТОЛЬКО один и со своим процентом выполнения Например: У первого pPlayer->TeleportTo выполнение имеет шанс 100% а у последнего 10%, Если брать перечисление, то можно сделать switch (urand(1, 10)) Но у первого меньше ценности чем у последнего, |
А вообще, не понимаю логическую схему. Попробуйте лучше нарисовать, что хотите. Так и решить самому проще. Я не селен в с++мне нужно сделать так, что бы при нажатии на меню исполнялся рандомный скрипт но со своим процентом Добавлено (25.02.2016, 07:47)
Сообщение # 3 написано 25.02.2016 в 07:47
|
у лута нет "уникального выпадение одного из". По-этому там каждый просто ифом проверяется на принадлежность рандома проценту.
Мой вариант даст уникальное выполнение одного из, кроме последнего, он применится в любом случае. (Из-за закрытости последнего элс)
Сообщение # 4 написано 25.02.2016 в 22:37
|
| |||
| |||