Когда герой умирает создаю таймер и окно. Если умирают два героя, то соответственно появляются два окна с таймерами, но через триггеры можно удалить только последнее окно таймера, поэтому у того героя, что появляется первым, окно таймера удаляется, а у второго висит на нулях. Можно ли как-то сделать окно таймера локальной переменной? Или может ещё какой-то способ есть?

Принятый ответ

Lord_Teo:
с таймерами на 1.26 не работает автоматическое увеличение размерности как с другими переменными
Да, там не работает "автоматическое увеличение размерности",
т.к. такого механизма там (в игре) впринципе НЕТ...
И это свойственно для всех переменных которые хранят объекты,
которые создаются при инициализации карты (ибо так задумано).
Создать их сразу и дать ими пользоваться.
Почему так?
Это не касается юнитов, потому что в них ты будешь записывать конкретных имеющихся на карте юнитов (тех, которые тебе нужны). А вот для таймеров обычно всё происходит по другому - ты не создаёшь новые таймеры, а просто запускаешь уже имеющийся в переменной. Откуда он там? - он был создан при инициализации карты, в том количестве, в котором ему была указана подсказка на генерацию (она же - "размерность массива"). Это так же касается и окон таймеров, и групп (отряд), и групп игроков, и много чего ещё...
Ты можешь сделать так: Запускаешь нужный тебе таймер, создаёшь конкретно для него окно, и записываешь это окно в нужную переменную (например с таким же номером как и у таймера, но это не критично, это лишь пример того "как в гуях делать не предусмотрено, но мы всё же лет 10-15 уже так делаем").
А если у тебя имеется JNGP, то при первой же необходимости ты можешь делать вот так
- sun9-72.userapi.com/c205816/v205816659/99502/00OL4Roexd4.jpg
А если у тебя его нет, то то же самое можно сделать и через CS:
- sun9-7.userapi.com/c205816/v205816659/9955a/2PC5u7biOww.jpg
Хз что тебе ещё подсказать... У меня мыслей больше нет.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
4 года назад
0
Похожие вопросы:

ответ
~8gabriel8:
Пока нет желания разбираться, что у тебя так, а что не так. Но вижу, что переменная Window не назначена окну, а ещё как бы создаются в цикле одновременно 10 окон, которые потом все одновременно ждут 50 секунд. Вот скрин действий триггера вместо двух твоих, секунда ожидания поставлена для того, чтобы увидеть пропадание окна таймера.

0
26
4 года назад
0
Можно сделать через локальные переменные. Тут не помогу.
Можно через гуи. Если число героев ограничено, то создай массив таймеров (обязательно создай размерность массива, т.к. с таймерами на 1.26 не работает автоматическое увеличение размерности как с другими переменными) , где каждому герою принадлежит свой таймер. И обращайся к каждому таймеру через обращение к элементам массива.
0
16
4 года назад
0
>> обязательно создай размерность массива, т.к. с таймерами на 1.26 не работает автоматическое увеличение размерности как с другими переменными
чо?
0
32
4 года назад
0
DracoL1ch, это они про гуи, там в отдельной функции которую генерирует редактор создаются при старте обьекты, в гуях таймеры и окна таймеров могут быть только по умолчанию созданы в переменной, динамического создания\удаления в гуях не предусмотрено.
0
26
4 года назад
Отредактирован Extremator
0
Lord_Teo:
с таймерами на 1.26 не работает автоматическое увеличение размерности как с другими переменными
Да, там не работает "автоматическое увеличение размерности",
т.к. такого механизма там (в игре) впринципе НЕТ...
И это свойственно для всех переменных которые хранят объекты,
которые создаются при инициализации карты (ибо так задумано).
Создать их сразу и дать ими пользоваться.
Почему так?
Это не касается юнитов, потому что в них ты будешь записывать конкретных имеющихся на карте юнитов (тех, которые тебе нужны). А вот для таймеров обычно всё происходит по другому - ты не создаёшь новые таймеры, а просто запускаешь уже имеющийся в переменной. Откуда он там? - он был создан при инициализации карты, в том количестве, в котором ему была указана подсказка на генерацию (она же - "размерность массива"). Это так же касается и окон таймеров, и групп (отряд), и групп игроков, и много чего ещё...
Ты можешь сделать так: Запускаешь нужный тебе таймер, создаёшь конкретно для него окно, и записываешь это окно в нужную переменную (например с таким же номером как и у таймера, но это не критично, это лишь пример того "как в гуях делать не предусмотрено, но мы всё же лет 10-15 уже так делаем").
А если у тебя имеется JNGP, то при первой же необходимости ты можешь делать вот так
- sun9-72.userapi.com/c205816/v205816659/99502/00OL4Roexd4.jpg
А если у тебя его нет, то то же самое можно сделать и через CS:
- sun9-7.userapi.com/c205816/v205816659/9955a/2PC5u7biOww.jpg
Хз что тебе ещё подсказать... У меня мыслей больше нет.
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.