Будет ли смысл от добавления локалок в такие функции?
Если юнитов через gg_rct_NotrhHome проходит немало (~30 в минуту)
Если юнитов через gg_rct_NotrhHome проходит немало (~30 в минуту)
function Trig_Death_Conditions takes nothing returns boolean
local unit u = GetEnteringUnit() /<-----
if ( not ( GetOwningPlayer(u) == Player(8) ) ) then
// Изначально стояло GetEnteringUnit() вместо u
return false
endif
return true
set u = null // <----
endfunction
function Trig_Death_Actions takes nothing returns nothing
local unit u = GetEnteringUnit() // <------
call IssuePointOrderLoc( u, "attack", GetRectCenter(gg_rct_NotrhHome) )
// Изначально стояло GetEnteringUnit() вместо u
set u = null // <----
endfunction
//===========================================================================
function InitTrig_Death takes nothing returns nothing
set gg_trg_Death = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Death, gg_rct_NorthStart )
call TriggerAddCondition( gg_trg_Death, Condition( function Trig_Death_Conditions ) )
call TriggerAddAction( gg_trg_Death, function Trig_Death_Actions )
endfunction
Принятый ответ
Если нет задержек, то локалки нет смысла использовать - в основном для удобства.
Там все потоки выполняются последовательно. Друг за другом идут потоки - переменные никогда не могут перезаписаться. Такое не видел. Например, запустилось событие - пустили поток: сработало условие, действие. Все. Запускается следующий поток - либо событием либо таймером. Короче потоки одновременно не могут в одно и то время работать. Иначе бы триггеры в варе не работали из-за станд варкрафтоских переменных - тогда бы значения в варкрафтовских переменных перезаписывали в ходе потоков.
Потоки мгновенно срабатывают, за одно мгновение можно много потоков запустить можно - и вам будет казаться, что сработало сразу или одновременно. Это можно проверить дебагом, выводи текстом в какой последовательности выходят потоки, и тут увидите, что потоки последовательны. Вам могут еще помочь эти функции ссылка
Обычно риск есть только во время паузы или задержки, ибо глобалки перезаписываются во время задержки, например через 5 минут в одной переменной может оказать другой юнит. Поэтому локалки и используют. Еще локалки используют тем, кому лень глобалки плодить
Там все потоки выполняются последовательно. Друг за другом идут потоки - переменные никогда не могут перезаписаться. Такое не видел. Например, запустилось событие - пустили поток: сработало условие, действие. Все. Запускается следующий поток - либо событием либо таймером. Короче потоки одновременно не могут в одно и то время работать. Иначе бы триггеры в варе не работали из-за станд варкрафтоских переменных - тогда бы значения в варкрафтовских переменных перезаписывали в ходе потоков.
Потоки мгновенно срабатывают, за одно мгновение можно много потоков запустить можно - и вам будет казаться, что сработало сразу или одновременно. Это можно проверить дебагом, выводи текстом в какой последовательности выходят потоки, и тут увидите, что потоки последовательны. Вам могут еще помочь эти функции ссылка
Обычно риск есть только во время паузы или задержки, ибо глобалки перезаписываются во время задержки, например через 5 минут в одной переменной может оказать другой юнит. Поэтому локалки и используют. Еще локалки используют тем, кому лень глобалки плодить
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован MpW
Там все потоки выполняются последовательно. Друг за другом идут потоки - переменные никогда не могут перезаписаться. Такое не видел. Например, запустилось событие - пустили поток: сработало условие, действие. Все. Запускается следующий поток - либо событием либо таймером. Короче потоки одновременно не могут в одно и то время работать. Иначе бы триггеры в варе не работали из-за станд варкрафтоских переменных - тогда бы значения в варкрафтовских переменных перезаписывали в ходе потоков.
Потоки мгновенно срабатывают, за одно мгновение можно много потоков запустить можно - и вам будет казаться, что сработало сразу или одновременно. Это можно проверить дебагом, выводи текстом в какой последовательности выходят потоки, и тут увидите, что потоки последовательны. Вам могут еще помочь эти функции ссылка
Обычно риск есть только во время паузы или задержки, ибо глобалки перезаписываются во время задержки, например через 5 минут в одной переменной может оказать другой юнит. Поэтому локалки и используют. Еще локалки используют тем, кому лень глобалки плодить
Отредактирован MpW
блин не в эту тему. ну ладно