Может кто сталкивался с подобным или имеет варианты, почему такое может произойти. Суть:
Играю примерно 10 минут (время почти одинаковое, +-минута), и во время боя варик зависает.
Бои идут в виде дуэлей между игроками отрядами.
  1. Юниты всегда спавнятся рандомные (поэтому можно исключить, что багает какая-то способка или особый юнит).
  2. Баг не зависит от кол-ва юнитов. Я тестил как с лимитом в 10 еды, так и в 150 еды. Время зависания все такое-же, через 10 минут.
  3. Баг не зависит от кол-ва игроков. Хоть 2 игрока играют хоть 8 (максимум).
  4. Баг не зависит от длительности раундов (если насильно их обрывать раньше и выбирать победителя автоматически, то пройдем больше раундов но все равно игра зависнет)
  5. Баг не зависит от кол-ва использования способностей игроком. Тестил активно все подряд юзая, так и вообще ничего не юзая вовсе. Одинаково.
Баг очень напоминает какое-то зацикливание, когда срабатывает бесконечный цикл, но я не нашел ничего такого, от чего игра могла зациклится.
Тестил так-же старую версию, которая отлично работала на 1.26а давно - на рефе и она ТОЖЕ зависает. В коде использую джасс, но по большей части гуи. Карта изначально разрабатывалась на 1.26а.
Единственные зацепки за многочасовые тесты - время примерно 10 мин и происходит во время боя (даже вначале боя при первом ударе или в середине боя и даже под конец боя)
Есть идеи?
Скачать старую версию карты
(В ней меньше намешано тригов)

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

Итак, спустя 30 часов тестов по 10 минут каждый я нашел проблему.
После 10 минуты при юза огненного столба (его юзали компы, если не я) зависает варкрафт. РЕФАНДЕД спасибо! Инфа сотка, такая проблема оказалась не только у меня в проекте.
Спасибо всем, кто пытался помочь, вы лучшие! :)
Тема закрыта.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
24
4 года назад
1
Этой конкретики мало, думаю, сейчас будут просить саму карту....
0
32
4 года назад
0
konvan5, зависание в рефордже полное.. вызывают теже причины, что и фаталы
А ещё в формате луа (даже в гуишных картах не обрывается поток), скорее всего тут и есть зависание
Проверяй функции Урона в триггере урона..
Выход за пределы карты
Если время одно и тоже, проверяй все периодики большого значения 10+ секунд
Для малых считай каждый 1000 вызов
0
23
4 года назад
0
koloff:
Этой конкретики мало, думаю, сейчас будут просить саму карту....
По поводу карты - вот загрузил старую версию, которая не вылетала и не зависала. В ней есть косяки геймплейные, но без крашей.
Загруженные файлы
0
24
4 года назад
0
konvan5, Прикрепи её в топик-то, мне самому она ни к чему, я по синематикам специализируюсь, там в приоритете совсем другие вещи, бесполезные для тебя.
0
23
4 года назад
Отредактирован konvan5
0
Bergi_Bear:
konvan5, зависание в рефордже полное.. вызывают теже причины, что и фаталы
А ещё в формате луа (даже в гуишных картах не обрывается поток), скорее всего тут и есть зависание
Перейти в луа режим пока не вариант...
Проверяй функции Урона в триггере урона..
Таких триггеров всего 2 и то они настолько элементарные что вызвать краш не могут... Да и завязаны они на способках юнитов. Если играть только этими юнитами, наняв их сотню вначале игры - не зависает.
Выход за пределы карты
Понимаю, тоже может вызывать краш, не находил перемещения за пределы. Все раунды одинаково воспроизводятся.
Если время одно и тоже, проверяй все периодики большого значения 10+ секунд
Работает только один таймер. Типа 60 секунд - битва. Потом 15 секунд передышка. Потом 60 снова битва и тд. Я его заменял уже на свою систему с wait, но причина остается.
Для малых считай каждый 1000 вызов
Таких нет. Единственное, что вызывается часто - это смерть юнита. Такие триггеры есть, я их чекал, везде конкретные условия на тип юнита и тд. Но зависание происходило даже тогда, когда еще никто не умер! Что и удивляет...

Есть предположение, что зависание происходит при касте способностей (тоже есть триггеры, которые чекают такие моменты). Но при тестах я пробовал как МНОГО юзать способки так и ВООБЩЕ не юзать способки - все равно зависало примерно в одно и то-же время.
(допишу-ка я это в пост)
0
32
4 года назад
0
надо больше тестов
очень много тестов
0
23
4 года назад
0
Bergi_Bear:
надо больше тестов
очень много тестов
Тестил 8 часов

Я отключил все триггеры, связанные со способностями юнитов. Все равно зависает. По сути осталась голая система организации раундов О_О

кроме инициализации оставил тока 3 рабочих триггера:
Начало раунда
Конец раунда
Смерть юнита
Все. Больше ничего не пашет. И все равно зависает на 10 минуте во время боя. Ооооооченль логично, что виноват триггер смерти юнита... но что там такого...
0
27
4 года назад
Отредактирован MpW
0
konvan5, попробуй отключать некоторые триггеры и проверять, что происходит.

попробуй не выводить тексты, мб дело в строках? все тексты надо хранить в глобалках, а именно в массивах, и выводить, вызывать функции через ExecuteFunc, или строковые названия эффектов с помощью переменных. в варе там одна строка, и чем больше текстов вызываешь, тем длиннее строка становится. просто со временем лаги случаются. Вообще то это не критично для вара 1.26, но я сам как-то на это натолкнулся ранее, очень много дебага выводил. А потом чем больше вызываешь, тем больше подвис, в конец очень хреново. Анимации моделек юнитов совсем тупят: анимация ходьбы запаузена, и юнит смещается в таком положении.

смотрел старую карту. в триггере UnitDeathAtArena у вас много циклов. много чего не понятно, просто надо логику понять

konvan5, а раньше не было подвисании до рефорджа?
0
23
4 года назад
Отредактирован konvan5
0
Steal nerves:
konvan5, а раньше не было подвисании до рефорджа?
До рефа такого не было. Я как раз по действиям удаляю и тестирую щас и все больше шокируюсь, от чего зависает... Мб вреале и от текста, а может и из-за вычислений. Пробую

Вооот, своими действиями я дошел до этого условия. Без него все ок. А вот с ним зависает. Как я помню, эти числа всегда правильны и не меняются в течении всей игры (то есть вначале установил и все). То есть если работало в 1 раунде - то и в 10 будет работать абсолютно так-же. Странно... Попробую вывести, что там хранится вообще...

Steal nerves:
попробуй не выводить тексты, мб дело в строках?
На самом деле текста у меня мало в этой карте. Раньше подобной проблемы не наблюдал. Кхм.

Еще потестил с этой функцией - и нет! Код даже не доходит до нее как варик зависает :(
До нее может дойти, если любой из игроков проиграет (то есть группа юнитов останется пустой). Но у меня зависло (как и раньше бывало в общем-то) когда бой тока начался и только пару юнитов умерло. Я вообще ничего не понимаю, как так то о_О
Триггер, что на скрине выше - единственный, который имеет события во время боя, пока идет таймер. Все остальное отключено...
Загруженные файлы
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.