![]()
Novikov
Kicked by GadenbIsh
![]() offline
Опыт:
417Активность: |
Передача данных из одного триггера в другой (без глобальных переменных)
Вот у меня такой вопрос. Действие триггера начинается со строчки:
function Trig_MyTrig_Actions takes nothing returns nothing То есть триггер ничего не берёт и ничего не возвращает. Но что если я хочу запустить триггер MyTrig из другого триггера и при этом передать в него какие-нибудь данные. Вот, например, у меня есть триггер, который «отлавливает» юнита (по какому-нибудь признаку). А теперь я хочу передать этого юнита в триггер MyTrig. Неужели каждый раз для этого нужно создавать глобальную переменную? |
![]() |
#1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Voldislav
Solitude
![]() offline
Опыт:
1,051Активность: |
Функция с действиями триггера не может брать какие-то значения. Делай отдельную функцию. |
![]() |
#2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
vladfaust
![]() offline
Опыт:
12,714Активность: |
нет, не обязательно.
» Опасно!
Заноси данные из первого триггера в хеш, старти таймер с указанием 2-го триггера, как ключ указывай ид таймера и уже во 2-м триггере выуживай инфу. Хэш тебе в помощь |
![]() |
#3
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
prog
![]() offline
Опыт:
32,865Активность: |
Head_Hunter_44, а можно еще круче - привязывать по хендлу триггера без всяких дурацких таймеров... Но все это имеет смысл ТОЛЬКО при асинхронном вызове - если используется синхронный вызов то лучше использовать следующее:
так реализованы все BJ ф-ции в которых нужна передача данных (в основном работа с группами) |
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Faion
Noblesse Oblige
![]() ![]() offline
Опыт:
30,395Активность: |
Цитата:
Код:
Никаких хешей, глобалок. Если нужно передать несколько данных, то и пишим у функции что функция берет takes несколько значений. Код:
Отмечу что функция может возвращать(return) только 1 значение. |
|
![]() |
#5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
naxim
![]() ![]() offline
Опыт:
10,186Активность: |
Создай takes Unit и когда не нужно ничего передавать - передавай null |
![]() |
#6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|