GRB DefaultText

Матеріал з РПГ.укр
Перейти до: навігація, пошук
Приклад використання плагіну в RPG Maker MV.

GRB_DefaultTextплагін для RPG Maker MV та MZ від команди Гарбата. Дозволяє встановити стандартний текст для довідкових вікон на екранах речей, навичок та спорядження.

Завантажити плагін: GRB_DefaultText.js.

Файл з плагіном мусить називатися GRB_DefaultText.js (це важливо).

Сумісність[ ]

Плагін перевірено на RPG Maker MV 1.6.2 та RPG Maker MZ 1.1.1.

Якщо плагін використовується разом з плагіном YEP_BattleEngineCore, GRB_DefaultText треба поставити після плагіну YEP_BattleEngineCore.

Код[ ]

Показати код плагіну

//====================
// GRB_DefaultText.js
//====================
/*:
 * @plugindesc Add default text to item, skill and equip screens
 * @author Garbata Team
 * @target MV MZ
 * @url https://рпг.укр/GRB_DefaultText
 *
 * @help
 * This plugin allows to add a defaut text that will be shown
 * in the help window in the Item, Skill and/or Equip screens
 * when no item description is displayed.
 *
 * Works in both RPG Maker MV and MZ.
 *
 * This plugin is placed into public domain according to the CC0 public domain
 * dedication. See https://creativecommons.org/publicdomain/zero/1.0/ for more
 * information.
 *
 * @param itemHint
 * @text Hint for Item screen
 * @desc Text that will be shown in the Item screen
 * when no item description is displayed.
 * @type note
 * @default ""
 *
 * @param skillHint
 * @text Hint for Skill screen
 * @desc Text that will be shown in the Skill screen
 * when no item description is displayed.
 * @type note
 * @default ""
 *
 * @param equipHint
 * @text Hint for Equip screen
 * @desc Text that will be shown in the Equip screen
 * when no item description is displayed.
 * @type note
 * @default ""
 */
/*:eo
 * @plugindesc Aldonas defaŭlta teksto al ekranoj de aĵoj, scipovoj kaj ekipo
 * @author Skipo Garbata
 * @target MV MZ
 * @url https://рпг.укр/GRB_DefaultText
 *
 * @help
 * Tiu ĉi kromprogramo aldonis defaŭlta teksto, kiun oni montros
 * en helpa fenestro de la ekranoj de aĵoj, scipovoj kaj ekipo,
 * kiam neniu aĵo estas elektata.
 *
 * Funkcias en ambaŭ RPG Maker MV kaj MZ.
 *
 * Tiu ĉi kromprogramo estas donita al publiko havaĵo laŭ la permesilo CC0.
 * Vidu plej da informoj en ĉi tiu retpaĝo:
 * https://creativecommons.org/publicdomain/zero/1.0/deed.eo
 *
 * @param itemHint
 * @text Helpilo por aĵoj
 * @desc La teksto, kiun oni montras sur la ekrano de aĵoj,
 * kiam neniu aĵo estas elektita.
 * @type note
 * @default ""
 *
 * @param skillHint
 * @text Helpilo por scipovoj
 * @desc La teksto, kiun oni montras sur la ekrano de scipovoj,
 * kiam neniu scipovo estas elektita.
 * @type note
 * @default ""
 *
 * @param equipHint
 * @text Helpilo por ekipo
 * @desc La teksto, kiun oni montras sur la ekrano de ekipo,
 * kiam neniu aĵo estas elektita.
 * @type note
 * @default ""
 */
/*:uk
 * @plugindesc Додає стандартний текст на екранах речей, навичок, спорядження
 * @author Команда Гарбата
 * @target MV MZ
 * @url https://рпг.укр/GRB_DefaultText
 *
 * @help
 * Цей плагін додає стандартний текст, який буде показуватися
 * у довідковому вікні на екранах речей, навичок та спорядження,
 * коли не вибрано ніяких предмтів.
 *
 * Працює і в RPG Maker MV, і в RPG Maker MZ.
 *
 * Цей плагін передано до суспільного надбання згідно з CC0. Детальніше див.
 * на сторінці https://creativecommons.org/publicdomain/zero/1.0/deed.uk
 *
 * @param itemHint
 * @text Підказка для речей
 * @desc Текст, що буде показуватися на екрані речей,
 * коли немає опису речі.
 * @type note
 * @default ""
 *
 * @param skillHint
 * @text Підказка для навичок
 * @desc Текст, що буде показуватися на екрані навичок,
 * коли немає опису навички.
 * @type note
 * @default ""
 *
 * @param equipHint
 * @text Підказка для спорядження
 * @desc Текст, що буде показуватися на екрані спорядження,
 * коли немає опису речі.
 * @type note
 * @default ""
 */
