- Сообщений: 40
- Спасибо получено: 10
[MV] Жесткий конфликт плагина
Auto Updater Plugin от SumRndm - данный плагин конфликтует очень сильно с плагинами от Yanfly. Выдает различные ошибки "Cannot read 'slice'" или "Cannot read '0'".
При запуске теста игры вообще не открывал главное меню. Причиной был плагин "EquipCore" от Yanfly.
Теперь при запуске битвы выдает ошибку "Cannot read '0' бла бла бла". Не хотелось бы жертвовать отличной боевой системой (ActSeqPack 1-2-3 и т.д), чтобы поставить автообновление на игру. С другой стороны, если добавлять какие-либо временные события для игры или же просто принудительно обновить игру - этот плагин сильный помощник.
Хотелось бы поинтересоваться, существуют ли еще плагины авто-обновления на Rpg Maker MV? И можно ли как-то исправить эти ошибки, не выключая почти все плагины от Yanfly?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Проблема вот в чём. Автообновление перезагружает базу данных. Плагины Янфлая уже отработали и изменили базу данных, однако SRD_AutoUpdater загрузил базу данных ещё раз (возможно, обновлённую), поэтому плагины Янфлая надо перезагрузить.
Так как плагины Янфлая проверяют переменные типа Yanfly._is_loaded_YEP_чтото, чтобы узнать, загрузили ли они свои данные, можно просто сбросить эту переменную после работы SRD_AutoUpdater — и они перезагрузят всё заново. Вот код:
Я оформил этот код в виде плагина. Скачайте плагин-исправление: DMY_FixAutoUpdater.js и подключите этот плагин после плагина SRD_AutoUpdater (порядок важен). После этого проблема должна исчезнуть, как минимум с плагином YEP_EquipCore.
Возможно, с другими плагинами проблема по-прежнему будет оставаться. Особенно с плагинам не Янфлая, которые меняют структуру базы данных. Проверить все-все-все плагины в мире я не могу, так что пишите, какие конкретно вам нужны и не работают, и я добавлю код и для них. Спасибо!
Изменено 27 апреля 2020 года: в этом сообщении я заменил ссылку со старой версии на новую. Если вам зачем-то очень-очень нужна старая версия, она тут:
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Сообщений: 40
- Спасибо получено: 10
Единственное, YEP_BattleSelectCursor (Cannot read "AnchorX" бла бла бла) не поддался исправлению. Но это не столь важный плагин, как выше упомянутые.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Чтобы код принял такой вид:
По идее должно помочь. Но я не проверял этот код.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Plugins im talking about are these two:
(Victor Engine, Materia system)
(SRDude, Auto Updater)
Thanks you for help
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
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. Если будут какие-то баги, о них можно написать здесь.
Внимание! Если вы копируете плагин отсюда, убедитесь, что в текстовом редакторе выбрана кодировка «UTF-8 без BOM». (Блокнот стал её поддерживать только с обновления Windows 10 Build 1903 (19H1). UTF-8 из большинства версий Блокнота не будет работать, т.к. она с BOM!)
Если вы скопируете в других кодировках, возможны проблемы с кириллицей (если в ANSI-кодировке), а то и вообще плагин не запустится (если в кодировках UTF-8 с BOM, UTF-16/двухбайтовый Юникод и т.д.).
Рекомендуемый способ скачивания плагина: щёлкните по ссылке DMY_FixAutoUpdater.js правой кнопкой мыши и выберите «Сохранить по ссылке как...» (или похожий вариант, зависит от перевода браузера). Код ниже — для быстрого ознакомления и на случай, если ссылки перестанут работать.
Warning! If you're copying the plugin from this webpage, make sure your text editor's encoding is set to "UTF-8 without BOM". (Windows' Notepad only started supporting it since Windows 10 Build 1903 update (19H1). UTF-8 from most versions of Notepad won't work, because it includes BOM!)
If you copy it in other encodings, you might have problems due to the Cyrillic script (if you copy it as ANSI), or maybe the plugin won't work at all (if you use encodings such as UTF-8 with BOM, UTF-16/two-byte Unicode, etc.).
The recommended downloade method: right-click the link DMY_FixAutoUpdater.js and choose the "Save link as..." or similar menu item. The code below is to have a quick look at it, or for a situation when the link stops working.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
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
Внимание! Если вы копируете плагин отсюда, убедитесь, что в текстовом редакторе выбрана кодировка «UTF-8 без BOM». (Блокнот её не поддерживает. UTF-8 из Блокнота не будет работать, т.к. она с BOM!)
Если вы скопируете в других кодировках, возможны проблемы с кириллицей (если в ANSI-кодировке), а то и вообще плагин не запустится (если в кодировках UTF-8 с BOM, UTF-16/двухбайтовый Юникод и т.д.).
Рекомендуемый способ скачивания плагина: щёлкните по ссылке DMY_FixAutoUpdater.js правой кнопкой мыши и выберите «Сохранить по ссылке как...» (или похожий вариант, зависит от перевода браузера). Код ниже — для быстрого ознакомления и на случай, если ссылки перестанут работать.
Warning! If you're copying the plugin from this webpage, make sure your text editor's encoding is set to "UTF-8 without BOM". (Windows' Notepad doesn't support it. UTF-8 from Notepad won't work, because it includes BOM!)
If you copy it in other encodings, you might have problems due to the Cyrillic script (if you copy it as ANSI), or maybe the plugin won't work at all (if you use encodings such as UTF-8 with BOM, UTF-16/two-byte Unicode, etc.).
The recommended downloade method: right-click the link DMY_FixAutoUpdater.js and choose the "Save link as..." or similar menu item. The code below is to have a quick look at it, or for a situation when the link stops working.
Code:/*:ru * @plugindesc Исправляет совместимость SumRndmDde Auto Updater v.1.01 * @author Дмитрик * * @help * Исправляет совместимость между плагином SumRndmDde Auto Updater * и плагинами Янфлая и Виктора. * * Его необходимо установить после плагина SRD_AutoUpdater. * * Проблема вот в чём. Автообновление перезагружает базу данных. * Плагины Янфлая уже отработали и изменили базу данных, * однако SRD_AutoUpdater загрузил базу данных ещё раз (возможно, * обновлённую), поэтому плагины Янфлая надо перезагрузить. * * Для этого я меняю внутри объекта Yanfly переменные, названия * которых начинаются с _loaded_YEP_ на false, что заставит плагины * Янфлая повторить инициализацию. * * ЭТО ХАК. Он может не сработать, если плагин Янфлая не просто * инициализирует массивы $dataЧтоНибудь, а делает ещё какие-то * переменные. Но с плагином YEP_EquipCore.js этот хак работает. * Если будут проблемы с другими плагинами — надо исправлять их * для каждого плагина отдельно. Пишите в этой теме на Светлой: * http://rpgmaker.ru/forum/voprosy-po-skriptam-mv/62002-mv-zhestkij-konflikt-plagina * Укажите, с каким именно плагинами это не работает, я разберусь. * Спасибо! */ /*: * @plugindesc Fixes compatibility for SumRndmDde Auto Updater v.1.01 * @author Dmytryk * * @help * This plugin fixes the compatibility between SumRndmDde's Auto Updater plugin * and Yanfly's plugins and Victor's plugins. * * It needs to be installed after the SRD_AutoUpdater plugin. * * The problem is as follows. The auto-updater reloads the database. * Yanfly's plugins have already finished working and have changed * the database, but the SRD_AutoUpdater plugin re-loaded the database * (probably after updating it), so Yanfly's plugins need to be re-run. * * For this, I'm changing the variables inside the Yanfly object if * their name starts with _loaded_YEP_ to false, which triggers * re-initialization of Yanfly's plugins. * * THIS IS A HACK. It might not work if Yanfly's plugin doesn't just * initialise $dataSomething arrays but does more things to them. * But this hack works with YEP_EquipCore.js. If you have problems * with other plugins, they need to be fixed on a plugin-per-plugin basis. * Write in the following topic on the Zone of Light forum: * http://rpgmaker.ru/forum/voprosy-po-skriptam-mv/62002-mv-zhestkij-konflikt-plagina * Tell me which plugins cause conflicts, I'll look into this. Thanks! */ var Imported = Imported || {}; Imported["Dmytryk's fix for SumRndmDde Auto Updater"] = 1.01; (function () { var Scene_AutoUpdate_gotoSceneBoot = Scene_AutoUpdate.prototype.gotoSceneBoot; Scene_AutoUpdate.prototype.gotoSceneBoot = function() { if (window.Yanfly) { for (var property in Yanfly) { if (property.match(/^_loaded_YEP_|^YEP_BattleSelectCursor$/) && Yanfly[property] === true) { Yanfly[property] = false; } } } if (window.VictorEngine && VictorEngine.BasicModule && VictorEngine.BasicModule.loaded) { delete VictorEngine.BasicModule.loaded; } Scene_AutoUpdate_gotoSceneBoot.call(this); } })();
Ваш плагин, вероятно, убирает конфликты AutoUpdater'a со всех плагинов Yanfly (по крайней мере при запуске проекта ошибок не возникает). У меня просто стоит очень много плагинов от Yanfly, и ошибки все исчезли. Спасибо большое. Выложите этот плагин куда-нибудь отдельно, чтобы видели все.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
