Войти на сайт

Авторизация, ждите ...
×

ТЕМА: [MV] Жесткий конфликт плагина

[MV] Жесткий конфликт плагина 7 года 1 мес. назад #100099

  • Guren_san
  • Guren_san аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 40
  • Спасибо получено: 10
Доброго времени суток!

Auto Updater Plugin от SumRndm - данный плагин конфликтует очень сильно с плагинами от Yanfly. Выдает различные ошибки "Cannot read 'slice'" или "Cannot read '0'".

При запуске теста игры вообще не открывал главное меню. Причиной был плагин "EquipCore" от Yanfly.

Теперь при запуске битвы выдает ошибку "Cannot read '0' бла бла бла". Не хотелось бы жертвовать отличной боевой системой (ActSeqPack 1-2-3 и т.д), чтобы поставить автообновление на игру. С другой стороны, если добавлять какие-либо временные события для игры или же просто принудительно обновить игру - этот плагин сильный помощник.

Хотелось бы поинтересоваться, существуют ли еще плагины авто-обновления на Rpg Maker MV? И можно ли как-то исправить эти ошибки, не выключая почти все плагины от Yanfly?
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy, Haspid

[MV] Жесткий конфликт плагина 7 года 1 мес. назад #100195

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2478
  • За 2 место на конкурсе маппинга2 место ВетеранПрограммист RubyПроект месяца 3 местоОраторПаладинРазработчикДаритель СтимкеяУчитель
Здравствуйте!

Проблема вот в чём. Автообновление перезагружает базу данных. Плагины Янфлая уже отработали и изменили базу данных, однако SRD_AutoUpdater загрузил базу данных ещё раз (возможно, обновлённую), поэтому плагины Янфлая надо перезагрузить.

Так как плагины Янфлая проверяют переменные типа Yanfly._is_loaded_YEP_чтото, чтобы узнать, загрузили ли они свои данные, можно просто сбросить эту переменную после работы SRD_AutoUpdater — и они перезагрузят всё заново. Вот код:
Dmy_Scene_AutoUpdate_gotoSceneBoot = Scene_AutoUpdate.prototype.gotoSceneBoot;
Scene_AutoUpdate.prototype.gotoSceneBoot = function() {
  for (var property in Yanfly) {
    if (property.match(/^_loaded_YEP_/) && Yanfly[property] === true) {
      Yanfly[property] = false;
    }
  }
  Dmy_Scene_AutoUpdate_gotoSceneBoot.call(this);
}

Я оформил этот код в виде плагина. Скачайте плагин-исправление: DMY_FixAutoUpdater.js и подключите этот плагин после плагина SRD_AutoUpdater (порядок важен). После этого проблема должна исчезнуть, как минимум с плагином YEP_EquipCore.

Возможно, с другими плагинами проблема по-прежнему будет оставаться. Особенно с плагинам не Янфлая, которые меняют структуру базы данных. Проверить все-все-все плагины в мире я не могу, так что пишите, какие конкретно вам нужны и не работают, и я добавлю код и для них. Спасибо!

Изменено 27 апреля 2020 года: в этом сообщении я заменил ссылку со старой версии на новую. Если вам зачем-то очень-очень нужна старая версия, она тут: DMY_FixAutoUpdater.js (v.1.0). (Я зачеркнул ссылку, потому что её не рекомендуется скачивать. Берите новую версию.)
Последнее редактирование: 4 года 7 мес. назад от Dmy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: ZX_Lost_Soul, Green-Leo, Guren_san, Cabbit, Mur, Doctor_Bug

[MV] Жесткий конфликт плагина 6 года 10 мес. назад #101788

  • Guren_san
  • Guren_san аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 40
  • Спасибо получено: 10
Спасибо Вам большое. Благодаря вам и вашему плагину ошибка исчезла со всех четырех плагинов ^^
Единственное, YEP_BattleSelectCursor (Cannot read "AnchorX" бла бла бла) не поддался исправлению. Но это не столь важный плагин, как выше упомянутые.
Последнее редактирование: 6 года 10 мес. назад от Guren_san.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

[MV] Жесткий конфликт плагина 6 года 10 мес. назад #101790

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2478
  • За 2 место на конкурсе маппинга2 место ВетеранПрограммист RubyПроект месяца 3 местоОраторПаладинРазработчикДаритель СтимкеяУчитель
