XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Melfis

offline
Опыт: 2,195
Активность:
Инвентарь
Мне нужно триггерно определить у юнита сколько предметов в инвентаре, затем узнать, сколько из них 1-го уровня, 2-го уровня и т.д. и если 6 предметов, то убирать предмет с самым низким уровнем. Если кто знает, подскажите пожалуйста.
И делать не на JASS, а в триггерах.
Старый 12.03.2006, 09:33
NETRAT

offline
Опыт: 83,762
Активность:
Нужны три целочисленных локалки и две локалки предмета
Код:
local integer i = 0
local integer minlevel = 99
local integer invsize = 0
local integer templevel
local item it
local item temp

Перебираешь по циклу предметы в слотах инвентаря
Код:
loop
    exitwhen i>6
    set temp = UnitItemInSlot(HERO,i)
    if temp != null then
        set templevel = GetItemLevel(temp)
        if templevel < minlevel then
            set minlevel = templevel
            set it = temp
        endif
        set invsize = invsize + 1
    endif
    set i = i+1
endloop
if (invsize>=6) then
    // Выбросить вещь it
endif

На жассе так, а на триггерах уже и не помню =) разве так сложно прописать это в триггерных действиях типа custom string?
Старый 12.03.2006, 12:19
Melfis

offline
Опыт: 2,195
Активность:
Спасибо за ответ. Попробую так.
Но хотелось бы триггерно.
Старый 12.03.2006, 13:22
NETRAT

offline
Опыт: 83,762
Активность:
Триггерно некрасиво и медленнее - просто запиши это строками в custom string'и
Старый 12.03.2006, 16:27
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 19:07.