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

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



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

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

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