Добавлен Impertus
Есть триггер в Jass
function Trig_fire_Actions takes nothing returns nothing
local unit BET
local unit BEC
set BET = GetSpellTargetUnit()
set BEC = GetSpellAbilityUnit()
call TriggerSleepAction( ( DistanceBetweenPoints(GetUnitLoc(BEC), GetUnitLoc(BET)) / 1000.00 ) )
call SetUnitMoveSpeed( BET, 500.00 )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 20
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call IssuePointOrderLocBJ( BET, "move", GetRandomLocInRect(RectFromCenterSizeBJ(GetUnitLoc(BET), 500.00, 500.00)) )
call UnitDamageTargetBJ( BEC, BET, 5, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_NORMAL )
call TriggerSleepAction( 0.50 )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call SetUnitMoveSpeed( BET, GetUnitDefaultMoveSpeed(BET) )
call IssueImmediateOrderBJ( BET, "stop" )
endfunction
На пустой карте любых размеров работает корректно, даже при выборе области всей карты, а не только вокруг юнита, количество войск на карте не влияет, рельеф карты не пробовал. Принадлежность цели не важна, хоть игрок, хоть комп, хоть нейтрал.
При использовании в точно таком же виде на основной карте вызывает дикие тормоза, вплоть до зависания игы на все время действия триггера, потом отлагивает, чем меньше периодичность - тем сильнее лаги (при >2 cек периода лагает заметно слабее, чем при 0.3).
В чем может быть проблема? Конфликт с другими триггерами (выключать по одному и тестить долго и нудно, больше 50 триггеров в основной карте)? Сложности в вычислении пути по рельефу (пробовал пересчитать пути, не помогло)?
При использовании в точно таком же виде на основной карте вызывает дикие тормоза, вплоть до зависания игы на все время действия триггера, потом отлагивает, чем меньше периодичность - тем сильнее лаги (при >2 cек периода лагает заметно слабее, чем при 0.3).
В чем может быть проблема? Конфликт с другими триггерами (выключать по одному и тестить долго и нудно, больше 50 триггеров в основной карте)? Сложности в вычислении пути по рельефу (пробовал пересчитать пути, не помогло)?
Принятый ответ
Не юзай TriggerSleepAction и будет тебе счастье. Особенно когда юзаешь глобальные переменные, вполне вероятно, что конфликт
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.

WC3




Ред. Uber
из за этого предмет исчезает но его эффект остаётся
перед тем как писать что либо хотя бы посмотри как в вар3 реализованы триггеры
Ред. Impertus
По сути, переделал на таймеры, только вот с ними еще не работал, а гайдов по работе с таймерами нет вообще
Impertus:
И статьи есть xgm.guru/p/wc3/w3_special_programming