Отображение информации по уровням в окне (AL7_TextInformationWindow)
Название: AL7_TextInformationWindow
Версия: 1.0
Движок: RPG Maker MV
Требуемая версия движка: 1.5.0 и выше
Требуемый язык: Русский
Автор: Alexandr_7
Данный плагин отображает информацию по уровням в формате 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)
Скрипт://=============================================================================
// 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));
}
})();
Часть сообщения скрыта для гостей. Пожалуйста, авторизуйтесь или зарегистрируйтесь, чтобы увидеть его.