Hud здоровья и MP для битвы с боссом на ивентах

Проект месяца 3 место Проект месяца 2 место Ветеран Учитель Проект месяца 1 место Проект года 3 место Разработчик
Больше
7 года 2 мес. назад - 7 года 1 мес. назад #109521 от Alexandr_7
Hud здоровья и MP для битвы с боссом на ивентах (AL7_LevelsOfBoss)

Название скрипта: AL7_LevelsOfBoss
Автор: Alexandr_7
Версия: 0.1.1 (Beta)
Описание


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

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

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

Код:
Code:
//============================================================================= // AL7_LevelsOfBoss.js //============================================================================= /*:ru * @plugindesc AL7_LevelsOfBoss v0.1.1 (Beta) Скрипт для босов - если своя боевая система * @author Alexandr_7 * * @param ---Переключатели--- * @default * * @param Enable_Switch_Id_Player_Live * @parent ---Переключатели--- * @type switch * @desc Показать/Скрыть окно жизней игрока (номер переключателя) * @default 21 * * @param Enable_Switch_Id_Player_MP * @parent ---Переключатели--- * @type switch * @desc Показать/Скрыть окно энергии игрока (номер переключателя) * @default 22 * * @param Enable_Switch_Id_Boss_Live * @desc Показать/Скрыть окно босса (номер переключателя) * @parent ---Переключатели--- * @type switch * @default 23 * * @param ---Переменные--- * @default * * @param Var_ID_Index_Player * @parent ---Переменные--- * @type variable * @desc Индекс игрока (номер переменной) * @default 21 * * @param Var_ID_Face_Index_Boss * @parent ---Переменные--- * @type variable * @desc Индекс Фейса босса (начинается от 0) (номер переменной) * @default 22 * * @param Var_ID_Face_Name_Index_Boss * @parent ---Переменные--- * @type variable * @desc Индекс к имени Фейса босса (номер переменной) * @default 23 * * @param Var_ID_Boss_HP * @parent ---Переменные--- * @type variable * @desc Здоровье босса (номер переменной) * @default 24 * * @param Var_ID_Boss_Max_HP * @parent ---Переменные--- * @type variable * @desc Максимальное здоровье босcа (номер переменной) * @default 25 * * @param ---Имена файлов--- * @default * * @param File_Name_Face_Boss * @parent ---Имена файлов--- * @desc Имя файла босса без расширения (К имени будет добавлен индекс босса из переменной) * @default Boss_ */ (function() { var parameters = PluginManager.parameters('AL7_LevelsOfBoss'); var enableSwitchIdPlayerLive = Number(parameters['Enable_Switch_Id_Player_Live']); var enableSwitchIdPlayerMP = Number(parameters['Enable_Switch_Id_Player_MP']); var enableSwitchIdBossLive = Number(parameters['Enable_Switch_Id_Boss_Live']); var VarIDIndexPlayer = Number(parameters['Var_ID_Index_Player']); var VarIDFaceIndexBoss = Number(parameters['Var_ID_Face_Index_Boss']); var VarIDFaceNameIndexBoss = Number(parameters['Var_ID_Face_Name_Index_Boss']); var VarIDBossHP = Number(parameters['Var_ID_Boss_HP']); var VarIDBossMHP = Number(parameters['Var_ID_Boss_Max_HP']); var FNFaceBoss = String(parameters['File_Name_Face_Boss']); //var Frame_Animation = 10; var Distance_Between = 10; var Size_Bar = 30; var Face_Player_Width = 80; var Face_Player_Height = 80; var Window_Player_Width = 292; var Window_Player_Height = Face_Player_Height + (Distance_Between * 2); var Window_Player_Width_M = Window_Player_Width - Face_Player_Width + 60; var Face_Enemy_Width = 80; var Face_Enemy_Height = 80; var Window_Enemy_Width = 292; var Window_Enemy_Height = Face_Enemy_Height + (Distance_Between * 2); var _Scene_Map_createAllWindows = Scene_Map.prototype.createAllWindows; Scene_Map.prototype.createAllWindows = function() { _Scene_Map_createAllWindows.call(this); this._levelsOfBoss_Player_L = new LevelsOfBossPlayerL(Distance_Between, Distance_Between, Window_Player_Width, Window_Player_Height); this._levelsOfBoss_Player_M = new LevelsOfBossPlayerM((Graphics.boxWidth / 2) - (Window_Player_Width_M / 2), Graphics.boxHeight - 96 - Distance_Between, Window_Player_Width_M, 96); this._levelsOfBoss_EnemyBoss = new LevelsOfBossEnemyBoss(Graphics.boxWidth - Window_Player_Width - Distance_Between,Distance_Between, Window_Enemy_Width, Window_Enemy_Height); this.addWindow(this._levelsOfBoss_Player_L); this.addWindow(this._levelsOfBoss_Player_M); this.addWindow(this._levelsOfBoss_EnemyBoss); }; /******************** Окно для игрока (Жизни) ********************/ function LevelsOfBossPlayerL() { this.initialize.apply(this, arguments); }; LevelsOfBossPlayerL.prototype = Object.create(Window_Base.prototype); LevelsOfBossPlayerL.prototype.constructor = LevelsOfBossPlayerL; LevelsOfBossPlayerL.prototype.standardPadding = function() { return 0; }; LevelsOfBossPlayerL.prototype.initialize = function(x, y, width, height) { Window_Base.prototype.initialize.call(this, x, y, width, height); this._id = 1; this.update(); }; LevelsOfBossPlayerL.prototype.update = function() { this.contents.clear(); if ($gameSwitches.value(enableSwitchIdPlayerLive) == true) { this.show(); var aIndexPlayer = $gameVariables.value(VarIDIndexPlayer); var actor = $gameParty.members()[aIndexPlayer]; drawFace(this, actor.faceName(), actor.faceIndex(), Distance_Between, Distance_Between, Face_Player_Width, Face_Player_Height); this.resetTextColor(); drawNameCharacter(this, actor.name(), this.hpColor(actor), (Distance_Between * 2) + Face_Player_Width, Distance_Between); var color1 = this.hpGaugeColor1(); var color2 = this.hpGaugeColor2(); var W1 = Window_Player_Width - Face_Player_Width - (Distance_Between * 3); var gaugeY = (Window_Player_Height - 45) + this.lineHeight() - Size_Bar; drawProgressBar(this, Face_Player_Width + (Distance_Between * 2), gaugeY, W1, actor.hp, actor.mhp, this.hpColor(actor), this.gaugeBackColor(), color1, color2); } else { this.hide(); } }; /******************** Окно для игрока (Энергия) ********************/ function LevelsOfBossPlayerM() { this.initialize.apply(this, arguments); }; LevelsOfBossPlayerM.prototype = Object.create(Window_Base.prototype); LevelsOfBossPlayerM.prototype.constructor = LevelsOfBossPlayerL; LevelsOfBossPlayerM.prototype.standardPadding = function() { return 0; }; LevelsOfBossPlayerM.prototype.initialize = function(x, y, width, height) { Window_Base.prototype.initialize.call(this, x, y, width, height); this._id = 1; this.update(); }; LevelsOfBossPlayerM.prototype.update = function() { this.contents.clear(); if ($gameSwitches.value(enableSwitchIdPlayerMP) == true) { this.show(); var aIndexPlayer = $gameVariables.value(VarIDIndexPlayer); var actor = $gameParty.members()[aIndexPlayer]; this.resetTextColor(); drawNameCharacter(this, actor.name() + " (Энергия)", this.mpColor(actor), Distance_Between, Distance_Between); var color1 = this.mpGaugeColor1(); var color2 = this.mpGaugeColor2(); var W1 = Window_Player_Width_M - (Distance_Between * 2); var gaugeY = Distance_Between + this.lineHeight(); drawProgressBar(this, Distance_Between, gaugeY, W1, actor.mp, actor.mmp, this.mpColor(actor), this.gaugeBackColor(), color1, color2); } else { this.hide(); } }; /******************** Окно для босса ********************/ function LevelsOfBossEnemyBoss() { this.initialize.apply(this, arguments); }; LevelsOfBossEnemyBoss.prototype = Object.create(Window_Base.prototype); LevelsOfBossEnemyBoss.prototype.constructor = LevelsOfBossEnemyBoss; LevelsOfBossEnemyBoss.prototype.standardPadding = function() { return 0; }; LevelsOfBossEnemyBoss.prototype.initialize = function(x, y, width, height) { Window_Base.prototype.initialize.call(this, x, y, width, height); this._id = 2; this.update(); }; LevelsOfBossEnemyBoss.prototype.update = function() { this.contents.clear(); if ($gameSwitches.value(enableSwitchIdBossLive) == true) { this.show(); var FaceName = FNFaceBoss + $gameVariables.value(VarIDFaceNameIndexBoss); var FaceIndex = $gameVariables.value(VarIDFaceIndexBoss); drawFace(this, FaceName, FaceIndex, Distance_Between, Distance_Between, Face_Enemy_Width, Face_Enemy_Height); var aBossHP = $gameVariables.value(VarIDBossHP); var aBossMHP = $gameVariables.value(VarIDBossMHP); this.resetTextColor(); var aHPColor = this.normalColor(); if (aBossHP <= aBossMHP / 2) { aHPColor = this.crisisColor(); } else { aHPColor = this.normalColor(); } drawNameCharacter(this, "Босс", aHPColor, (Distance_Between * 2) + Face_Enemy_Width, Distance_Between); var color1 = this.hpGaugeColor1(); var color2 = this.hpGaugeColor2(); var W1 = Window_Enemy_Width - Face_Enemy_Width - (Distance_Between * 3); var gaugeY = (Window_Enemy_Height - 45) + this.lineHeight() - Size_Bar; drawProgressBar(this, Face_Enemy_Width + (Distance_Between * 2), gaugeY, W1, aBossHP, aBossMHP, aHPColor, this.gaugeBackColor(), color1, color2); } else { this.hide(); } }; function drawFace (aWindow_Base, faceName, faceIndex, x, y, width, height) { var bitmap = ImageManager.loadFace(faceName); var pw = Window_Base._faceWidth; var ph = Window_Base._faceHeight; var sx = faceIndex % 4 * pw; var sy = Math.floor(faceIndex / 4) * pw; aWindow_Base.contents.blt(bitmap, sx, sy, pw, ph, x, y, width, height); } function drawNameCharacter (aWindow_Base, aTextName, aTextColor, x, y, width) { width = width || aWindow_Base.textWidth(aTextName); aWindow_Base.changeTextColor(aTextColor); aWindow_Base.drawText(aTextName, x, y, width); } function drawProgressBar (aWindow_Base, x, y, width, aHP, aMHP, TextColor, ColorForBackProgress, ColorForStatusProgress1, ColorForStatusPgress2) { aWindow_Base.contents.fillRect(x, y, width, Size_Bar, ColorForBackProgress); var fillW = Math.floor( width * MyHPRate(aHP, aMHP)); aWindow_Base.contents.gradientFillRect(x, y, fillW, Size_Bar, ColorForStatusProgress1, ColorForStatusPgress2); aWindow_Base.changeTextColor(TextColor); var ProcHP = parseInt((aHP * 100 / aMHP)) + " %"; aWindow_Base.drawText(ProcHP, ((width / 2) - (aWindow_Base.textWidth(ProcHP) / 2) + x), y - 2, aWindow_Base.textWidth(ProcHP)); } function MyHPRate (aHP, aMHP) { return aHP / aMHP; } })();

