Объявления |
---|
Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru. Я оторву свою задницу от всех дел и обязательно Вас активирую! Добро пожаловать на геройский форум! |
Re: Как создать плагин для HD модаВлияет. Попробуйте повторить баг без плагинов. Это либо баг оригинала, либо HD мода. А в первый запуск у вас файлов H3FRESH не было. Вот и случился вылет.
|
Re: Как создать плагин для HD модаЦитата: Можно разрешить, чтобы видны были только H3FRESH0 и H3FRESH1 (добавить проверку strcmp). А флаг читать как последний символ сигнатуры: если '0' - нет изменений геймплея, '1' - есть. Что-то вроде:
* * * Если по-прежнему вылетает при создании новой игры, попробуйте отключить все плагины и подключить только этот, чтобы узнать, в чём дело. |
Re: Как создать плагин для HD модаВсе получилось - неправильный возврат стоял в хуке.
Единственное не могу сделать идею с флагом в сигнатуре, пробую так, но никакие сейвы не виды после сохранения:
|
Re: Как создать плагин для HD модаИ еще у меня почему-то перестал работать код igrikа - валится, при попытке присвоения первого же атрибута структуры:
Что можно посмотреть? |
Re: Как создать плагин для HD модаТехническое: господа, а вам не тесно в одной-единственной теме?
Больше 130 страниц уже; потом понадобится что-то найти - найдёте? |
Re: Как создать плагин для HD модаЦитата: Попробуйте уменьшить длину сигнатуры (например, FRESH0, FRESH1 или H3FM0, H3FM1). Видимо, сигнатуру игра читает в короткий буфер. Только старые сейвы (H3FRESH0 и H3FRESH1) удалите, их игра не увидит. Вот такой код у меня работает:
Хук loadGame вызывается при каждом чтении файла сохранения и выводит лишь те, у которых сигнатура фрешмода, так что значение GameplayChangesOn после построения списка будет неопределённым. Но. Этот хук вызывается ещё один раз при загрузке сейва. И вот уже здесь GameplayChangesOn получит корректное значение: false или true - в зависимости от сигнатуры загружаемого сейва. Как бы две задачи решаем сразу: фильтруем список сохранений и выставляем флаг при загрузке сейва. * * * При сохранении игры тоже можно сделать аналогичный фильтр, но здесь он не так нужен. Например, если игрок попытается сохранить игру под уже существующим именем, но которого нет в списке, это его может сбить с толку. Ещё обязательно нужно проверить работу запароленных сейвов и вариант, когда игрок отменяет загрузку: на каком этапе устанавливается флаг GameplayChangesOn? сбрасывается ли он каждый раз при показе диалога с настройками или сохраняется в течение игровой сессии? |
Re: Как создать плагин для HD модаЕсть проблема - LoadHeadSave вызывается и при сохранении, когда открывается список сейвов, раньше чем SetHeadSave и этот код:
Сбрасывает реальное значение флага GamePlayChangesOn. И в результате при загрузке он всегда false. Хотя сохранялся со значение true. Обновлено: Вообщем, сделал сохранение флага в сейв через код RoseKavalier. А установку сигнатуры через код AlexSPL. Теперь все работает как надо - и в сетевой и с паролями и без. |
Re: Как создать плагин для HD модаAlexSpl писал(а): Баг со стартом новой игры после удаления сейвов Load Game -> Single Scenario, удаляем все сейвы с помощью клавиши Delete, Back, Back, New Game -> Single Scenario = Crash. Проверял на последней версии HD мода. Отписался на HW. |
Re: Как создать плагин для HD модаКстати каким-то непонятным образом, эти хуки:
Синхронизируют данные флага GamePlayChangesOn, между хостом и остальными игроками. Т.е. запускаю сетевую игру, у хоста ставлю флаг GamePlayChangesOn, у игроков флаг сброшен. После запуска игры у игроков значение флага также окажется взведенным. Если убрать эти хуки, то каждый будет играть со своим значением флага. Последний раз редактировалось as239 13 июл 2019, 05:37, всего редактировалось 4 раз(а).
|
Re: Как создать плагин для HD модаВладимир писал(а): Больше 130 страниц уже; потом понадобится что-то найти - найдёте? Пока получается, но возможно, создавать отдельные темы не такая плохая идея. Скоро попробую. |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1