Добавлен Sacar777
Доброго времечка друзья. Хотелось бы спросить у знатоков, как правильно работать с мультибордом на jasse.
К примеру в моей карте жанра выживания, есть множество волн, которые можно запускать сразу все и для удобства я записал эти данные в мультиборд.
К примеру в моей карте жанра выживания, есть множество волн, которые можно запускать сразу все и для удобства я записал эти данные в мультиборд.
Триггер:
Событие-Юнит в области
Условие-тип герой
Действия-
Увеличиваю кол-во строк в Мультиборде на 1
Запускаю таймер для волны
и запускаю самописную функцию call BoardNewVolna("Волна №1")
Событие-Юнит в области
Условие-тип герой
Действия-
Увеличиваю кол-во строк в Мультиборде на 1
Запускаю таймер для волны
и запускаю самописную функцию call BoardNewVolna("Волна №1")
Теперь сама функция:
function BoardNewVolna takes string volna returns nothing
local integer i = MultiboardGetRowCount(udg_JC_Board)
local multiboarditem q1 = MultiboardGetItem(udg_JC_Board, i-1, 0)
local multiboarditem q2 = MultiboardGetItem(udg_JC_Board, i-1, 1)
local multiboarditem q3 = MultiboardGetItem(udg_JC_Board, i-1, 2)
call MultiboardSetItemValue(q1, volna)
call MultiboardSetItemValue(q2, R2S(TimerGetRemaining(udg_tt[i])) )
call MultiboardSetItemWidth(q1, 10.00)
call MultiboardSetItemWidth(q2, 10.00)
call MultiboardSetItemStyle(q1, true, false)
call MultiboardSetItemStyle(q2, true, false)
call MultiboardSetItemStyle(q3, false, false)
call MultiboardReleaseItem( q1 )
call MultiboardReleaseItem( q2 )
call MultiboardReleaseItem( q3 )
set q1 = null
set q2 = null
set q3 = null
endfunction
По идеи в последней строке в первом столбце должно быть название, которое я передал в функцию (Волна №1) это работает.
В втором столбце должен появится таймер (просто число) вот это уже не работает. Подскажите в чем моя ошибка при обращение к второму столбцу в доске? local multiboarditem q2 = MultiboardGetItem(udg_JC_Board, i-1, 1)
В втором столбце должен появится таймер (просто число) вот это уже не работает. Подскажите в чем моя ошибка при обращение к второму столбцу в доске? local multiboarditem q2 = MultiboardGetItem(udg_JC_Board, i-1, 1)
Заранее спасибо
Принятый ответ
Sacar777, выведи после MultiboardGetItem(udg_JC_Board, i-1, 1)
на экран следующий текст
на экран следующий текст
I2S(GetHandleId(q1))
I2S(GetHandleId(q2))
если q2 по каким то причинам не создаётся то это скажет об этом
стоп
а какой у тебя размер столбца стоит?
мб просто ячейка q1 перекрывает собой ячейку q2
и размер 10 это очень много
ведь в отличие от гуи тут размер в сотых указывается
то есть если в гуи размер 10 то тут должен быть 0.1
поставь в MultiboardSetItemWidth(q1, 10.00)
вместо 10.00 0.1 и проверь
если 0.1 не сработает то поставь 0.02
если и это не сработает то отпиши сюда
я тогда раскапаю свой старый мультибоард и сравню с твоим
стоп
а какой у тебя размер столбца стоит?
мб просто ячейка q1 перекрывает собой ячейку q2
и размер 10 это очень много
ведь в отличие от гуи тут размер в сотых указывается
то есть если в гуи размер 10 то тут должен быть 0.1
поставь в MultiboardSetItemWidth(q1, 10.00)
вместо 10.00 0.1 и проверь
если 0.1 не сработает то поставь 0.02
если и это не сработает то отпиши сюда
я тогда раскапаю свой старый мультибоард и сравню с твоим
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
желательно скрин мультибоарда
ибо "не работает" это очень растяжимое понятие
Ред. Sacar777
убедись что таймер существует
добавь перед MultiboardSetItemValue(q2, R2S(TimerGetRemaining(udg_tt[i])) ) вывод текста R2S(TimerGetRemaining(udg_tt[i])) на экран
во вторых
попробуй перенести MultiboardSetItemValue(q2, R2S(TimerGetRemaining(udg_tt[i])) )
после MultiboardSetItemStyle(q2, true, false)
так же закоменти пока что всю работу с ячейкой q3
q3 в твоём коде и не должна работать ибо ты с ней ничего не делаешь кроме стиля
Ред. Sacar777
К q2 вообще ни чего не применяется, не стиль, не размер. Пробовал иконку включить, итог нулевой
Ред. nvc123
на экран следующий текст
стоп
а какой у тебя размер столбца стоит?
мб просто ячейка q1 перекрывает собой ячейку q2
и размер 10 это очень много
ведь в отличие от гуи тут размер в сотых указывается
то есть если в гуи размер 10 то тут должен быть 0.1
поставь в MultiboardSetItemWidth(q1, 10.00)
вместо 10.00 0.1 и проверь
если 0.1 не сработает то поставь 0.02
если и это не сработает то отпиши сюда
я тогда раскапаю свой старый мультибоард и сравню с твоим