Добавлен Enemy1PK
Почему когда я добавляю любое (if/then/else) в этот триггер, карта перестаёт запускаться?
Скил - временное добавление ловкости в зависимости от уровня способности, я хочу сделать еще чтобы пока старый бонус активен, новый не добавлялся.
Или чтобы он не добавлялся но обновил время действия бонуса.
Скил - временное добавление ловкости в зависимости от уровня способности, я хочу сделать еще чтобы пока старый бонус активен, новый не добавлялся.
Или чтобы он не добавлялся но обновил время действия бонуса.
Даже если все действия запихнуть в (if/then/else) карта перестает запускаться.
Принятый ответ
что-то не вижу на скрине как вы пытаетесь запихнуть в if/then/else. Почему должен угадывать
Предположение: ошибка - локальные переменные объявляются всегда первыми. Если там будет какое-то другое действие, а объявление локалок ниже, то это ошибка. Ты вперед, наверное, поставил действие "if/then/else", а потом начал объявлять что-то там,
Предположение: ошибка - локальные переменные объявляются всегда первыми. Если там будет какое-то другое действие, а объявление локалок ниже, то это ошибка. Ты вперед, наверное, поставил действие "if/then/else", а потом начал объявлять что-то там,
правильно
local unit u
if (условие) then
действие
endif
не правильно
if (условие) then
local unit u
endif
Локалки вначале функции всегда объявляются. Можете в код конвентировать и посмотреть.
вейты не юзайте лучше, используйте таймер. Он поток паузит, еще работает во время паузы, и не точен .
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
nvc123: а ты мне просто мозг взорвал, про таймеры не помешало бы уточнить.
как и про группы, я могу добавить юнита в группу, но как именно к нему присвоить число 300 и потом уменьшать у каждого.
Потому что в условиях есть только бесполезная функция buff равно buff.
надо блин, не то что по символу объяснять, а даже показывать где какие кнопки нажимать чтобы увидеть текстовые варианты тригеров.
тут без наставника не разобраться.
но очевидно что дополнительные ответы не упростят мне задачу.
Отредактирован nvc123
один из самых простых это юзер дата
в гуи называется custom value
в действиях во вкладке юниты есть set custom value
она к юниту привязывает число
т.е. когда даёшь юниту баф добавляй его в группу и делай set custom value (юнит, 300)
а твоим таймером каждую секунду перебирай эту группу и делай
set custom value(picked unit, get custom value(picked unit) - 1)
далее если get custom value(picked unit) == 0 то удаляй юнита из группы
но это скорее всего приведёт к багам
т.к. бывают различные ситуации когда баф исчезает
например смерть героя, очищение, наличие конфликтующего баффа и т.д.
в результате баф исчезнет раньше времени а то и вовсе не появится