Тема для общего обсуждения Gothic 1 Remake: первых впечатлений, ожиданий, атмосферы, визуального стиля, геймплея, боевой системы, персонажей, локаций и отличий от оригинальной Gothic. Здесь можно...
Of Ash and Steel: атмосферный экшен выходит 6 ноября 6 ноября станет важной датой для поклонников сложных и атмосферных игр - именно в этот день состоится релиз долгожданного проекта Of Ash and...
Разработчики "Русской Готики" объявили о старте закрытого плейтеста. Если вы оставляли заявку на участие, не забудьте проверить электронную почту или посмотреть свою библиотеку - возможно игра уже...
А там что? Уже забыл.
И по поводу деления на ноль - сколько помню если в скриптах так сделать, то будет либо вылет, либо в ситуациях с уроном зачастую приводило к бесконечному циклу обработки урона (почему то дескриптор из сообщений не уходил)
@StonedWizzard, ну кто-то выкладывал тогда сейв, там достаточно просто можно было поймать вылет на чистом ЕБ + НБ. По поводу скриптов фиг знает, простое деление не должно к вылету приводить. С уроном возможно в бесконечный уходит, если выше функции так написаны, но само деление к вылету то не приведет.
@StonedWizzard, ну кто-то выкладывал тогда сейв, там достаточно просто можно было поймать вылет на чистом ЕБ + НБ. По поводу скриптов фиг знает, простое деление не должно к вылету приводить. С уроном возможно в бесконечный уходит, если выше функции так написаны, но само деление к вылету то не приведет.
Ну разве что если кто то это хендлит, ща попробую, но однозначно если не хендлить такое, то по дефолту будет вылет.
Вот
C++:
// кусок из двигла 1й готы, но думаю во второй так же
zCParser::DoStack()
//...
case EXP_DIV:
value = PopDataValue();
value /= PopDataValue();
break;
Тут никакой проверки нет и обычно это значит ошибку в любом (почти?) яп...
За урон хз уже, что бы именно в конкретном месте вылет был. У кого ещё появится, буду смотреть. И то, зная как это всё происходит, то с 75% вероятностью у меня вылетов не будет (хз почему так, но статистика) Более того так иногда можно починить сейв, были случаи я зашёл, ошибки нет, сделал другой сейв передал человеку и тот продолжил играть))
Не проще, там тогда второй уровень надо, на первом точно так же вылеты, только со второго проблемы уходят. @StonedWizzard, во время генерации лута с трупа или сундука, вылет пока не получим 2 уровень.
Не проще, там тогда второй уровень надо, на первом точно так же вылеты, только со второго проблемы уходят. @StonedWizzard, во время генерации лута с трупа или сундука, вылет пока не получим 2 уровень.
Как видишь у меня вылетает. Возможно нужно в моей либе добавить фикс подобного или хз.
Ну и кому интересны подробности: ChatGPT - Деление на 0 в Daedalus
Ну насчёт ошибки я не могу утверждать что это именно оно, я ещё в оригинальный хендлер лута добавил проверку деления статов (то что ты задаёшь) должно быть чуть более безопасно.
А мобы по большей части с уровнем, а те что без в луте не участвуют. Но на 100% именно в таком сценарии я не могу быть увереным.
А деление на ноль в математике и реализация операции в коде это чутка разные вещи. Не вдаваясь в подробности скажу что подобная операция приводит либо к бесконечному поиску результата и переполнению стека или же просто выбрасывает не обработанное исключение (тут я хз, это зависит от версии языка на котором писался код).
согласен, там я ступил.
но ошибка там есть)) hlp_random(hero.level/2) как думаешь что будет если получить рандом из 0?)))
и кажись это похоже на наш баг - 1/2 может округлится либо в 0 либо в 1. Ща проверю такой кейс.
hlp_random(hero.level/2) как думаешь что будет если получить рандом из 0?)))
и кажись это похоже на наш баг - 1/2 может округлится либо в 0 либо в 1. Ща проверю такой кейс.