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

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

Закрытая тема
 
Kenshi45

offline
Опыт: 605
Активность:
Где тут ошибка?
Есть функция, при выполнении которой игра вылетает с критической ошибкой памяти. Притом заметил, что вылеты идут, если делать манипуляции с переменной indexA(в центре кода). Что это за ошибка такая может быть?
Код:
function MBGold_Add takes nothing returns nothing
    local group groupA = CreateGroup()
    local unit unitA
    local integer indexA = 0
    call GroupEnumUnitsInRange(groupA, 0, 0, 10000, Condition(function MBGold_Filter))
    loop
        set unitA=FirstOfGroup(groupA)
        exitwhen unitA==null
        set indexA = 0 // ЕСЛИ ЭТО УБРАТЬ ИГРА ВЫЛЕТЕТ С КРИТОМ
        loop
            if IsPlayerAlly(Player(indexA),GetOwningPlayer(unitA)) then // А если убрать и это, то перестанет вылетать
                call SetPlayerState(Player(indexA),PLAYER_STATE_RESOURCE_GOLD,GetPlayerState(Player(i  ndexA),PLAYER_STATE_RESOURCE_GOLD)+3) // А если убрать и это, то перестанет вылетать
            endif // А если убрать и это, то перестанет вылетать
            set indexA=indexA+1
            exitwhen indexA==12
        endloop
        call GroupRemoveUnit(groupA,unitA)
    endloop
    call DestroyGroup(groupA)
    set groupA = null
    set unitA = null
endfunction
Старый 13.10.2009, 00:06
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
Твой код в настоящем состоянии верен. Если убрать обнуление переменной, то игра вылетит из-за бесконечного внутреннего цикла уже на второй итерации цикла внешнего (по юнитам группы).
Старый 13.10.2009, 00:19
Закрытая тема

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

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

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

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



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