Войти на сайт

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

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

Отображение информации по уровням в окне 4 мес. 4 нед. назад #110878

  • Alexandr_7
  • Alexandr_7 аватар
  • Вне сайта
  • Мастер
  • Сообщений: 236
  • Спасибо получено: 64
Отображение информации по уровням в окне (AL7_TextInformationWindow)

Название: AL7_TextInformationWindow
Версия: 1.0
Движок: RPG Maker MV
Требуемая версия движка: 1.5.0 и выше
Требуемый язык: Русский
Автор: Alexandr_7
Описание [ Нажмите, чтобы развернуть ]


Скрипт:
//=============================================================================
// 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));
	}
 
})();

Скриншоты: [ Нажмите, чтобы развернуть ]



Часть сообщения скрыта для гостей. Пожалуйста, авторизуйтесь или зарегистрируйтесь, чтобы увидеть его.
Последнее редактирование: 4 мес. 4 нед. назад от Alexandr_7.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy, Демий, akito66

Отображение информации по уровням в окне 4 мес. 4 нед. назад #110879

  • Alexandr_7
  • Alexandr_7 аватар
  • Вне сайта
  • Мастер
  • Сообщений: 236
  • Спасибо получено: 64
Скриншоты и ссылку на нейтральную полосу предаставлю позже. Писал плагин для себя. Выложил так на всякий случай. В целом там нет цветовых красивостей. Простио окошко и текст. Цвет для текста добавлю в следующей версии.

Добавлена ссылка на тему в нейтральной полосе.

Добавлен скриншот
Последнее редактирование: 4 мес. 4 нед. назад от Alexandr_7.
Администратор запретил публиковать записи гостям.
Время создания страницы: 0.223 секунд