[MV] Жесткий конфликт плагина

Больше
8 года 6 мес. назад #100099 от Guren_san
Доброго времени суток!

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Ветеран Поддержка Фонда Разработчик Проект месяца 3 место Учитель Оратор Даритель Стимкея 2 место За 2 место на конкурсе маппинга Программист Ruby Паладин
Больше
8 года 6 мес. назад - 6 года 1 нед. назад #100195 от Dmy
Здравствуйте!

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

Так как плагины Янфлая проверяют переменные типа Yanfly._is_loaded_YEP_чтото, чтобы узнать, загрузили ли они свои данные, можно просто сбросить эту переменную после работы SRD_AutoUpdater — и они перезагрузят всё заново. Вот код:
Code:
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). (Я зачеркнул ссылку, потому что её не рекомендуется скачивать. Берите новую версию.)
Последнее редактирование: 6 года 1 нед. назад пользователем Dmy.
Спасибо сказали: ZX_Lost_Soul, Green-Leo, Guren_san, Cabbit, Mur, Doctor_Bug

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 3 мес. назад - 8 года 3 мес. назад #101788 от Guren_san
Спасибо Вам большое. Благодаря вам и вашему плагину ошибка исчезла со всех четырех плагинов ^^
Единственное, YEP_BattleSelectCursor (Cannot read "AnchorX" бла бла бла) не поддался исправлению. Но это не столь важный плагин, как выше упомянутые.
Последнее редактирование: 8 года 3 мес. назад пользователем Guren_san.
Спасибо сказали: Dmy

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

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

Чтобы код принял такой вид:
Code:
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); }

По идее должно помочь. Но я не проверял этот код.
Последнее редактирование: 8 года 3 мес. назад пользователем Dmy.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
6 года 1 нед. назад #116449 от Jack450
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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Ветеран Поддержка Фонда Разработчик Проект месяца 3 место Учитель Оратор Даритель Стимкея 2 место За 2 место на конкурсе маппинга Программист Ruby Паладин
Больше
6 года 1 нед. назад - 5 года 1 мес. назад #116451 от 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
Последнее редактирование: 5 года 1 мес. назад пользователем Dmy. Причина: поменял предупреждение про Блокнот, т.к. Блокнот наконец-то поддерживает UTF-8 без BOM
Спасибо сказали: DK, VarVarKa, Morphinistka, bellatrix, Jack450

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
6 года 1 нед. назад #116455 от Jack450
Works 100% thank you very much!
Спасибо сказали: Dmy

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
5 года 8 мес. назад #118784 от bellatrix

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.105 секунд
Работает на Kunena форум