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

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