FkoFF,
Quote (FkoFF)
1. Как заставить мультибоард нормально обновлятся.
Мультибоарды бывают разные. Если тебе нужно обновить данные, то мне для ответа на поставленный тобой вопрос нужна информация об обновляемых данных.
Quote (FkoFF)
2. Как заставить мультибоард отображать предметы иконки кроме огромного ифзена, который будет оные иконки выставлять в нужные строчки, в зависимости от.
Можно обойтись без громоздких блоков if\then\else. Но понадобится JASS. Нужно перед всем кодом карты (есть значок-иконка карты и её название в редакторе триггеров над всеми папками, вверху...) поставить массивный инит. Просто конвертить тип предмета в число (эта функция позволит по ID предмета получить натуральное число). Вот там нужен большой блок if\then\elseif\endif. Он будет где-то такой структуры:
function ItID2Int takes integer id returns integer
if id == 'A000' then
return 1
elseif id == 'A001' then
return 2
endif
endfunction Где 'A000' и 'A001' = Id предметов из РО. Проделай так со всеми предметами. Получишь JASS-конверсионную функцию. Затем создай триггер, событие Map Initialization. Затем создай массив строк (допустим, ItemIcons). В триггере пропиши инициализацию так:
Set ItemIcons[1] = "Путь к иконке предмета под Id 'A000' "
Set ItemIcons[2] = "Путь к иконке предмета под Id 'A001' "
и.т.д.
Хорошо, инициализация готова. Теперь как вставить иконки? Объясняю. Понадобится снова драгоценный JASS. В триггере, где ты хочешь получить иконку предмета, ставь так:
call MultiboardSetItemIcon(MultiboardGetItem(mb,1,0),udg_ItemIcons[ItID2Int(GetItemTypeId(UnitItemInSlot(u,0)))])
call MultiboardSetItemIcon(MultiboardGetItem(mb,1,0),udg_ItemIcons[ItID2Int(GetItemTypeId(UnitItemInSlot(u,1)))])
call MultiboardSetItemIcon(MultiboardGetItem(mb,1,0),udg_ItemIcons[ItID2Int(GetItemTypeId(UnitItemInSlot(u,2)))])
call MultiboardSetItemIcon(MultiboardGetItem(mb,1,0),udg_ItemIcons[ItID2Int(GetItemTypeId(UnitItemInSlot(u,3)))])
call MultiboardSetItemIcon(MultiboardGetItem(mb,1,0),udg_ItemIcons[ItID2Int(GetItemTypeId(UnitItemInSlot(u,4)))])
call MultiboardSetItemIcon(MultiboardGetItem(mb,1,0),udg_ItemIcons[ItID2Int(GetItemTypeId(UnitItemInSlot(u,5)))])
где mb - мультидоска, 1 - строка, 0 - колонка, u - герой, у которого нужно получить иконки предметов, 0,1,2,3,4,5 - номера слотов предметов Не забудь, что для каждого слота своя строка и\или колонка!
Quote (FkoFF)
3. Небольшая практика по мультибоарду, как собственно его создавать так, что бы обходится без огромных триггеров.
Сделаем двумя триггерами такой вот небольшой мультиборд.
Имея параметр Multiboard_Spots, можно удобно обновить данные любого игрока. Для этого можно использовать данный триггер:
Я думаю, здесь понятен процесс облегчения создания примитивного мультиборда.
Quote (FkoFF)
4. Возможно ли переместить мультибоард в другой угол экрана.
Нет. Только растянуть на весь экран. Это тебе знающий человек ответил.