Я не проверял, но можно попробовать заменить вот эту строчку:
if (property.match(/^_loaded_YEP_/) && Yanfly[property] === true) {
На вот такую:
if (property.match(/^_loaded_YEP_|^YEP_BattleSelectCursor$/) && Yanfly[property] === true) {

Чтобы код принял такой вид:
Dmy_Scene_AutoUpdate_gotoSceneBoot = Scene_AutoUpdate.prototype.gotoSceneBoot;
Scene_AutoUpdate.prototype.gotoSceneBoot = function() {
  for (var property in Yanfly) {
    if (property.match(/^_loaded_YEP_|^YEP_BattleSelectCursor$/) && Yanfly[property] === true) {
      Yanfly[property] = false;
    }
  }
  Dmy_Scene_AutoUpdate_gotoSceneBoot.call(this);
}

По идее должно помочь. Но я не проверял этот код.
Последнее редактирование: 6 года 10 мес. назад от Dmy.
Администратор запретил публиковать записи гостям.

[MV] Жесткий конфликт плагина 4 года 7 мес. назад #116449

  • Jack450
  • Jack450 аватар
  • Вне сайта
  • Путник
  • Сообщений: 2
  • Спасибо получено: 1
Hi, I see the post is a few years old but I still try, im using both Auto Updater and VE_Materia system but apparently they does not work together. Is possibile to make them works like the yanfly ones?

Plugins im talking about are these two:

(Victor Engine, Materia system)

(SRDude, Auto Updater)

Thanks you for help
Администратор запретил публиковать записи гостям.

[MV] Жесткий конфликт плагина 4 года 7 мес. назад #116451

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2478
  • За 2 место на конкурсе маппинга2 место ВетеранПрограммист RubyПроект месяца 3 местоОраторПаладинРазработчикДаритель СтимкеяУчитель
Hello! I've tried to modify my plugin, so that it fixes compatibility with Victor's plugins, too. Please check out the new version (1.01): DMY_FixAutoUpdater.js

Make sure it's installed after the SRD_AutoUpdater. If you find any bugs, feel free to report them here.


Добрый день! Я попробовал изменить мой плагин, чтобы он исправлял совместимость и с плагинами Виктора. Пожалуйста, проверьте, работает ли новая версия (1.01): DMY_FixAutoUpdater.js

Убедитесь, что скрипт установлен после SRD_AutoUpdater. Если будут какие-то баги, о них можно написать здесь.

На всякий случай, вот полный код плагина / Here's the full plugin code just in case [ Нажмите, чтобы развернуть ]
Последнее редактирование: 3 года 8 мес. назад от Dmy. Причина: поменял предупреждение про Блокнот, т.к. Блокнот наконец-то поддерживает UTF-8 без BOM
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: DK, VarVarKa, Morphinistka, bellatrix, Jack450

[MV] Жесткий конфликт плагина 4 года 7 мес. назад #116455

  • Jack450
  • Jack450 аватар
  • Вне сайта
  • Путник
  • Сообщений: 2
  • Спасибо получено: 1
Works 100% thank you very much!
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

[MV] Жесткий конфликт плагина 4 года 3 мес. назад #118784

  • bellatrix
  • bellatrix аватар
  • Вне сайта
  • Путник
  • Сообщений: 7
  • Спасибо получено: 4
Dmy пишет:
Hello! I've tried to modify my plugin, so that it fixes compatibility with Victor's plugins, too. Please check out the new version (1.01): DMY_FixAutoUpdater.js

Make sure it's installed after the SRD_AutoUpdater. If you find any bugs, feel free to report them here.


Добрый день! Я попробовал изменить мой плагин, чтобы он исправлял совместимость и с плагинами Виктора. Пожалуйста, проверьте, работает ли новая версия (1.01): DMY_FixAutoUpdater.js

Убедитесь, что скрипт установлен после SRD_AutoUpdater. Если будут какие-то баги, о них можно написать здесь.

На всякий случай, вот полный код плагина / Here's the full plugin code just in case [ Нажмите, чтобы развернуть ]

Ваш плагин, вероятно, убирает конфликты AutoUpdater'a со всех плагинов Yanfly (по крайней мере при запуске проекта ошибок не возникает). У меня просто стоит очень много плагинов от Yanfly, и ошибки все исчезли. Спасибо большое. Выложите этот плагин куда-нибудь отдельно, чтобы видели все.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy
Модераторы: NeKotZima
Время создания страницы: 0.306 секунд