unitpool наследуется от handle, поэтому я подумал, что если создать глобальную переменную udg_contSmall - я смогу записывать в него unitpool, но моя догадка была, вероятно, не верна. Что я делаю не так, и как это можно сделать?
function Trig_init_unitpools_from_excel_Actions takes nothing returns nothing
	set udg_contSmall[0] = CreateUnitPool()
	call UnitPoolAddUnitType(udg_contSmall[0], 'n005', 3)
	call UnitPoolAddUnitType(udg_contSmall[0], 'n002', 1)
endfunction

//===========================================================================
function InitTrig_init_unitpools_from_excel takes nothing returns nothing
    set gg_trg_init_unitpools_from_excel = CreateTrigger(  )
    call TriggerAddAction( gg_trg_init_unitpools_from_excel, function Trig_init_unitpools_from_excel_Actions )
endfunction

Cancel, тогда ручками правь j файл
это единственный способ обойтись без джнгп
и вроде в джнгп есть директива для отключения джассхелпера?
т.е. по идее 1,29 должен работать
и что ты там учить для джнгп такое сложно собрался?
он запускается точно так же как и обычный редактор
`
ОЖИДАНИЕ РЕКЛАМЫ...
17
сделал так:
function Trig_init_unitpools_from_excel_Actions takes nothing returns nothing
	local unitpool units
	set units = CreateUnitPool()
	set udg_contSmall[0] = units
	call UnitPoolAddUnitType(units, 'n005', 3)
	call UnitPoolAddUnitType(units, 'n002', 1)
	set units = null
endfunction
Чёрт, всё равно возникла проблема - как обращаться к сохранённым unitpool?
set units = udg_contSmall[0] - выёдаётся ошибка
21
А что за тип такой unitpool? Это типа список равкодов?
17
unitpool - список типов боевых единиц с весами.
Туда, например, можно добавить водного элементаля с весом 9, и огненного элементаля с весом 1
Потом можно извлечь из юнитпула случайный тип юнита, и при этом с вероятносью в 90% получишь водного элементаля, и с вероятностью в 10% получишь огненного элементаля
В моей карте нужно сделать массив юнитпулов, чтобы для каждого региона генерировались разные войска, а так как генерация проходит часто и по многу - не хочется сохранять unitpool в хеш-таблице. В соседней теме мне подсказали что хеш работает медленно
20
xgm - святое место для срача по поводу быстроты
только вот играют ли 0.09 секунд разницу?
17
ssbbssc, мне нет дела до срача, мне есть дело до того, что на моей предыдущей карте (на которую угрохал кучу времени) были жуткие задержки в сетевой игре из-за непонятных причин (это не утечки, инфа 100%). Поэтому я стараюсь аккуратно подходить в вопросу.
21
Cancel, я понял в чем Ваша проблема. Думаю, что решить можно только через JNGP.
17
ScopteRectuS, не знаю имеет ли смысл тратить время и учить новую для себя утилиту по варику ради одной задачи. Я пока разберусь с ней, пойму что она делает, как с ней быть, пройду через подводные камни - 100 лет уйдёт. Если нет возможности решить через JASS данную проблему - то буду сохранять unitpool в хештаблицах.
21
Cancel, Вам не нужно учить новую утилиту, Вам всего лишь в своем коде надо написать:
globals
	unitpool myUnitPool
endglobals
Потому что без JNPG невозможно\сложно создать глобальную переменную типа unitpool.
17
ScopteRectuS, JNPG - насколько я погуглил - не будет работать в 1.29?
21
Cancel, этого сказать не могу. Но думаю местные умельцы и для 1.29 сделают свой JNGP.
26
Cancel:
не хочется сохранять unitpool в хеш-таблице
Зачем? юзай обычные глобалки с массивами
Cancel:
не знаю имеет ли смысл тратить время и учить новую для себя утилиту по варику ради одной задачи
JNGP можно использовать как обычный WE
с той разницей что там более удобно работать со скриптом
т.е. в обычном WE - там просто текст...
21
Зачем? юзай обычные глобалки с массивами
Проблема в том, что у человека нет JNPG, а в GUI-интерфейсе нельзя создать глобальную переменную типа unitpool (её в списке нету).
17
ScopteRectuS, покопался на форуме. Пишут что JNPG не работает начиная с версии 1.28, а у меня 1.29
21
Cancel, 1.29 еще не вышел, а Вы уже карты на нём создаёте? ))
Ну тогда либо ждать, когда выйдет новый JNPG, либо через хеш-таблицу.
26
ScopteRectuS:
Проблема в том, что у человека нет JNPG, а в GUI-интерфейсе нельзя создать глобальную переменную типа unitpool (её в списке нету).
Проблема в том, что можно не упираться в факт существования типа переменных unitpool, и создать систему спавна нейтралов без её использования.
17
Extremator, проблем возникает ещё больше.
У меня должен быть array unitpool с поддержкой весов
если unitpool переделать в array типов - то получится двумерный массив, которые в варике не поддерживаются.
А так как я на протяжении игры постоянно модифицирую unitpool (добавляю и удаляю юнитов по тем или иным событиям) то вмещать множество массивов в один массив не вариант (при изменении размера одного массива должны смещаться остальные массивы)
29
только вот играют ли 0.09 секунд разницу?
0.09 секунд это более половины времени кадра в игре.
Без жнгп альтернативы особо нет. Не использовать его просто глупость. 1.29 все же еще не вышел.
17
Doc, тем не менее я делаю карту на 1.29 с использованием новых функций
29
У тебя нет НИКАКОГО другого функционала который ты мог бы сделать до выхода 1.29 и соответственно до того как люди запилят под него жнгп?
17
Doc, мне кажется ты отошёл от темы. Если других ответов нет, значит вопрос закрыт.
28
Cancel, тогда ручками правь j файл
это единственный способ обойтись без джнгп
и вроде в джнгп есть директива для отключения джассхелпера?
т.е. по идее 1,29 должен работать
и что ты там учить для джнгп такое сложно собрался?
он запускается точно так же как и обычный редактор
Принятый ответ
17
и что ты там учить для джнгп такое сложно собрался?
для меня это из области "я не знаю чего я не знаю", я не знаю что там учить и сколько там подводных камней, что это мне заблокирует какие противопоказания и т. д.. - чтобы об этом узнать тоже нужно шерстить поисковик. Но если варик воскреснет и в джнгп появится поддержка новой версии - то я приступлю к его изучению
26
Cancel:
тем не менее я делаю карту на 1.29 с использованием новых функций
Это бессмысленно.
1.29 ещё не вышла.
В неё никто не играет.
В неё негде играть.
17
Extremator, 1.29 выйдет, так? И к этому моменту проект, или большая его часть будет уже готова. Чего здесь бессмысленного.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.