/*:be
 * @plugindesc Дадае стандартны тэкст на экранах рэчаў, навыкаў, экіпіроўкі
 * @author Каманда Гарбата
 * @target MV MZ
 * @url https://рпг.укр/GRB_DefaultText
 *
 * @help
 * Гэты плагін дабаўляе стандартны тэкст, які будзе паказвацца
 * у даведачным акне на экранах рэчаў, уменняў і экіпіроўкі,
 * калі не выбрана ніякіх прадметаў.
 *
 * Працуе і ў RPG Maker MV, і ў RPG Maker MZ.
 *
 * Гэты плагін перададзены ў грамадскі набытак згодна з CC0. Падрабязней гл.
 * на старонцы https://creativecommons.org/publicdomain/zero/1.0/deed.be
 *
 * @param itemHint
 * @text Падказка для рэчаў
 * @desc Тэкст, які будзе паказвацца на экране рэчаў,
 * калі няма апісання рэчы.
 * @type note
 * @default ""
 *
 * @param skillHint
 * @text Падказка для ўменняў
 * @desc Тэкст, які будзе паказвацца на экране ўменняў,
 * калі няма апісання ўмення.
 * @type note
 * @default ""
 *
 * @param equipHint
 * @text Падказка для экіпіроўкі
 * @desc Тэкст, які будзе паказвацца на экране рэчаў,
 * калі няма апісання рэчы.
 * @type note
 * @default ""
 */
/*:ru
 * @plugindesc Добавляет стандартный текст на экранах вещей, навыков, экипировки
 * @author Команда Гарбата
 * @target MV MZ
 * @url https://рпг.укр/GRB_DefaultText
 *
 * @help
 * Этот плагин добавляет стандартный текст, который будет показываться
 * в справочном окне на экранах вещей, умений и экипировки, когда
 * не выбрано никаких предметов.
 *
 * Работает и в RPG Maker MV, и в RPG Maker MZ.
 *
 * Этот плагин передан в общественное достояние согласно CC0. Подробнее см. на
 * странице https://creativecommons.org/publicdomain/zero/1.0/deed.ru
 *
 * @param itemHint
 * @text Подсказка для вещей
 * @desc Текст, который будет показан на экране вещей,
 * когда нет описания вещи.
 * @type note
 * @default ""
 *
 * @param skillHint
 * @text Подсказка для умений
 * @desc Текст, который будет показан на экране вещей,
 * когда нет описания умения.
 * @type note
 * @default ""
 *
 * @param equipHint
 * @text Подсказка для экипировки
 * @desc Текст, который будет показан на экране вещей,
 * когда нет описания вещи.
 * @type note
 * @default ""
 */

 var Imported = Imported || {};
 Imported.GRB_DefaultText = "1.1";

(function () {

  var params = PluginManager.parameters('GRB_DefaultText');
  var itemHint = (params.itemHint && JSON.parse(params.itemHint)) || '';
  var skillHint = (params.skillHint && JSON.parse(params.skillHint)) || '';
  var equipHint = (params.equipHint && JSON.parse(params.equipHint)) || '';


  var Window_Help_initialize = Window_Help.prototype.initialize;
  Window_Help.prototype.initialize = function(numLines) {
    Window_Help_initialize.call(this, numLines);
    this._defaultText = null;
    this._disableDefaultText = false;
  }

  Window_Help.prototype.setDefaultText = function (defaultText) {
    this._defaultText = defaultText;
  }

  var Window_Help_setText = Window_Help.prototype.setText;
  Window_Help.prototype.setText = function(text) {
    if (!text) {
      Window_Help_setText.call(this, this._defaultText);
    } else {
      Window_Help_setText.call(this, text);
    }
  }

  var Window_Help_setItem = Window_Help.prototype.setItem;
  Window_Help.prototype.setItem = function(item) {
    this._disableDefaultText = true;
    Window_Help_setItem.call(this, item);
    this._disableDefaultText = false;
  };

  // Fix for a bug introduced by YEP_BattleEngineCore
  var Window_Help_clear = Window_Help.prototype.clear;
  Window_Help.prototype.clear = function() {
    var yanflyBrokeThings = window.Yanfly && Yanfly.BEC
                            && Yanfly.BEC.Window_Help_clear;
    if (this._defaultText && yanflyBrokeThings) {
      // If YEP_BattleEngineCore is loaded, but the window has
      // default text, ignore Yanfly's changes and use the original routine
      //
      // This should *probably* not introduce new bugs because
      // Yanfly's routine is only needed on Window_Help in the battle, while
      // mine is only used in skill/equip/item screen.
      Yanfly.BEC.Window_Help_clear.call(this);
    } else {
      Window_Help_clear.call(this);
    }
  }
  // End of the fix for a bug introduced by YEP_BattleEngineCore

  if (itemHint) {
    var Scene_Item_createHelpWindow = Scene_Item.prototype.createHelpWindow;
    Scene_Item.prototype.createHelpWindow = function() {
      Scene_Item_createHelpWindow.call(this);
      this._helpWindow.setDefaultText(itemHint);
    }
  }

  if (skillHint) {
    var Scene_Skill_createHelpWindow = Scene_Skill.prototype.createHelpWindow;
    Scene_Skill.prototype.createHelpWindow = function() {
      Scene_Skill_createHelpWindow.call(this);
      this._helpWindow.setDefaultText(skillHint);
    }
  }

  if (equipHint) {
    var Scene_Equip_createHelpWindow = Scene_Equip.prototype.createHelpWindow;
    Scene_Equip.prototype.createHelpWindow = function() {
      Scene_Equip_createHelpWindow.call(this);
      this._helpWindow.setDefaultText(equipHint);
    }
  }

})();