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

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

Ответ
 
Xoniks

offline
Опыт: 1,858
Активность:
Нужно ли обнулять локальный триггер
» code
((код Jass
scope Skill1 initializer Init
private function Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'Ablo'
endfunction
private function Timer takes nothing returns nothing
local timer t = GetExpiredTimer( )
local integer hid = GetHandleId(t)
call UnitRemoveAbility(LoadUnitHandle(Hash, hid, 0), 'A001')
call FlushChildHashtable(Hash, hid)
call DestroyTimer(t)
set t=null
endfunction
private function Actions takes nothing returns nothing
local unit u = GetSpellTargetUnit( )
local player p = GetTriggerPlayer( )
local timer t = CreateTimer( )

call UnitAddAbility(u, 'A001')
call SetPlayerAbilityAvailable(p, 'A001', false)
call SaveUnitHandle(Hash, GetHandleId(t), 0, u)
call TimerStart(t, 20., false, function Timer)

set t = null
set u = null
endfunction
===========================================================================
function Init takes nothing returns nothing
local trigger t = CreateTrigger( )
call TriggerRegisterPlayerUnitEvent(t,Player(0),EVENT_PLAYER_UNIT_SPELL_EFFECT, null)
call TriggerRegisterPlayerUnitEvent(t,Player(1),EVENT_PLAYER_UNIT_SPELL_EFFECT, null)
call TriggerRegisterPlayerUnitEvent(t,Player(2),EVENT_PLAYER_UNIT_SPELL_EFFECT, null)
call TriggerRegisterPlayerUnitEvent(t,Player(3),EVENT_PLAYER_UNIT_SPELL_EFFECT, null)
call TriggerRegisterPlayerUnitEvent(t,Player(4),EVENT_PLAYER_UNIT_SPELL_EFFECT, null)
call TriggerRegisterPlayerUnitEvent(t,Player(5),EVENT_PLAYER_UNIT_SPELL_EFFECT, null)
call TriggerAddCondition( t,Condition(function Conditions ) )
call TriggerAddAction( t, function Actions)
endfunction
endscope
))
нужно ли в данном коде обнулять локалку триггер и если да то как?
Старый 16.03.2012, 05:47
Sidhe
Unity3D engine
offline
Опыт: 7,721
Активность:
нужно обнулять только локальные переменные, которые привязываются к объектам. int, real, string обнулять не нужно
Старый 16.03.2012, 10:50
Faion
Noblesse Oblige
offline
Опыт: 30,395
Активность:
t = null и все.
Старый 16.03.2012, 11:13
Алексей Андреич
..."№%;№;?345...
offline
Опыт: 80,420
Активность:
Sidhe:
int, real, string обнулять не нужно
и boolean тоже...
всё остальное, вроде бы, обнулять нужно...
Старый 16.03.2012, 11:50
adic3x

offline
Опыт: 108,439
Активность:
А еще можно поставить бету сЖасса и вообще забыть об обнулении.
Старый 16.03.2012, 12:02
Sidhe
Unity3D engine
offline
Опыт: 7,721
Активность:
Андреич, ну да)
ADOLF, кстати - да =)
Старый 16.03.2012, 12:33
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
Ещё player обнулять нет смысла.
А еще можно поставить бету сЖасса и вообще забыть об обнулении.
Вариант для слабых духом! =)
Старый 16.03.2012, 17:25
ScorpioT1000
Работаем
online
Опыт: отключен
И опять спорят, вот, почитайте xgm.ru/p/wc3/w3_data_types сборник всех знаний по данным от самых знающих людей
ScorpioT1000 добавил:
Конкретно по вопросу - можно и не обнулять, ибо это практически ни на что не виляет, т.к. действие единично.
Старый 16.03.2012, 17:27
Ответ

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

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

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

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



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