XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
Zelenayasmert
ProXXX
offline
Опыт: 2,074
Активность:
эм.. таймер
дайте ссыль на статью по таймерам, если есть... а то искал, не нашел(мб пропустил, просьба не орать)
Старый 09.09.2010, 19:12
DragonSpirit
у - уходи
offline
Опыт: 22,625
Активность:
если те таймеры, о которых я подумал
Старый 09.09.2010, 19:14
Sidhe
Unity3D engine
offline
Опыт: 7,721
Активность:
function F2 takes nothing returns nothing
local timer t = GetExpiredTimer()
set t = null
endfunction

function F1 takes nothing returns nothing
local timer t = CreateTimer()
call TimerStart(t,1.,true,function F2)
endfunction

у call TimerStart после "1." есть булево значение - оно определяет цикличность таймера: т.е.
false - 1 раз сработает
true - будет работать пока не удалишь или не остановишь таймер (DestroyTimer(t))

function F2 - запускает функцию по истечении указанного времени, после t (значение типа real)

вроде бы не трудно понять
Старый 09.09.2010, 19:20
Zelenayasmert
ProXXX
offline
Опыт: 2,074
Активность:
Sidhe:
function F2 takes nothing returns nothing
local timer t = GetExpiredTimer()
set t = null
endfunction
function F1 takes nothing returns nothing
local timer t = CreateTimer()
call TimerStart(t,1.,true,function F2)
endfunction
у call TimerStart после "1." есть булево значение - оно определяет цикличность таймера: т.е.
false - 1 раз сработает
true - будет работать пока не удалишь или не остановишь таймер (DestroyTimer(t))
function F2 - запускает функцию по истечении указанного времени, после t (значение типа real)
это в 1 триггер?=), просто хочу чтобы в пределах 1 триггера(изза локалок) можно было отслеживать таймер экспайрс, и потом ресать запомненного юнита, а в джассе нуп нуп
Zelenayasmert добавил:
ах да и локальное окно таймера какого типа?(ну там real integer, string)

Отредактировано Zelenayasmert, 10.09.2010 в 14:29.
Старый 10.09.2010, 14:39
JassMan
свободен
offline
Опыт: 4,193
Активность:
Да это всё один триггер, просто, как видишь, тут две функции, и всего-то. . .
Старый 10.09.2010, 15:10
Zelenayasmert
ProXXX
offline
Опыт: 2,074
Активность:
мда, я в джассе практически 0, и куда функции совать, добавлять нужные действия по истечению таймера и т.д. т.п. не знаю=(
Старый 10.09.2010, 18:39
JassMan
свободен
offline
Опыт: 4,193
Активность:
а ну в Custom script эта фишка не получится нужно полностью конвертировать триггер полностью в Jass и там работать. . .
(правка\конвертировать в текст)
Старый 10.09.2010, 19:45
Sidhe
Unity3D engine
offline
Опыт: 7,721
Активность:
вот пример
Прикрепленные файлы
Тип файла: w3m Timer.w3m (12.1 Кбайт, 21 просмотров )
Старый 10.09.2010, 21:18
Ksan

offline
Опыт: 13,248
Активность:
JassMan, дезинфа ^^
никто не мешает написать в кс\нестандартке\пустом тригге
function ololo takes nothing return nothing
Старый 10.09.2010, 22:09
XOR

offline
Опыт: 38,159
Активность:
Ksan, дезинфа
в кс это не сработает, это и так функция же
Старый 10.09.2010, 22:16
Sidhe
Unity3D engine
offline
Опыт: 7,721
Активность:
Ksan, не прав - попробуй сам
Старый 10.09.2010, 22:50
Zelenayasmert
ProXXX
offline
Опыт: 2,074
Активность:
окно таймера даже сделал, но у мну событие смерть юнита, как сделать чтобы по истечению времени его воскрешало?
Zelenayasmert добавил:
эм
Старый 11.09.2010, 14:49
WiBk
Ленюсь...
offline
Опыт: 1,371
Активность:
Создаешь отдельный триггер с событием Истечения Таймера, проверяешь истекаемый таймер == *нужный тебе таймер*
И дальше уже твои деиствия
Кстати, ку зеленка :О Не думал, что встречу тебя здесь

Отредактировано WiBk, 11.09.2010 в 15:11.
Старый 11.09.2010, 15:02
Zelenayasmert
ProXXX
offline
Опыт: 2,074
Активность:
WiBk:
Создаешь отдельный триггер с событием Истечения Таймера, проверяешь истекаемый таймер == *нужный тебе таймер*
И дальше уже твои деиствия
Кстати, ку зеленка :О Не думал, что встречу тебя здесь
+1
у мну таймеры ЛОКАЛЬНЫЕ, так что в друггом триггере нельзя
и вообще меня щас инетресует как из 1 функции юнита во вторую перенести
Старый 11.09.2010, 15:33
WiBk
Ленюсь...
offline
Опыт: 1,371
Активность:
Zelenayasmert, тут нужен массив глобальных таимеров (размер массива - в зависимости от кол-ва игроков), по другому себе эту систему не представляю =\
Старый 11.09.2010, 15:52
Ksan

offline
Опыт: 13,248
Активность:
XimikS, неправда. Работает =\
Sidhe, а если я сделаю, то кем мне тебя считать?
call SaveUnitHandle(udg_<хеш таблица>, GetHandleId(<Таймер>), <цифра от 1 до макс вар число>, <юнит>)
Старый 11.09.2010, 16:05
Zelenayasmert
ProXXX
offline
Опыт: 2,074
Активность:
Ksan:
цифра от 1 до макс вар число
вот энто расшифруй=(
Старый 11.09.2010, 16:16
WiBk
Ленюсь...
offline
Опыт: 1,371
Активность:
Zelenayasmert, просто поставь любое число...
Старый 11.09.2010, 16:21
Zelenayasmert
ProXXX
offline
Опыт: 2,074
Активность:
WiBk:
Zelenayasmert, просто поставь любое число...
ок попробую
Старый 11.09.2010, 16:28
Ksan

offline
Опыт: 13,248
Активность:
Смотри. Та цифра означает ячейку, в которую ты записываешь что либо. Они не должны повторяться. В одном и том же объекте. То бишь
local timer Tmr = CreateTimer()
local timer Tmr2 = CreateTimer()
call SaveUnitHandle(udg_Hash, GetHandleId(Tmr), 1, unit1)
call SaveUnitHandle(udg_Hash, GetHandleId(Tmr), 2, unit3)
call SaveUnitHandle(udg_Hash, GetHandleId(Tmr2), 1, unit100500)
Старый 11.09.2010, 16:31
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 08:48.