Может ли кто-нибудь неравнодушный пояснить, как его применять?
Я хотел бы создать таймер, привязанный к Custom value юнита.
С Jass не знаком совсем, делаю всё на триггерах.
Вопрос по применению сводится к двум более простым:
  1. Как мне задать подобный таймер по мне известному числу?
  2. Как мне обратиться к такому таймеру по этому же числу?
Сам Timer Exploit:

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

8gabriel8:
Наверное, про массивы надо пояснить. Ставя галку массив при создании переменной и указывая его размерность, ты словно говоришь игре: «Создай переменных этого типа столько-то штук.» Только переменных будет на одну больше, чем указано в размерности, так как у компьютера счёт идёт от 0. Например, массив назван timer, размерность его указана 3, это четыре переменных: timer[0]; timer[1]; timer[2] и timer[3]. Можно указывать в триггере custom value юнита, чтобы обращение сразу шло к нужному таймеру.
Есть пара важных замечаний по размерности, во-первых, размер массива не может быть больше 8191 на старых патчах вроде 1.26 и 32767 на новых, начиная с 1.29 вроде, во-вторых, размерность массива критически важна для таймеров, а для типов логическая, целочисленная, реальная, боевая единица, отряд и прочих можно задать размерность 1 и указывать любое число в массиве, не превышая предел, такая переменная нормально будет работать. Все типы переменных на размерность не проверял, просто заметил, что массив таймеров выше размерности не работает, потому упомянул.

Не знаю, как у тебя сделано, потому предположу, что есть способность кормления многострадального, которая переводит его под контроль на минуту. Триггер будет выглядеть так:
Событие: Юнит Приводит способность в действие
Условие: (Ability being cast) = Кормление
Действие: Боевая единица - Change owner (Target of ability being cast) to (Owner of (Casting unit))
Обратный отсчёт - Start timer[(Custom value of (Target of ability being cast))] Однократный на 60 секунд.
зачем все эти заморочки через cusom value просто пишешь
Событие: Юнит Приводит способность в действие
Условие: (Ability being cast) = Кормление
Действие: Боевая единица - Change owner (Target of ability being cast) to (Owner of (Casting unit))
Обратный отсчёт - Start timer[(Playernumber (Target of ability being cast))] Однократный на 60 секунд.

Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
26
4 года назад
0
Соответственно в этом случае придётся сделать 12 переменных
массивы, конечно, запрещает использовать религия
1
26
4 года назад
1
Наверное, про массивы надо пояснить. Ставя галку массив при создании переменной и указывая его размерность, ты словно говоришь игре: «Создай переменных этого типа столько-то штук.» Только переменных будет на одну больше, чем указано в размерности, так как у компьютера счёт идёт от 0. Например, массив назван timer, размерность его указана 3, это четыре переменных: timer[0]; timer[1]; timer[2] и timer[3]. Можно указывать в триггере custom value юнита, чтобы обращение сразу шло к нужному таймеру.
Есть пара важных замечаний по размерности, во-первых, размер массива не может быть больше 8191 на старых патчах вроде 1.26 и 32767 на новых, начиная с 1.29 вроде, во-вторых, размерность массива критически важна для таймеров, а для типов логическая, целочисленная, реальная, боевая единица, отряд и прочих можно задать размерность 1 и указывать любое число в массиве, не превышая предел, такая переменная нормально будет работать. Все типы переменных на размерность не проверял, просто заметил, что массив таймеров выше размерности не работает, потому упомянул.

Не знаю, как у тебя сделано, потому предположу, что есть способность кормления многострадального, которая переводит его под контроль на минуту. Триггер будет выглядеть так:
Событие: Юнит Приводит способность в действие
Условие: (Ability being cast) = Кормление
Действие: Боевая единица - Change owner (Target of ability being cast) to (Owner of (Casting unit))
Обратный отсчёт - Start timer[(Custom value of (Target of ability being cast))] Однократный на 60 секунд.
0
7
4 года назад
0
8gabriel8:
Наверное, про массивы надо пояснить. Ставя галку массив при создании переменной и указывая его размерность, ты словно говоришь игре: «Создай переменных этого типа столько-то штук.» Только переменных будет на одну больше, чем указано в размерности, так как у компьютера счёт идёт от 0. Например, массив назван timer, размерность его указана 3, это четыре переменных: timer[0]; timer[1]; timer[2] и timer[3]. Можно указывать в триггере custom value юнита, чтобы обращение сразу шло к нужному таймеру.
Есть пара важных замечаний по размерности, во-первых, размер массива не может быть больше 8191 на старых патчах вроде 1.26 и 32767 на новых, начиная с 1.29 вроде, во-вторых, размерность массива критически важна для таймеров, а для типов логическая, целочисленная, реальная, боевая единица, отряд и прочих можно задать размерность 1 и указывать любое число в массиве, не превышая предел, такая переменная нормально будет работать. Все типы переменных на размерность не проверял, просто заметил, что массив таймеров выше размерности не работает, потому упомянул.

