Нужно при некоторых условиях дропнуть один случайный предмет из героя или воина со способностью "Носильщик".
Кто подскажет?
Заранее попрошу тех, кто не разбирается не писать. Мне нужно именно случайный предмет дропать, а прямого способа в тригерах, как я вижу, нету.

Ну задай рандомную переменную от 1 до 6 и дропай предмет из слота под этим номером
Единственная проблема - если у носильщика меньше 6 слотов, то появляется вероятность не дропнуть ничего, ну тут можно циклом как-то, типа если дропнутый предмет = нет предмета, повторить (ток еще, чтобы цикл не мог стать вечным, проверить, что у юнита хоть 1 предмет вообще есть)
`
ОЖИДАНИЕ РЕКЛАМЫ...
21
Ну задай рандомную переменную от 1 до 6 и дропай предмет из слота под этим номером
Единственная проблема - если у носильщика меньше 6 слотов, то появляется вероятность не дропнуть ничего, ну тут можно циклом как-то, типа если дропнутый предмет = нет предмета, повторить (ток еще, чтобы цикл не мог стать вечным, проверить, что у юнита хоть 1 предмет вообще есть)
Принятый ответ
6
В таком случает предметы же будут выпадать по очереди - 1 слот, потом 2 и так далее, а мне надо рандомно.
13
Почему они у тебя будут по очереди выпадать, если ты используешь рандомное число от 0 до 5?
21
Maxwell_Hive, ясное дело, что, как хоть 1 предмет дропнется, цикл надо завершать.
NekoriDes, почему от 0 до 5? Слоты предметов в Jass 0,1,2,3,4,5 нумеруются?
28
ClotPh, на западе натуральные числа идут с 0
например наш 1 этаж у них 0 и т.д.
а т.к. jass почти все остальные языки программирования изобретены на западе то и нумерация в них идёт с 0
27
Единственная проблема - если у носильщика меньше 6 слотов
есть функция. макс. кол-во слотов в инвентаре
native UnitInventorySize takes unit whichUnit returns integer
22
есть проверка на количесто слотов инвентаря получаем и делаем с 0 до макс слота рандом
Чтобы оставить комментарий, пожалуйста, войдите на сайт.