call TimerStart(CreateTimer(), 0.3, false, function AfterWait(u_c))
Выдает ошибку синтаксиса, когда я пытаюсь запустить одиночный таймер, ошибку указывает на скобки, но я не понимаю какие

Нельзя передать переменную через таймер. Можно разве что число с плавающей запятой передать, но это сомнительно полезно. Используй глобальные переменные.
А можно передать локальную переменную на простую функцию?(вроде можно)
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
23
Похожие вопросы:

ответ
экстрасенсы свалили на Гавайи
ответ
скачай нормальный jngp либо в настройках своего включи vjass и cjass

14
Хорошо, я понял какие скобки, но у меня функция требует юнита, ну и я ввожу юнита в скобках, что я делаю не так?
14
Diaboliko:
call TimerStart(CreateTimer(), 0.3, false, function AfterWait(u_c))
Я чуток опередил, но все же, как мне вводить требования процедуры?
20
Ты передаешь функции TimerStart аргумент в виде ссылки на блок кода, который запускается. Очевидно, что ссылка аргументов не имеет.
Используй глобалки.
14
Ты передаешь функции TimerStart аргумент в виде ссылки на блок кода, который запускается. Очевидно, что ссылка аргументов не имеет.
Используй глобалки.
Можно человеческим языком?
Diaboliko:
Ты передаешь функции TimerStart аргумент в виде ссылки на блок кода, который запускается. Очевидно, что ссылка аргументов не имеет.
Используй глобалки.
Я не могу без глобалок передать объекты на таймер?
20
Нельзя передать переменную через таймер. Можно разве что число с плавающей запятой передать, но это сомнительно полезно. Используй глобальные переменные.
14
Нельзя передать переменную через таймер. Можно разве что число с плавающей запятой передать, но это сомнительно полезно. Используй глобальные переменные.
А можно передать локальную переменную на простую функцию?(вроде можно)
Принятый ответ
20
LainMikoroso:
Нельзя передать переменную через таймер. Можно разве что число с плавающей запятой передать, но это сомнительно полезно. Используй глобальные переменные.
А можно передать локальную переменную на простую функцию?(вроде можно)
Да, если не забыть указать нужные типы и названия переменных при ее определении :)
22
переменные через таймер передаются с помощью хэш-таблицы.
GetHandleId( таймер ) - дает число для этого таймера, и на него ты можешь сохранять нужные переменные:
call SaveUnitHandle(hash, GetHandleId(tm), 1212, u_c) - сохраняет юнита, 1212 число должно быть разным для разных переменных
когда таймер истекает:
local timer tm=GetExpiredTimer()
local unit u_c = LoadUnitHandle(hash, GetHandleId(tm), 1212) загружает юнита
call FlushChildHashtable(hash, GetHandleId(tm)) очищает данные по этому таймеру из таблицы
call DestroyTimer(tm) убить ненужный уже таймер
set tm=null
... действия с u_c
set u_c=null
endfunction
хэш-таблицу можно создать при инициализации карты. достаточно одной на все-все таймеры
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.