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

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

Ответ
 
Скорпион

offline
Опыт: 34,413
Активность:
Помогите в святой борьбе против утечек
Помогите пожалуйста справится с учетчками(если я правильно понимаю, то они должны быть в первой функции, но что-то не могу додумкать как сделать без утечек):
Код:
function Trig_Wolf_go_to_city_intro_Func001C takes nothing returns boolean
    if ( not ( RectContainsUnit(RectFromCenterSizeBJ(GetUnitLoc(gg_unit_E000_0002), 400.00, 400.00), udg_Hero) == true ) ) then
        return false
    endif
    return true
endfunction

function Trig_Wolf_go_to_city_intro_Actions takes nothing returns nothing
    local location l = GetRectCenter(gg_rct_intro_city_end)
    if ( Trig_Wolf_go_to_city_intro_Func001C() ) then
        call IssuePointOrderLoc( gg_unit_E000_0002, "move", l )
    else
        call IssueImmediateOrder( gg_unit_E000_0002, "stop" )
    endif
    call RemoveLocation(l)
endfunction
Старый 22.01.2009, 16:07
Enein
Silenced by ZlaYa1000
offline
Опыт: 43,453
Активность:
Код:
function Trig_Wolf_go_to_city_intro_Actions takes nothing returns nothing
    local location l = GetRectCenter(gg_rct_intro_city_end)
    local unit d = null
    if RectContainsUnit(RectFromCenterSizeBJ(GetUnitLoc(d), 400.00, 400.00), udg_Hero) == true then
        call IssuePointOrderLoc(d, "move", l)
    else
        call IssueImmediateOrder(d, "stop")
    endif
    call RemoveLocation(l)
    set l = null
    set d = null
endfunction

что тут еще можно сделать, я незнаю
Старый 22.01.2009, 16:11
NETRAT

offline
Опыт: 83,712
Активность:
код без обьектов = код без утечек
Код:
function Trig_Wolf_go_to_city_intro_Func001C takes nothing returns boolean
    local integer x = GetUnitX(gg_unit_E000_0002) - GetUnitX(udg_Hero)
    local integer y = GetUnitY(gg_unit_E000_0002) - GetUnitY(udg_Hero)
    return ((x < 400) and (x > -400) and (y < 400) and (y > -400))
endfunction

function Trig_Wolf_go_to_city_intro_Actions takes nothing returns nothing
    if ( Trig_Wolf_go_to_city_intro_Func001C() ) then
        call IssuePointOrder(gg_unit_E000_0002, "move", GetRectCenterX(gg_rct_intro_city_end), GetRectCenterY(gg_rct_intro_city_end))
    else
        call IssueImmediateOrder(gg_unit_E000_0002, "stop")
    endif
endfunction
Старый 22.01.2009, 16:15
Скорпион

offline
Опыт: 34,413
Активность:
Спасибо, вроде у NETRATа очень здорово выглядит =)
Старый 22.01.2009, 16:18
Ответ

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

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

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

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



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