Отображение информации по уровням в окне (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));
	}
	
})();
 
Ссылка на скрипт: Яндекс Диск
Тема на Светлой: Перейти
						
					
Социальные закладки