Добавлен
Код
define{
    MultiboardSetItemStyleBJ(mb, col, row, showValue, showIcon) = { set mbitem = MultiboardGetItem(mb, row - 1, col - 1); call MultiboardSetItemStyle(mbitem, showValue, showIcon); call MultiboardReleaseItem(mbitem) }
    MultiboardSetItemValueBJ(mb, col, row, val) = { set mbitem = MultiboardGetItem(mb, row - 1, col - 1); call MultiboardSetItemValue(mbitem, val); call MultiboardReleaseItem(mbitem) }
    MultiboardSetItemColorBJ(mb, col, row, red, green, blue, transparency) = { set mbitem = MultiboardGetItem(mb, row - 1, col - 1); call MultiboardSetItemValueColor(mbitem, PercentTo255(red), PercentTo255(green), PercentTo255(blue), PercentTo255(100.0-transparency)); call MultiboardReleaseItem(mbitem) }
    MultiboardSetItemWidthBJ(mb, col, row, width) = { set mbitem = MultiboardGetItem(mb, row - 1, col - 1); call MultiboardSetItemWidth(mbitem, width/100.0); call MultiboardReleaseItem(mbitem) }
    MultiboardSetItemIconBJ(mb, col, row, iconFileName) = { set mbitem = MultiboardGetItem(mb, row - 1, col - 1); call MultiboardSetItemIcon(mbitem, iconFileName); call MultiboardReleaseItem(mbitem) }
}
JassHelper ругается на это
call set mbitem=MultiboardGetItem(...
Это не помогает
define <call set> = set
Версия AdicHelper 1.4.2.40

UrsaBoss, я проверял и всё работает
возможно ты смешиваешь cjass и jass синтаксис (чего делать нельзя) и прописываешь call MultiboardSetItemStyleBJ
в таком случае есть лишь 3 варианта
первый это не делать того чего делать нельзя и писать на чистом cjass
второй это создать функцию (как сделано в ALL.j) :
void MultiboardSetItemStyleBJFix(multiboard mb, int col, int row, bool showValue, bool showIcon){
	multiboarditem mbitem = MultiboardGetItem(mb, row - 1, col - 1);
	MultiboardSetItemStyle(mbitem, showValue, showIcon);
	MultiboardReleaseItem(mbitem)
}
MultiboardSetItemStyleBJ(mb, col, row, showValue, showIcon) = MultiboardSetItemStyleBJFix(mb, col, row, showValue, showIcon)
третий это дефайн с call (не уверен что сработает):
call MultiboardSetItemStyleBJ(mb, col, row, showValue, showIcon) = {
	mbitem = MultiboardGetItem(mb, row - 1, col - 1);
	MultiboardSetItemStyle(mbitem, showValue, showIcon);
	MultiboardReleaseItem(mbitem) 
}
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
28
KingMaximax, он компилирует в call set mbitem=MultiboardGetItem(...
если ты не заметил то в коде этого небыло
29
nvc123, извините, не заметил. А разве он не повторяет то, что есть в ALL.j?
28
KingMaximax, а ты видел в ALL.j работу с мультибоардами?
лично я там не нашёл дефайна для MultiboardSetItemStyleBJ
29
nvc123:
KingMaximax, а ты видел в ALL.j работу с мультибоардами?
лично я там не нашёл дефайна для MultiboardSetItemStyleBJ
Странно. Я думал, что SirNikolas, который работал над ней, запилил всё, что нужно.
18
nvc123:
так вот работает нормально
я уже делал так, в итоге будет это:
call mbitem=MultiboardGetItem(...
Diaboliko:
Я юзаю #define <call > = {}
это тоже не помогает, всё без изменений
28
UrsaBoss, я проверял и всё работает
возможно ты смешиваешь cjass и jass синтаксис (чего делать нельзя) и прописываешь call MultiboardSetItemStyleBJ
в таком случае есть лишь 3 варианта
первый это не делать того чего делать нельзя и писать на чистом cjass
второй это создать функцию (как сделано в ALL.j) :
void MultiboardSetItemStyleBJFix(multiboard mb, int col, int row, bool showValue, bool showIcon){
	multiboarditem mbitem = MultiboardGetItem(mb, row - 1, col - 1);
	MultiboardSetItemStyle(mbitem, showValue, showIcon);
	MultiboardReleaseItem(mbitem)
}
MultiboardSetItemStyleBJ(mb, col, row, showValue, showIcon) = MultiboardSetItemStyleBJFix(mb, col, row, showValue, showIcon)
третий это дефайн с call (не уверен что сработает):
call MultiboardSetItemStyleBJ(mb, col, row, showValue, showIcon) = {
	mbitem = MultiboardGetItem(mb, row - 1, col - 1);
	MultiboardSetItemStyle(mbitem, showValue, showIcon);
	MultiboardReleaseItem(mbitem) 
}
Принятый ответ
18
nvc123:
третий это дефайн с call
точно, благодарю
переделал так и всё получилось:
define{
    <call MultiboardSetItemStyleBJ>(mb, col, row, showValue, showIcon) = { set mbitem = MultiboardGetItem(mb, row - 1, col - 1); call MultiboardSetItemStyle(mbitem, showValue, showIcon); call MultiboardReleaseItem(mbitem) }
    <call MultiboardSetItemValueBJ>(mb, col, row, val) = { set mbitem = MultiboardGetItem(mb, row - 1, col - 1); call MultiboardSetItemValue(mbitem, val); call MultiboardReleaseItem(mbitem) }
    <call MultiboardSetItemColorBJ>(mb, col, row, red, green, blue, transparency) = { set mbitem = MultiboardGetItem(mb, row - 1, col - 1); call MultiboardSetItemValueColor(mbitem, PercentTo255(red), PercentTo255(green), PercentTo255(blue), PercentTo255(100.0-transparency)); call MultiboardReleaseItem(mbitem) }
    <call MultiboardSetItemWidthBJ>(mb, col, row, width) = { set mbitem = MultiboardGetItem(mb, row - 1, col - 1); call MultiboardSetItemWidth(mbitem, width/100.0); call MultiboardReleaseItem(mbitem) }
    <call MultiboardSetItemIconBJ>(mb, col, row, iconFileName) = { set mbitem = MultiboardGetItem(mb, row - 1, col - 1); call MultiboardSetItemIcon(mbitem, iconFileName); call MultiboardReleaseItem(mbitem) }
}
28
это может вызывать непредсказуемое поведение в cjass
и если что наиболее правильным вариантов является 2
18
nvc123:
и если что наиболее правильным вариантов является 2
мне не жалко несколько килобайт в весе карты, тем более я буквально гоняюсь за оптимизацией одной кривой гуи карты
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.