Скриншоты


Пару слов от автора



Часть сообщения скрыта для гостей. Пожалуйста, авторизуйтесь или зарегистрируйтесь, чтобы увидеть его.

Мой вк: vk.com/borisov_alexandr_5
Мой ютуб канал: www.youtube.com/@alexandr_5836
Мой бусти: boosty.to/alexandr-7
Последнее редактирование: 7 года 1 мес. назад пользователем Alexandr_7.
Спасибо сказали: Dmy, Noxmils

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Оратор 1 место в Готв 3 место Готв 2 место Учитель Композитор Победитель конкурса Организатор конкурсов
Больше
7 года 2 мес. назад #109535 от yuryol
ХУД - это что? Правильно - визуальное отображение хар-к на экране. а раз визуальное, то нам очень нужны скриншотики этого худа

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 3 место Проект месяца 2 место Ветеран Учитель Проект месяца 1 место Проект года 3 место Разработчик
Больше
7 года 2 мес. назад #109540 от Alexandr_7

yuryol пишет: ХУД - это что? Правильно - визуальное отображение хар-к на экране. а раз визуальное, то нам очень нужны скриншотики этого худа

Добавил скриншот.

Мой вк: vk.com/borisov_alexandr_5
Мой ютуб канал: www.youtube.com/@alexandr_5836
Мой бусти: boosty.to/alexandr-7
Спасибо сказали: Dmy

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.100 секунд
Работает на Kunena форум