Не знаю, как у тебя сделано, потому предположу, что есть способность кормления многострадального, которая переводит его под контроль на минуту. Триггер будет выглядеть так:
Событие: Юнит Приводит способность в действие
Условие: (Ability being cast) = Кормление
Действие: Боевая единица - Change owner (Target of ability being cast) to (Owner of (Casting unit))
Обратный отсчёт - Start timer[(Custom value of (Target of ability being cast))] Однократный на 60 секунд.
зачем все эти заморочки через cusom value просто пишешь
Событие: Юнит Приводит способность в действие
Условие: (Ability being cast) = Кормление
Действие: Боевая единица - Change owner (Target of ability being cast) to (Owner of (Casting unit))
Обратный отсчёт - Start timer[(Playernumber (Target of ability being cast))] Однократный на 60 секунд.

Загруженные файлы
Принятый ответ
0
37
4 года назад
0
Просто через локалку и вейт, период же большой, ну что вы это вот всё
1
7
4 года назад
1
ScorpioT1000:
Просто через локалку и вейт, период же большой, ну что вы это вот всё
судя по его прошлым вопросам он не знает что такое локалка и вообще новичок в гуй
0
37
4 года назад
0
Именно поэтому будем пичкать таймерами?)

0
7
4 года назад
0
ScorpioT1000:
Именно поэтому будем пичкать таймерами?)

да от теории статьей он ничего не поймет пока полностью не изучит гуй и не пройдет практику джасса а потом через common.j и blizzard.j не станет стирать все бж))

для этого требуется год( сужу по себе)

при том что я играю в варкрафт с 2011 года и знаю все о способностях и о движке

не исключается еще что он должен еще пройти курс по наработкам из сайтов))
1
26
4 года назад
1
Здравая мысль! А то человек только вчера открыл редактор триггеров и попытался что-то элементарное сделать, как ему сразу тычут локалками, утечками, непонятным кодом и статьями, на одно чтение которых уйдёт несколько дней, причём окажется, что не только сами статьи надо читать, но и все комментарии к ним...

Кому-то такое по фану, но остальным нет. У кого-то повседневная деятельность связана с программированием, у остальных нет.
0
29
4 года назад
0
да от теории статьей он ничего не поймет пока полностью не изучит гуй и не пройдет практику джасса а потом через common.j и blizzard.j не станет стирать все бж))
Я вот не изучил гуй, и умею только в zinc, что я делаю не так?
и знаю все о способностях и о движке
Сильное заявление.
А то человек только вчера открыл редактор триггеров и попытался что-то элементарное сделать, как ему сразу тычут локалками, утечками, непонятным кодом и статьями, на одно чтение которых уйдёт несколько дней
Смотря что подразумевать под элементарным. Или вы хотели волшебную кнопку?

Если на православном гуй-муй. Исходим из того, что один игрок - один охотник. Заводим массив таймеров, юнитов, окон таймеров. Всё по номеру игрока. Когда даём управление игроку - стартуем таймер, показываем окно, отбираем контроль записывая в custom value юнита номер игрока. Если нужно продлить таймер - то получаем из custom value номер игрока - он же индекс массива. Останавливаем таймер и запускаем заново.
0
28
4 года назад
0
Если охотников ограниченное кол-во, то Custom Value не нужен, просто массив охотников, где номер ячейки есть номер владельца.
0
7
4 года назад
0
PT153:
Если охотников ограниченное кол-во, то Custom Value не нужен, просто массив охотников, где номер ячейки есть номер владельца.
я предлагал номер игрока но меня заминусовали))
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.