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

Лучший ответ:
Ну задай рандомную переменную от 1 до 6 и дропай предмет из слота под этим номером
Единственная проблема - если у носильщика меньше 6 слотов, то появляется вероятность не дропнуть ничего, ну тут можно циклом как-то, типа если дропнутый предмет = нет предмета, повторить (ток еще, чтобы цикл не мог стать вечным, проверить, что у юнита хоть 1 предмет вообще есть)



Просмотров: 255

ClotPh #1 - 6 месяцев назад 2

Ну задай рандомную переменную от 1 до 6 и дропай предмет из слота под этим номером
Единственная проблема - если у носильщика меньше 6 слотов, то появляется вероятность не дропнуть ничего, ну тут можно циклом как-то, типа если дропнутый предмет = нет предмета, повторить (ток еще, чтобы цикл не мог стать вечным, проверить, что у юнита хоть 1 предмет вообще есть)
Maxwell_Hive #2 - 6 месяцев назад 0
В таком случает предметы же будут выпадать по очереди - 1 слот, потом 2 и так далее, а мне надо рандомно.
NekoriDes #3 - 6 месяцев назад 0
Почему они у тебя будут по очереди выпадать, если ты используешь рандомное число от 0 до 5?
ClotPh #4 - 6 месяцев назад (отредактировано ) 0
Maxwell_Hive, ясное дело, что, как хоть 1 предмет дропнется, цикл надо завершать.
NekoriDes, почему от 0 до 5? Слоты предметов в Jass 0,1,2,3,4,5 нумеруются?
nvc123 #5 - 6 месяцев назад (отредактировано ) 0
ClotPh, на западе натуральные числа идут с 0
например наш 1 этаж у них 0 и т.д.
а т.к. jass почти все остальные языки программирования изобретены на западе то и нумерация в них идёт с 0
Steal nerves #6 - 6 месяцев назад 2
Единственная проблема - если у носильщика меньше 6 слотов
есть функция. макс. кол-во слотов в инвентаре
native UnitInventorySize takes unit whichUnit returns integer
pro100master #7 - 6 месяцев назад 0
есть проверка на количесто слотов инвентаря получаем и делаем с 0 до макс слота рандом