Сейчас 20:56:58 Воскресенье, 5 мая, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Таймеры
Таймеры
xomachДата: Пятница, 24 Августа 2012, 20:05:57 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 484
Награды: 0
Репутация: 128
Блокировки:
У меня есть массив из 8и таймеров. Есть массив из 8и б.е. Когда заканчивается Nый таймер, надо поставить на паузу Nого юнита. Обезательно ли мне для этого делать 8 триггеров?

 

[SeKtOR]Дата: Пятница, 24 Августа 2012, 20:09:37 | Сообщение # 2
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
gui - да, jass - нет

 

xomachДата: Пятница, 24 Августа 2012, 20:11:16 | Сообщение # 3
7 уровень
Группа: Проверенные
Сообщений: 484
Награды: 0
Репутация: 128
Блокировки:
Quote (|SeKtOR|)
gui - да, jass - нет

Ну поподробней, поподробней! Как именно?


 

wrazoshuДата: Пятница, 24 Августа 2012, 20:11:56 | Сообщение # 4
3 уровень
Группа: Пользователи
Сообщений: 42
Награды: 0
Репутация: 5
Блокировки:
Привет)) По моему можно легко сделать 1 большой триггер.

Событие
Таймер истекает,
Условие
Какой именно таймер из массива
Действие
...
 

Ty3uKДата: Пятница, 24 Августа 2012, 20:12:49 | Сообщение # 5
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
сохранить номер таймера на его хэндл, при истечении получать номер и вставлять его как номер ячейки массива юнитов

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

wrazoshuДата: Пятница, 24 Августа 2012, 20:14:18 | Сообщение # 6
3 уровень
Группа: Пользователи
Сообщений: 42
Награды: 0
Репутация: 5
Блокировки:
Хотя надо без условий, сразу идти к действиям, создаф там if then else для каждого юнита\таймера. Так по моему единственный чуть более быстрый вариант, чем для каждого таймера\юнита делать свой триггер.
 

[SeKtOR]Дата: Пятница, 24 Августа 2012, 20:15:50 | Сообщение # 7
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
Мы говорим про gui или jass?

 

Ty3uKДата: Пятница, 24 Августа 2012, 20:18:43 | Сообщение # 8
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
тогда уж цикл от меньшего индекса к большему

если истекший таймер == таймер[индекс_цикла] то запаузить юнит[индекс_массива]

Добавлено (24 Августа 2012, 20:18:43)
---------------------------------------------
если истекший таймер == таймер
[индекс_цикла] то запаузить юнит
[индекс_цикла]

была очепятка


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

xomachДата: Пятница, 24 Августа 2012, 20:31:56 | Сообщение # 9
7 уровень
Группа: Проверенные
Сообщений: 484
Награды: 0
Репутация: 128
Блокировки:
wrazoshu, Ty3uK, А где вы "сравнение таймеров" нашли?

Добавлено (24 Августа 2012, 20:31:56)
---------------------------------------------

Quote (Ty3uK)
хэндл

Это что?


 

Ty3uKДата: Пятница, 24 Августа 2012, 20:49:36 | Сообщение # 10
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
ты спросил, как на жассе будет
я сказал


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

xomachДата: Пятница, 24 Августа 2012, 20:54:53 | Сообщение # 11
7 уровень
Группа: Проверенные
Сообщений: 484
Награды: 0
Репутация: 128
Блокировки:
Quote (Ty3uK)
ты спросил, как на жассе будет
я сказал

ну а можно тогда с кодом как-нить? :) . в джасс есть сравнение таймеров?


 

Ty3uKДата: Пятница, 24 Августа 2012, 21:11:17 | Сообщение # 12
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
http://rghost.ru/39982482

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

NaturekidДата: Пятница, 24 Августа 2012, 21:17:32 | Сообщение # 13
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Quote (|SeKtOR|)
gui - да, jass - нет

"Хрен вы угадали, ребята" Стифлер, Американский пирог...

При запуске таймера устанавливаем соответствующую по индексу логическую переменную = да

Событие таймеры 1-10 истекают (Кстати - для таймера ОБЯЗАТЕЛЬНО надо указывать точное число, просто оставить 1 как для других типов переменных - нельзя )
For integer a ....
Условие Real-comparison - Remaining time of Timer[integer A] < 0.1
NOtExpired[integer A]= да
Set Notexpired[integer A]=Нет

Добавлено (24 Августа 2012, 21:17:32)
---------------------------------------------
Игра - display to all players - Истёк таймер + string(integer A)


 

Ty3uKДата: Пятница, 24 Августа 2012, 21:19:59 | Сообщение # 14
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
написал на жассе в разы лучше
ссылку уже дал


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

xomachДата: Пятница, 24 Августа 2012, 21:23:32 | Сообщение # 15
7 уровень
Группа: Проверенные
Сообщений: 484
Награды: 0
Репутация: 128
Блокировки:
Quote (Naturekid)
NOtExpired[integer A]= да
Set Notexpired[integer A]=Нет

Непонял, это что и зачем?

Добавлено (24 Августа 2012, 21:23:32)
---------------------------------------------
Ty3uK, Спс огромное! Все предельно понятно и... работает!


 

NaturekidДата: Пятница, 24 Августа 2012, 21:27:56 | Сообщение # 16
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Ty3uK, Я сектору)))
Quote (xomach)
Непонял, это что и зачем?

Чего не понял-то? Логическая переменная предотвращает ложное определение того что таймер истёк, если таймер не запускался вообще.


 

xomachДата: Пятница, 24 Августа 2012, 21:30:32 | Сообщение # 17
7 уровень
Группа: Проверенные
Сообщений: 484
Награды: 0
Репутация: 128
Блокировки:
Naturekid, А, че-то я тупанул :)

 

Ty3uKДата: Пятница, 24 Августа 2012, 21:36:27 | Сообщение # 18
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
обращайся

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

xomachДата: Пятница, 24 Августа 2012, 21:49:03 | Сообщение # 19
7 уровень
Группа: Проверенные
Сообщений: 484
Награды: 0
Репутация: 128
Блокировки:
все-таки, мне гуи как-то ближе :) . Naturekid, еще раз спс.

Добавлено (24 Августа 2012, 21:47:44)
---------------------------------------------
Naturekid, у тебя баг. если таймеры рядом (4 с, 4.05 с к примеру),то срабатывает первым тот, который меньше по id. Надо ставить не меньше 0.1, а равно 0, тогда все ок

Добавлено (24 Августа 2012, 21:49:03)
---------------------------------------------
Но ты гений, никогда бы не догадался использовать ост. время таймера(я вообще не знал о такой функции)


 

NaturekidДата: Пятница, 24 Августа 2012, 22:31:22 | Сообщение # 20
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Quote (xomach)
Надо ставить не меньше 0.1, а равно 0

Как раз об этом во время пробежки подумал, правда я думал - меня дрей опять троллить начнёт за это)).
Хорошо, что пригодилось)


 

SirNikolasДата: Суббота, 25 Августа 2012, 07:12:39 | Сообщение # 21
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Работающий вариант дан (Ty3uK), тема закрыта.

 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Таймеры
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz