Создание и удаление таймера
|
|
SirNikolas | Дата: Пятница, 05 Августа 2011, 12:41:53 | Сообщение # 26 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Тем самым мы избавляем движок от необходимости прибавлять период ко всем таймерам в массиве.
|
|
|
|
Hexing | Дата: Пятница, 05 Августа 2011, 14:05:18 | Сообщение # 27 |
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
| или это делаем мы, или движок? какая разница? Лучше уж что проще, то и юзать
|
|
|
|
FatalBlade | Дата: Пятница, 05 Августа 2011, 14:25:17 | Сообщение # 28 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Quote (SirNikolas) Можно. Заводишь для каждого скилла действительную, отвечающую за время таймера. При каждом истечении таймера прибавляешь к каждой переменной период единого таймера. Если переменная превышает период ее воображаемого таймера, выполняешь действия этого скилла и обнуляешь ее. А если происходят 2 события однопременно, и они одновременно запускают таймер?
|
|
|
|
SirNikolas | Дата: Пятница, 05 Августа 2011, 14:47:53 | Сообщение # 29 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Code if TimerGetRemaining(udg_Spell_Timer) <= .0 then //Запустить endif Либо можно еще логическую завести.
|
|
|
|
FatalBlade | Дата: Воскресенье, 07 Августа 2011, 00:25:10 | Сообщение # 30 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Quote (SirNikolas) if TimerGetRemaining(udg_Spell_Timer) <= .0 then Ну вот видишь. Надо создавать глобальные таймеры для каждого спелла. Я о том и говорю.
|
|
|
|
[DS] | Дата: Воскресенье, 07 Августа 2011, 00:33:02 | Сообщение # 31 |
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
| не для каждого, можно библеотеку сделать с одним таймером и его использовать. Добавлено (07-08-2011, 00:33) --------------------------------------------- библиотеку*
|
|
|
|
Banzay89 | Дата: Воскресенье, 07 Августа 2011, 16:57:27 | Сообщение # 32 |
9 уровень
Группа: Проверенные
Сообщений: 858
Награды: 1
Репутация: 77
Блокировки:
| имхо на гуях таймеры нах не нужны
|
|
|
|
[DS] | Дата: Воскресенье, 07 Августа 2011, 16:59:06 | Сообщение # 33 |
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
| да
|
|
|
|
FatalBlade | Дата: Воскресенье, 07 Августа 2011, 18:10:08 | Сообщение # 34 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Quote (Banzay89) имхо на гуях таймеры нах не нужны Почему? Вейты не точны по времени. Например Wait 1 seconds, или поставить таймер на 1 секунду, время будет разным. Я проверял. Вейт на самом деле будет примерно 1.1 секунды. Таймер всегда точен. Да и это не так страшно, как например вейты по 0.33 секунд. На деле тут будет не 0.33 а минимум 0.40. Я уже не говорю про периоды меньше 0.1 секунд.
|
|
|
|
[DS] | Дата: Воскресенье, 07 Августа 2011, 18:26:35 | Сообщение # 35 |
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
| вейты используют время игры Добавлено (07-08-2011, 18:26) --------------------------------------------- если я не ошибаюсь
|
|
|
|
FatalBlade | Дата: Воскресенье, 07 Августа 2011, 18:30:11 | Сообщение # 36 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Quote (|DS|) вейты используют время игры Есть на время игры и есть на реальное время.
|
|
|
|
[DS] | Дата: Воскресенье, 07 Августа 2011, 18:33:22 | Сообщение # 37 |
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
| ты о чем?
|
|
|
|
FatalBlade | Дата: Воскресенье, 07 Августа 2011, 18:34:53 | Сообщение # 38 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Ну есть Wait, а есть Wait (Game-Time)
|
|
|
|
[DS] | Дата: Воскресенье, 07 Августа 2011, 18:38:31 | Сообщение # 39 |
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
| есть TriggerSleepAction
|
|
|
|
FatalBlade | Дата: Воскресенье, 07 Августа 2011, 18:46:09 | Сообщение # 40 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Quote (|DS|) есть TriggerSleepAction и PolledWait ))
|
|
|
|
DragoN | Дата: Воскресенье, 07 Августа 2011, 20:47:04 | Сообщение # 41 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| polled wait сам на таймерах работает
El Psy Congroo
|
|
|
|
SirNikolas | Дата: Понедельник, 08 Августа 2011, 07:30:24 | Сообщение # 42 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (FatalBlade) Ну вот видишь. Надо создавать глобальные таймеры для каждого спелла. Я о том и говорю. Не то написал.Code globals real array udg_SpellTime constant timer udg_SpellTimer = CreateTimer() constant integer udg_Spell_1 = 0 constant integer udg_Spell_2 = 1 constant integer udg_Spell_3 = 2 //... endglobals
if udg_SpellTime[udg_Spell_1] <= .0 then //... endif
|
|
|
|