Стал замечать что у некоторых игроков вылетает варкрафт на полосе загрузки в моей карте
У меня и у тех с кем я обычно играю ни разу не было вылета

Смог узнать побольше инфы у одного игрока:
При первой загрузке карты у него карта догрузилась до "Ожидание игроков" и через несколько секунд просто вылетел варкрафт с сообщением вроде "Приложение перестало отвечать"
При второй загрузке было тоже самое, но уже айкап отреагировал и айкап выдал фатал (а варкрафт просто вылетел без единой ошибки)
При третьей загрузке вылет был уже прямо в самом начале полосы загрузки карты вместе с черным экраном
И повторюсь, во всех случаях варкрафт не фаталил, он либо зависал, либо вылетал без ошибок

Возможно полезная информация:
В карте ~520 trackable, около двадцати триггеров и огромная туча константных массивов (на самом деле в карте не больше 50 глобальных переменных, триггеры через локалку создаются)
Всё это создается/инициализируется в main потоке, в некоторых местах ExecuteFunc
Ещё в начале игры с 0.00 секунды инициализируется мультиборд
И ещё стоит обратить внимание на этот участок кода который вызывается в main потоке через ExecuteFunc:
    void Lag()
    {
        int i = 1
        unit u = CreateUnit(Player(0), 'hfoo', 0., 0., 0.)
        RemoveUnit(CreateUnit(Player(0), 'h007', 0., 0., 0.))
        RemoveUnit(CreateUnit(Player(0), 'o006', 0., 0., 0.))
        RemoveUnit(CreateUnit(Player(0), 'o001', 0., 0., 0.))
        RemoveUnit(CreateUnit(Player(0), 'H00A', 0., 0., 0.))
        whilenot( i > 41 )
        {
            RemoveDestructable(CreateDestructable(udg_decorationID[i], 0., 0., 0., 1., 1))
            RemoveUnit(CreateUnit(Player(0), udg_units[i], 0., 0., 0.))
            UnitAddAbility(u, udg_abilityQ[i])
            UnitRemoveAbility(u, udg_abilityQ[i])
            UnitAddAbility(u, udg_abilityW[i])
            UnitRemoveAbility(u, udg_abilityW[i])
            UnitAddAbility(u, udg_abilityE[i])
            UnitRemoveAbility(u, udg_abilityE[i])
            UnitAddAbility(u, udg_abilityR[i])
            UnitRemoveAbility(u, udg_abilityR[i])
            UnitAddAbility(u, udg_cardNext[i])
            UnitRemoveAbility(u, udg_cardNext[i])
            i++
        }
        RemoveUnit(u)
        u = null
    }

UrsaBoss:
Всё из за настройки "Качество текстур"
А что делать, я не совсем понял)
Наверное, какая-то текстура имеет размеры не кратные степени двойки.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
28
Ещё в начале игры с 0.00 секунды инициализируется мультиборд
Поставь 0.01 хотя бы, это и может крашить, как писалось в некоторых туториалах.

В коде, что показан, всё чисто, но я бы вынес 41 как константную глобалку)

inject на config есть?
Какие глобалки у тебя сразу имеют значение? например constant integer A = 1
18
В коде, что показан, всё чисто, но я бы вынес 41 как константную глобалку)
там define стоял, я просто для поставил туда число)
inject на config есть?
нету
Какие глобалки у тебя сразу имеют значение?
я почти всем глобалкам ставлю при объявлении null или 0 или ""
28
я почти всем глобалкам ставлю при объявлении null или 0 или ""
ну это ты зря

Тогда остаётся только инициализацию мультибоарда передвинуть, а также проверить вызовы ExecuteFunc (что имя вызываемой функции точно есть в карте) на всякий случай.
18
PT153:
Тогда остаётся только инициализацию мультибоарда передвинуть, а также проверить вызовы ExecuteFunc (что имя вызываемой функции точно было) на всякий случай.
но ещё надо учитывать что у меня и у 80% игроков всё нормально, Execute сразу можно вычеркнуть)
А насчет мультиборда я попробую
Но затестить я смогу не раньше чем завтра, поэтому можно ещё варианты предположить)
И опять повторюсь, варкрафт не крашил, просто вылет без ничего
26
UrsaBoss, у него всегда вылетает при загрузке твоей карты? Грешить только на код, который у тебя и других игроков всегда исправно работает, как-то мелко.
18
PT153:
ну это ты зря
можно подробнее?)

8gabriel8:
UrsaBoss, у него всегда вылетает при загрузке твоей карты? Грешить только на код, который у тебя и других игроков всегда исправно работает, как-то мелко.
да, при этом на других картах которые намного тяжелее моей - всё нормально
И ещё у некоторых игроков такие же вылеты

Ещё однажды заметил ситуацию, игрок со второго раза смог прогрузить карту, но его выкинуло через 5-10 сек после старта игры (он даже успел выбрать несколько карт)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.