EviLInside
offline
Опыт:
3,543Активность: |
Передача данных в ф-ции
Привет всем, вот смотрите у меня всё время проблемы в передачей данных в функции. Т.к я использую локальные переменные я сохраняю в хеш и потом загружаю их в каждой функции.
Есть некоторый геморой, вот допустим если я сохраняю на ID таймера в хеш, то это понятно загрузить как это число, т.е Код:
и по числу 'id' я свободно могу загружать данные А вот бывает так , я запускаю таймером функцию, а эта функция фильтрует условие ещё функцией, одной или 2 и тп допустим вот пример Код:
Вобщем вот я таймером запускаю функцию Trig_MyFunc_Action , там я могу сослаться на запомненых юнитов по id GetExpired таймера и вместо GetTriggerUnit поставить всё как нужно, а вот в проверке? Как мне туда загрузить то данные о юнита, GetExpiredTimer туда уже не действует вроде, что мне писать в Load(udg_hash,??,1) Надеюсь вы меня поняли) |
23.06.2012, 13:02 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nerevar
I'll be back!
offline
Опыт:
18,352Активность: |
1.
Ты в курсе вообще что у тебя второе условие НИКОГДА не будет проверяться? Будет всегда возвращаться значение первого
Если уже надо проверять то вот так
2.Что мешает это условие вставить сразу в нижней функции?
То есть будет выглядеть вот так
3.Заодно надо подчищать хеш-таблицу и таймер удалять
Отредактировано Nerevar, 23.06.2012 в 13:54. |
23.06.2012, 13:38 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
EviLInside
offline
Опыт:
3,543Активность: |
1.3 пункт это понятно, я для примера кинул. Так ладно это я тупанул, неудачный пример, а если там действие не дамаг наносить а пикать юнита в группу? Там точно в 1 функцию никак вроде не вставишь!
ЧИТАТЬ СНИЗУ ВВЕРХ ЕСТЕСТВЕННО. Код:
Отредактировано EviLInside, 23.06.2012 в 14:31. |
23.06.2012, 14:12 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nerevar
I'll be back!
offline
Опыт:
18,352Активность: |
Кидай код или точно опиши что тебе надо - посмотрим |
23.06.2012, 14:16 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
EviLInside
offline
Опыт:
3,543Активность: |
Выше смотрите , на сам код не смотрите особо это я для прмера щас клепал, если там переменная неправильна или чё то не дописано, МНЕ ГЛАВНОЕ СМЫСЛ КАК СДЕЛАТЬ.
|
23.06.2012, 14:28 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nerevar
I'll be back!
offline
Опыт:
18,352Активность: |
Для такого использования форгуппа нужна глобалка,если хотите действия с группой смотрите эту тему Там внизу я показал пример перебора группы в одной функции - не придется юзать глоабалки,все в одном месте и удобно |
23.06.2012, 14:39 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
EviLInside
offline
Опыт:
3,543Активность: |
Щас вот подумал, а если передавать значение в те две функции?
Вот в MyFunc2 я узнал id для загрузки из хеша с помощью GetExpiredTimer и в этой же функции написать call MyFuncAct(FA_TimedId) call MyFuncCond(FA_TimedId) и те функции что б давали function MyFunc2Act takes integer FA_TimedId ..... function MyFunc2Cond takes integer FA_TimedId.... Ну и спокойно грузить... Прокатит? |
23.06.2012, 14:51 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nerevar
I'll be back!
offline
Опыт:
18,352Активность: |
В функции вызываемые командой ForGroup нельзя передавать никаких значений напрямую Юзай метод по ссылке которую давал если хочешь |
23.06.2012, 15:05 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
EviLInside
offline
Опыт:
3,543Активность: |
Если честно я несовсем понял твой пример просто...
|
23.06.2012, 15:11 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nerevar
I'll be back!
offline
Опыт:
18,352Активность: |
|
23.06.2012, 15:29 | #10
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
EviLInside
offline
Опыт:
3,543Активность: |
Спасибо, всё получается)
|
23.06.2012, 15:39 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|