Новости Анонсирован Atomic Heart II
Новости Анонсирован ремастер Final Fantasy Tactics
  • 113
  • 0
Культовая пошаговая тактическая RPG от Square Enix получит второе дыхание. На проходящей выставке State of Play, где анонсируются игры для Play Station, состоялся анонс ремастера Final Fantasy...
Новости Моддеры Oblivion Remastered нашли способ внедрения абсолютно любых скриптов
  • 219
  • 1
Сообщество моддинга Oblivion Remastered (ORM) переживает настоящий расцвет. После долгих месяцев работы, энтузиасты научили игру работать с мощным скриптовым языком Lua, открыв перед создателями...
Новости Tainted Grail: The Fall of Avalon — Польская «Skyrim» теперь официально
  • 1.594
  • 24
23 мая 2025 после двух лет успешного раннего доступа в Steam польская студия Questline наконец представила свою фэнтези-RPG в полной версии. Tainted Grail: The Fall of Avalon доступна на ПК...
EthernalBreeze

EthernalBreeze 3.05 (BUILD 6.4.6)

Нет прав доступа на загрузку
Сей мод направлен на расширение Нового Баланса в формат Дьяблоида и схожих рпг игр.

Anksoul

Житель города
Участник форума
Регистрация
1 Янв 2017
Сообщения
184
Реакции
21
Баллы
37
Лучшие ответы
0
я вот в начале с этим сундуком(и рядом) ловил вылеты стабильно + ещё когда гоблинов рядом иногда убивал там же такая же шляпа.
 
Автор
Автор
StonedWizzard

StonedWizzard

Рыцарь
Участник форума
Регистрация
10 Июн 2013
Сообщения
2.159
Реакции
1.884
Баллы
384
Лучшие ответы
0
@StonedWizzard, вылет с уроном не смотрел у башни Декстера?
А там что? Уже забыл.
И по поводу деления на ноль - сколько помню если в скриптах так сделать, то будет либо вылет, либо в ситуациях с уроном зачастую приводило к бесконечному циклу обработки урона (почему то дескриптор из сообщений не уходил)
 

Хедин

Герой
Пользователь VIP
Модостроитель
Почётный пользователь
Участник форума
Регистрация
10 Июл 2013
Сообщения
6.265
Реакции
8.171
Баллы
776
Лучшие ответы
123
@StonedWizzard, ну кто-то выкладывал тогда сейв, там достаточно просто можно было поймать вылет на чистом ЕБ + НБ. По поводу скриптов фиг знает, простое деление не должно к вылету приводить. С уроном возможно в бесконечный уходит, если выше функции так написаны, но само деление к вылету то не приведет.
 
Автор
Автор
StonedWizzard

StonedWizzard

Рыцарь
Участник форума
Регистрация
10 Июн 2013
Сообщения
2.159
Реакции
1.884
Баллы
384
Лучшие ответы
0
@StonedWizzard, ну кто-то выкладывал тогда сейв, там достаточно просто можно было поймать вылет на чистом ЕБ + НБ. По поводу скриптов фиг знает, простое деление не должно к вылету приводить. С уроном возможно в бесконечный уходит, если выше функции так написаны, но само деление к вылету то не приведет.
Ну разве что если кто то это хендлит, ща попробую, но однозначно если не хендлить такое, то по дефолту будет вылет.
Вот
C++:
// кусок из двигла 1й готы, но думаю во второй так же
zCParser::DoStack()
//...
case EXP_DIV:
    value = PopDataValue();
    value /= PopDataValue();
    break;
Тут никакой проверки нет и обычно это значит ошибку в любом (почти?) яп...

За урон хз уже, что бы именно в конкретном месте вылет был. У кого ещё появится, буду смотреть. И то, зная как это всё происходит, то с 75% вероятностью у меня вылетов не будет (хз почему так, но статистика) Более того так иногда можно починить сейв, были случаи я зашёл, ошибки нет, сделал другой сейв передал человеку и тот продолжил играть))
 

Ilia220

