Как я помню, код, подсвеченный красным цветом, вызывает утечки, чем можно заменить данный фрагмент кода?
Предполагаю, что нужен таймер, но не понимаю, как создать условие, под которое он создастся после начала игры (скриншот с обычного GUI ниже):

Принятый ответ

Как я помню, код, подсвеченный красным цветом, вызывает утечки
Абсолютно точно нет.

Ничем не заменять, абсолютно безвредная функция.
function TriggerRegisterTimerEventPeriodic takes trigger trig, real timeout returns event
    return TriggerRegisterTimerEvent(trig, timeout, true)
endfunction

function TriggerRegisterTimerEventSingle takes trigger trig, real timeout returns event
    return TriggerRegisterTimerEvent(trig, timeout, false)
endfunction
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
3
28
5 месяцев назад
Отредактирован PT153
3
Как я помню, код, подсвеченный красным цветом, вызывает утечки
Абсолютно точно нет.

Ничем не заменять, абсолютно безвредная функция.
function TriggerRegisterTimerEventPeriodic takes trigger trig, real timeout returns event
    return TriggerRegisterTimerEvent(trig, timeout, true)
endfunction

function TriggerRegisterTimerEventSingle takes trigger trig, real timeout returns event
    return TriggerRegisterTimerEvent(trig, timeout, false)
endfunction
Принятый ответ
0
10
5 месяцев назад
0
Ничем не заменять, абсолютно безвредная функция.
Хм, а как понять, что функция "вредна" и создаёт утечки? У меня карта напичкана много чем на GUI и после 15 минут игры вылетает. Предположил, что это из-за накопления утечек.
1
20
5 месяцев назад
1
Нативная от нее вот же?
То есть можно воткнуть
call TriggerRegisterPlayerUnitEvent(trig, Player(index), whichEvent, null)
Если я понял, то в скобках название триггера, игрок, эвент и ноль.
Хотя меня уверяли что она сама по себе безвредная
Загруженные файлы
0
10
5 месяцев назад
0
Нативная от нее вот же?
То есть можно воткнуть
call TriggerRegisterPlayerUnitEvent(trig, Player(index), whichEvent, null)
Если я понял, то в скобках название триггера, игрок, эвент и ноль.
Хотя меня уверяли что она сама по себе безвредная
Скорее всего от него нативка, но тут связано с таймером от начала игры, да и раз уж она безвредная, то думаю стоит её так оставить.
1
20
5 месяцев назад
1
Хм, а как понять, что функция "вредна" и создаёт утечки? У меня карта напичкана много чем на GUI и после 15 минут игры вылетает. Предположил, что это из-за накопления утечек.
))
Это как минимум двойная работа для системы, потому что сначало идет родная нативная функция, потом ее обрабатывают в bj которая делает "по своему" и не всегда логично. Дело даже не в утечках, а в странном подходе, например, если ты создаешь одного юнита через триггер, на самом деле bj делает целую группу из одного юнита. Короче все учим Джасс или хотя бы толкаем custom script , забываем про использование вейтов и чаше юзаем локалки!)))
0
10
5 месяцев назад
0
Nneshan:
Это как минимум двойная работа для системы, потому что сначало идет родная нативная функция, потом ее обрабатывают в bj которая делает "по своему" и не всегда логично. Дело даже не в утечках, а в странном подходе, например, если ты создаешь одного юнита через триггер, на самом деле bj делает целую группу из одного юнита. Короче все учим Джасс или хотя бы толкаем custom script , забываем про использование вейтов и чаше юзаем локалки!)))
Какой ужас, но суть понял, перелопачивать весь GUI к чертям и переходить на Jass. Благодарю.)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.