Здравствуйте, можно ли как-нибудь одним условием проверить наличии любого свободного слота под предмет, вместо того, чтобы проверять каждый?

Нет, таких нативок нет в дефолте. Только на предмет в слоте.
Но можно попробовать обратиться к Unryze, чтобы он для своего Ujapi запилил такую функцию, что нибудь в духе
native GetHeroFreeItemSlot takes unit hero returns integer //возвращает номер первого по порядку свободного слота, если слотов нет, то возвращается -1
И проверять её по условию, что номер слота больше 0, например.
Ну или самому костыль писать, но там по циклу всё равно придётся проверять каждый слот.
`
ОЖИДАНИЕ РЕКЛАМЫ...
23
Принятый ответ
Нет, таких нативок нет в дефолте. Только на предмет в слоте.
Но можно попробовать обратиться к Unryze, чтобы он для своего Ujapi запилил такую функцию, что нибудь в духе
native GetHeroFreeItemSlot takes unit hero returns integer //возвращает номер первого по порядку свободного слота, если слотов нет, то возвращается -1
И проверять её по условию, что номер слота больше 0, например.
Ну или самому костыль писать, но там по циклу всё равно придётся проверять каждый слот.
30
EugeAl, Unryze круче запилил и дал возможность избавиться от лимита в 6 слотов.
23
nazarpunk, ну, это круче, бесспорно, но это совсем другая система, кастом фреймы там итд итп.
26
TeX13
можно ли как-нибудь одним условием проверить наличии любого свободного слота под предмет, вместо того, чтобы проверять каждый?
Нет, тебе в любом случае придётся проверить все слоты юниты на наличие в них чего либо. Поэтому проще взять то что есть и пользоваться этим.
function UnitInventoryFree takes unit u returns boolean
    return UnitInventoryCount(u) < UnitInventorySize(u)
endfunction
Чтобы оставить комментарий, пожалуйста, войдите на сайт.