Плохо! Плохо!:  0
Показано с 1 по 1 из 1

Тема: Отображение информации по уровням в окне

  1. #1
    Бывалый Аватар для Alexandr_7
    Информация о пользователе
    Регистрация
    09.08.2015
    Адрес
    пос Октяборьский
    Сообщений
    967
    Репутация: 13 Добавить или отнять репутацию

    По умолчанию Отображение информации по уровням в окне

    Отображение информации по уровням в окне (AL7_TextInformationWindow)

    Название скрипта: AL7_TextInformationWindow
    Автор: Alexandr_7
    Версия: 1.0
    Описание: Данный плагин отображает информацию по уровням в формате 3 строк:
    1 Строка - номер главы
    2 строка - Номер уровня
    3 строка - Информация о его доступности и пройденности.

    • Enable_Switch_Id - Показать/Скрыть (номер переключателя)
    • Enable_Line_2_And_3_Switch_Id - Показать/Скрыть номер уровня и его статус (номер переключателя)
    • Text_Line_1 - Текст 1 строки. По умолчанию "Глава: %1"
    • Text_Line_2 - Текст 2 строки. По умолчанию "Уровень: %1"
    • Text_Line_3 - Текст 3 строки. По умолчанию "%1". Подставляется статус уровня
    • Text_Level_Unavailablee - Текст если уровень недоступен. По умолчанию "Уровень недоступен!"
    • Text_Level_Not_Complete - Текст если уровень доступен но не пройден. По умолчанию "Уровень не пройден!"
    • Text_Level_Complete - Текст если уровень пройден. По умолчанию "Уровень пройден!"
    • Chapter_Var_Id - Глава (Номер переменной)
    • Level_Var_Id - Уровень Главы (Номер переменной)
    • Type_Level_Var_Id - Статус уровня (0 - недоступен; 1 - Не пройден; 2 - Пройден) (Номер переменной)
    • Window_Width - Ширина окна
    • Window_Height - Высота окна
    • Window_Align_Position - Позиция окна (0 и 9 работают одинаково. Просто для удобного понятия)
    • Position_X - Позиция по X (Если Window_Align_Position включен то работает как смещение по X)
    • Position_Y - Позиция по Y (Если Window_Align_Position включен то работает как смещение по Y)

    Поддерживаемая версия: RPG Maker MV v1.5.0+
    Поддерживаемые языки: Только русский!
    Авторство:

    Вы можете:
    • Бесплатно использовать данный плагин в некоммерческих и коммерческих проектах
    • Переводить на другие языки или полностью поменять текст плагина (сообщите мне, если Вы это сделали)
    • Изменять код плагина, но Вы обязаны указать ссылку на оригинальный плагин


    Вы не можете:
    • Убирать или изменять любую информацию о плагине (Название, авторство, контактная информация, версия и дата релиза)

    Код:
    Код:
    //=============================================================================
    // AL7_TextInformationWindow.js
    //=============================================================================
    
    /*:ru
     * @plugindesc AL7_TextInformationWindow v1.0 Отображает на экране 3 строки с информацией по уровню
     * @author Alexandr_7
     * @help
     
     ### Информация о плагине ###
     Название: AL7_TextInformationWindow
     Автор: Alexandr_7
     Сайт: https://vk.com/borisov_alexandr_5
     Версия: 1.0
     Релиз: 20.04.2019
     Первый релиз: 20.04.2019
     Поддерживаемые языки: Русский
     
     ### Лицензия и правила использования плагина ###
     
     Вы можете:
     -Бесплатно использовать данный плагин в некоммерческих и коммерческих проектах
     -Переводить на другие языки или полностью поменять текст плагина (сообщите мне, если Вы это сделали)
     -Изменять код плагина, но Вы обязаны указать ссылку на оригинальный плагин
     
     Вы не можете:
     -Убирать или изменять любую информацию о плагине (Название, авторство, контактная информация, версия и дата релиза)
     
     * @param ---Переключатели---
     * @default
     *
     * @param Enable_Switch_Id
     * @parent ---Переключатели---
     * @type switch
     * @desc Показать/Скрыть (номер переключателя)
     * @default 41
     *
     * @param Enable_Line_2_And_3_Switch_Id
     * @parent ---Переключатели---
     * @type switch
     * @desc Показать/Скрыть номер уровня и его статус (номер переключателя)
     * @default 42
     *
     * @param ---Текст---
     * @default
     *
     * @param Text_Line_1
     * @parent ---Текст---
     * @desc Строка с текстом 1
     * @default Глава: %1
     *
     * @param Text_Line_2
     * @parent ---Текст---
     * @desc Строка с текстом 2
     * @default Уровень: %1
     *
     * @param Text_Line_3
     * @parent ---Текст---
     * @desc Строка с текстом 3
     * @default %1
     *
     * @param Text_Level_Unavailablee
     * @parent ---Текст---
     * @desc Строка с текстом недоступного уровня
     * @default Уровень недоступен!
     *
     * @param Text_Level_Not_Complete
     * @parent ---Текст---
     * @desc Строка с текстом не пройденного уровня
     * @default Уровень не пройден!
     *
     * @param Text_Level_Complete
     * @parent ---Текст---
     * @desc Строка с текстом пройденного уровня
     * @default Уровень пройден!
     *
     * @param ---Переменные---
     * @default
     *
     * @param Chapter_Var_Id
     * @parent ---Переменные---
     * @type variable
     * @desc Глава (Номер переменной)
     * @default 41
     *
     * @param Level_Var_Id
     * @parent ---Переменные---
     * @type variable
     * @desc Уровень Главы (Номер переменной)
     * @default 42
     *
     * @param Type_Level_Var_Id
     * @parent ---Переменные---
     * @type variable
     * @desc Статус уровня (0 - недоступен; 1 - Не пройден; 2 - Пройден) (Номер переменной)
     * @default 43
     *
     * @param ---Размеры---
     * @default
     *
     * @param Window_Width
     * @parent ---Размеры---
     * @type number
     * @desc Ширина окна
     * @default 332
     *
     * @param Window_Height
     * @parent ---Размеры---
     * @type number
     * @desc Высота окна
     * @default 160
     *
     * @param Window_Align_Position
     * @parent ---Размеры---
     * @type select
     * @default 2
     * @option В верху слева
     * @value 0
     * @option В верху по центру
     * @value 1
     * @option В верху справа
     * @value 2
     * @option По центру слева
     * @value 3
     * @option По центру
     * @value 4
     * @option По центру справа
     * @value 5
     * @option Внизу слева
     * @value 6
     * @option Внизу по центру
     * @value 7
     * @option Внизу справа
     * @value 8
     * @option По своим координатам
     * @value 9
     * @desc Положения окна
     *
     * @param Position_X
     * @parent ---Размеры---
     * @type number
     * @desc Позиция или смещение по X
     * @default 16
     *
     * @param Position_Y
     * @parent ---Размеры---
     * @type number
     * @desc Позиция или смещение по Y
     * @default 16
     *
     */
     
    (function() {
    	
    	var parameters = PluginManager.parameters('AL7_TextInformationWindow');
    	
    	var enableSwitchId = Number(parameters['Enable_Switch_Id']);
    	
    	var EnableLine2And3SwitchId = Number(parameters['Enable_Line_2_And_3_Switch_Id']);
    	
    	//var EnableCompleteLevelSwitchId = Number(parameters['Enable_Complete_Level_Switch_Id']);
    	
    	var TextLine1 = String(parameters['Text_Line_1']);
    	
    	var TextLine2 = String(parameters['Text_Line_2']);
    	
    	var TextLine3 = String(parameters['Text_Line_3']);
    	
    	var TextLevelUnavailablee = String(parameters['Text_Level_Unavailablee']);
    	
    	var TextLevelNotComplete = String(parameters['Text_Level_Not_Complete']);
    	
    	var TextLevelComplete = String(parameters['Text_Level_Complete']);
    	
    	var ChapterVarId = Number(parameters['Chapter_Var_Id']);
    	
    	var LevelVarId = Number(parameters['Level_Var_Id']);
    	
    	var TypeLevelVarId = Number(parameters['Type_Level_Var_Id']);
    	
    	var WindowWidth = Number(parameters['Window_Width']);
    	var WindowHeight = Number(parameters['Window_Height']);
    	
    	var WindowAlignPosition = Number(parameters['Window_Align_Position']);
    	
    	var PositionX = Number(parameters['Position_X']);
    	var PositionY = Number(parameters['Position_Y']);
    	
    	var _Scene_Map_createAllWindows = Scene_Map.prototype.createAllWindows;
    	Scene_Map.prototype.createAllWindows = function() {
    		_Scene_Map_createAllWindows.call(this);
    		var SetX = 0;
    		var SetY = 0;
    		switch(WindowAlignPosition) {
    			case 0: SetX = PositionX; SetY = PositionY; break; //В верху слева
    			case 1: SetX = (Graphics.boxWidth / 2) - (WindowWidth / 2); SetY = PositionY; break; //В верху по центру
    			case 2: SetX = (Graphics.boxWidth - WindowWidth) - PositionX; SetY = PositionY;  break; //В верху справа
    			case 3: SetX = PositionX; SetY = (Graphics.boxHeight / 2) - (WindowHeight / 2); break; //По центру слева
    			case 4: SetX = (Graphics.boxWidth / 2) - (WindowWidth / 2); SetY = (Graphics.boxHeight / 2) - (WindowHeight / 2); break; //По центру
    			case 5: SetX = (Graphics.boxWidth - WindowWidth) - PositionX; SetY = (Graphics.boxHeight / 2) - (WindowHeight / 2); break; //По центру справа
    			case 6: SetX = PositionX; SetY = (Graphics.boxHeight - WindowHeight) - PositionY; break; // Внизу слева
    			case 7: SetX = (Graphics.boxWidth / 2) - (WindowWidth / 2); SetY = (Graphics.boxHeight - WindowHeight) - PositionY; break; // Внизу по центру
    			case 8: SetX = (Graphics.boxWidth - WindowWidth) - PositionX; SetY = (Graphics.boxHeight - WindowHeight) - PositionY; break; // Внизу справа
    			case 9: SetX = PositionX; SetY = PositionY; break; // Свои
    		}
    		this._AL7_TextInformationWindow = new AL7_TextInformationWindow(SetX, SetY, WindowWidth, WindowHeight);
    		this.addWindow(this._AL7_TextInformationWindow);
    	};
    	
    	/********************
    	Окно и текст
    	********************/
    	
    	function AL7_TextInformationWindow() {
    		this.initialize.apply(this, arguments);
    	};
    	
    	AL7_TextInformationWindow.prototype = Object.create(Window_Base.prototype);
    	AL7_TextInformationWindow.prototype.constructor = AL7_TextInformationWindow;
    	
    	AL7_TextInformationWindow.prototype.standardPadding = function() {
    		return 0;
    	};
    	
    	AL7_TextInformationWindow.prototype.initialize = function(x, y, width, height) {
    		Window_Base.prototype.initialize.call(this, x, y, width, height);
    		this.update();
    	};
    	
    	AL7_TextInformationWindow.prototype.update = function() {
    		this.contents.clear();
    		if ($gameSwitches.value(enableSwitchId) === true) {
    			this.show();
    			this.resetTextColor();
    			DrawMyText(this);
    		} else this.hide();
    	};
    	
    	function DrawMyText(aWindow_Base) {
    		
    		var VarNChapter = $gameVariables.value(ChapterVarId);
    		
    		var OutTextLine1 = TextLine1.format(VarNChapter);
    		
    		var XoutText1 = (WindowWidth / 2) - (aWindow_Base.textWidth(OutTextLine1) / 2);
    		
    		var YoutText1 = 16;
    	
    		
    		aWindow_Base.drawText(OutTextLine1, XoutText1, YoutText1, aWindow_Base.textWidth(OutTextLine1));
    		
    		var OutTextLine2, OutTextLine3;
    		
    		if ($gameSwitches.value(EnableLine2And3SwitchId) === true){
    			
    			var VarNLevel = $gameVariables.value(LevelVarId);
    			
    			OutTextLine2 = TextLine2.format(VarNLevel);
    			
    			var VarTextComplete;
    			
    			if ($gameVariables.value(TypeLevelVarId) === 0)
    				VarTextComplete = TextLevelUnavailablee;
    			else if ($gameVariables.value(TypeLevelVarId) === 1)
    				VarTextComplete = TextLevelNotComplete;
    			else
    				VarTextComplete = TextLevelComplete;
    			
    			OutTextLine3 = TextLine3.format(VarTextComplete);
    			
    		} else {
    			OutTextLine2 = "";
    			OutTextLine3 = "";
    		}
    		
    		var XoutText2 = (WindowWidth / 2) - (aWindow_Base.textWidth(OutTextLine2) / 2);
    		var YoutText2 = 64;
    		
    		aWindow_Base.drawText(OutTextLine2, XoutText2, YoutText2, aWindow_Base.textWidth(OutTextLine2));
    		
    		var XoutText3 = (WindowWidth / 2) - (aWindow_Base.textWidth(OutTextLine3) / 2);
    		var YoutText3 = 112;
    		
    		aWindow_Base.drawText(OutTextLine3, XoutText3, YoutText3, aWindow_Base.textWidth(OutTextLine3));
    	}
    	
    })();
    Спойлер Скриншоты::



    Ссылка на скрипт: Яндекс Диск
    Тема на Светлой: Перейти
    Последний раз редактировалось Alexandr_7; 21.04.2019 в 10:04.
    Мой канал на Yotube: Канал Alexandr_5
    Если не говорю движок то это RPG Maker MZ Steam версия!

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Отображение информации по уровням в окне