Войти на сайт

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

ТЕМА: Очистка переменных перед загрузкой карты

Очистка переменных перед загрузкой карты 4 года 3 мес. назад #114788

  • yuryol
  • yuryol аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1704
  • Спасибо получено: 2729
  • Композитор3 место Готв2 место Организатор конкурсов1 место в ГотвУчительОраторПобедитель конкурса
Очистка переменных перед загрузкой карты

Автор: Yuryol
Движок: RPG maker MV
Описание: Плагин позволяет очищать значения переменных перед каждой загрузке карты и делать их равными дефолтным значениям. По умолчанию дефолтное значение равно нулю, но можно задать своё значение в параметре "default"
Благодарности: Спасибо ДК, Dmy, Caveman

Подойдет для подобий роуг-лайк-игр на мейкере или для игр с "уровнями"
Если кому-нибудь надо добавить сброс также переключателей пишите в теме, добавить не проблема

Значение параметров более подробно:

num
- номер переменной

default
- значение переменной после сброса

Установка:

Скопировать код ниже и вставить в файл, назвав его Yuryol_Clear_variable.js ИЛИ скачать по ссылке

Код:
//=============================================================================
// Yuryol_Clear_variable.js
//=============================================================================
/*:
 
 * @plugindesc Очистка переменных перед загрузкой карты
 * @author Yuryol
 * @help Плагин позволяет очищать значения переменных перед каждой загрузке
 * карты и делать их равными дефолтным значениям. По умолчанию дефолтное 
 * значение равно нулю, но можно задать своё значение в параметре "default"
 * 
 * 
 * Спасибо Iren_rin, ДК, Dmy, Caveman
 * 
 * Условия использования:
 * 1. Плагин полностью свободен для использования.
 * 2. Описание и название плагина менять нельзя
 *  
 * @param Variable
 * @type Struct<Keys>[]
 * @default ["{\"num\":\"1\",\"default\":\"10\"}"]
 */
/*~struct~Keys:
 * 
 * @param num
 * @desc Номер переменной
 * @type variable
 * @default 1
 * 
 * @param default
 * @desc Значение переменной по умолчанию
 * @type number
 * @default 0
*/
 
(function () {
 
  class YuryolClearVariable {
    constructor() {
      this.variables = null
    }
    addParameters() {
      this.addVariables()
    }  
    addVariables() {
      let variables = JSON.parse(PluginManager.parameters('Yuryol_Clear_variable')['Variable'])
      yuryolClearVariable.variables = variables.map(v => JSON.parse(v))
    }
  }
 
  let yuryolClearVariable = new YuryolClearVariable()    
  yuryolClearVariable.addParameters()
 
  let yuryolTerminate = Scene_Map.prototype.terminate
  Scene_Map.prototype.terminate = function() {
    yuryolTerminate.call(this);
    if (SceneManager.isNextScene(Scene_Map)) 
      yuryolClearVariable.variables.map(v => {
        $gameVariables.setValue(v.num, Number(v.default))
      })
  }
}())
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: NeKotZima, ALEKSEYR554
Модераторы: NeKotZima
Время создания страницы: 0.190 секунд