0pJl9lTa
offline
Опыт:
2,997Активность: |
Спел с использованием RB
Буду делать первый спел с RB
А вы мне надеюсь в этом поможете. Спел заключается вот в чем. Должен создоваться тригер, с событием каждые 0.04 сек. Который должен перемещать героя, использовавший спел в течении 10 сек. Я сделал на ГУИ, со вставки кустом скрипта. У меня он является мультинстанс, но трубет 1 глоб. переменную типа группа. Я хочу вообще без нее, и так мой код. Вот что я смог сделать для спела конечног оварианта. Событие и проверка есть, пишу тока действия. function H2I takes handle h, integer a returns integer
return h return 0 endfunction function tr_Actions takes nothing returns nothing
endfunction function Trig_GreenFlash_Actions takes nothing returns nothing
local unit cast = GetSpellAbilityUnit() local integer a local location loc local location loca = GetUnitLoc(cast) local player p = GetOwningPlayer(cast) local trigger tr = CreateTrigger () call StoreInteger (cashe, XXX, "casting", H2I(GetAbilitySpellUnit()) call TriggerRegisterTimerEventPeriodic( tr, 0.03 ) call TriggerAddAction(tr, function tr_Actions ) endfunction Так вот теперь вопросы. 1 Как правилно сохранить юнита в кеш? 2 Как его извлеч в др. триге. |
14.01.2006, 23:23 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Медведь
ФффыррфррфффФФфф!
offline
Опыт:
21,702Активность: |
GetStoredIntegerBJ ([u]string[/i] key, [u]string[/i] missionKey, [u]gamecache[/i] cache) returns integer - Если ты спрашивал об этом...
А меня вот что интересует - в читающий триггер нужно будет передать интегер (чтобы узнать, откуда читать указатель на юнита) Так вот - как это сделать? Ведь на это понадобится глобалка... |
14.01.2006, 23:45 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
zibada
offline
Опыт: отключен
|
http://xgm.guru/articles.php?section=wc3&name=using_game_cache_with_jass
там, в частности, разобрано, как делать передачу значений между периодическими вызовами одного триггера и их инициализацию... DimonT добавил: Медведь очевидно так (если не использовать функции-обертки типа get_object_iparam, SetHandleInt или как там их еще можно назвать): call StoreInteger(udg_cache, I2S(H2I(tr)), "key", value) где tr - локальный триггер, который мы только что создали; чтение из самого триггера: GetStoredInteger(udg_cache, I2S(H2I(GetTriggerringTrigger())), "key") со вспомогательными функциями проще: set_object_iparam(tr, "key", value) get_object_iparam(GetTriggeringTrigger(), "key") коды функций есть все в той же статье. |
15.01.2006, 01:45 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Медведь
ФффыррфррфффФФфф!
offline
Опыт:
21,702Активность: |
DimonT Спасибо!
|
15.01.2006, 01:59 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
0pJl9lTa
offline
Опыт:
2,997Активность: |
DimonT Пасиб большое.
|
15.01.2006, 09:19 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|