Житель города
Участник форума
Регистрация
17 Дек 2016
Сообщения
175
Реакции
28
Баллы
41
Лучшие ответы
0
Не проще у гг сделать 1 уровень? В случае непредвиденных потерь очков обучения можно их тоже выдать. Ну или пусть Ксардас даёт 500 опыта
Не проще, там тогда второй уровень надо, на первом точно так же вылеты, только со второго проблемы уходят.
@StonedWizzard, во время генерации лута с трупа или сундука, вылет пока не получим 2 уровень.
 
Автор
Автор
StonedWizzard

StonedWizzard

Рыцарь
Участник форума
Регистрация
10 Июн 2013
Сообщения
2.159
Реакции
1.884
Баллы
384
Лучшие ответы
0
Не проще, там тогда второй уровень надо, на первом точно так же вылеты, только со второго проблемы уходят.
@StonedWizzard, во время генерации лута с трупа или сундука, вылет пока не получим 2 уровень.
ща смотрю, пару фиксов на безопасность уже добавил, и как раз всё логично - там есть чёт типа деления уровня на 2

@Хедин
Касательно деления на ноль:
Безымянный.jpg


Как видишь у меня вылетает. Возможно нужно в моей либе добавить фикс подобного или хз.
Ну и кому интересны подробности: ChatGPT - Деление на 0 в Daedalus
 

DanilaDNL

Наемник
Участник форума
Регистрация
2 Май 2018
Сообщения
861
Реакции
230
Баллы
126
Лучшие ответы
0
Ну насчёт ошибки я не могу утверждать что это именно оно, я ещё в оригинальный хендлер лута добавил проверку деления статов (то что ты задаёшь) должно быть чуть более безопасно.
А мобы по большей части с уровнем, а те что без в луте не участвуют. Но на 100% именно в таком сценарии я не могу быть увереным.
А деление на ноль в математике и реализация операции в коде это чутка разные вещи. Не вдаваясь в подробности скажу что подобная операция приводит либо к бесконечному поиску результата и переполнению стека или же просто выбрасывает не обработанное исключение (тут я хз, это зависит от версии языка на котором писался код).
Дак в моей формуле нет деления на 0. Там 0 может делиться на 3, о чём и пишу.
Я поэтому и спокоен.
 

Хедин

Герой
Пользователь VIP
Модостроитель
Почётный пользователь
Участник форума
Регистрация
10 Июл 2013
Сообщения
6.265
Реакции
8.171
Баллы
776
Лучшие ответы
123
@StonedWizzard, а зачем ты делишь на 0 если там не делится на 0? У тебя там 0/3 было
 
Автор
Автор
StonedWizzard

StonedWizzard

Рыцарь
Участник форума
Регистрация
10 Июн 2013
Сообщения
2.159
Реакции
1.884
Баллы
384
Лучшие ответы
0
@StonedWizzard, а зачем ты делишь на 0 если там не делится на 0? У тебя там 0/3 было
Да, чёт совсем жестко протупил ;D
Вижу ноль и деление вместе и тут же триггерит)
--- Добавлено: ---

Дак в моей формуле нет деления на 0. Там 0 может делиться на 3, о чём и пишу.
Я поэтому и спокоен.
согласен, там я ступил.
но ошибка там есть))
hlp_random(hero.level/2) как думаешь что будет если получить рандом из 0?)))
и кажись это похоже на наш баг - 1/2 может округлится либо в 0 либо в 1. Ща проверю такой кейс.
 
Последнее редактирование:

DanilaDNL

Наемник
Участник форума
Регистрация
2 Май 2018
Сообщения
861
Реакции
230
Баллы
126
Лучшие ответы
0
hlp_random(hero.level/2) как думаешь что будет если получить рандом из 0?)))
и кажись это похоже на наш баг - 1/2 может округлится либо в 0 либо в 1. Ща проверю такой кейс.
Вот у меня такая формула:
lootPower = 1 + (hero.level * 3) + hlp_random(hero.level * 2) + vict.level / 3

Даже если тут получить 0 на всех переменных, то lootPower будет равен 1.
lootPower = 1 + (0 * 3) + hlp_random(0 * 2) + 0 / 3

Я вот только незнаю как реагирует движок, если его попросить выполнить команду hlp_random(0)
 
Автор темы Похожие темы Форум Ответов Дата
Icefist Новый Баланс - FAQ / Мануалы 0
Сверху Снизу