[MV] WhitePaper_PressXManyTimes

Писатель 3 место Проект месяца 3 место Разработчик Проект месяца 2 место
Больше
7 года 4 мес. назад - 6 года 6 дн. назад #108324 от WhitePaper
Название плагина: PressXManyTimes
Автор: WhitePaper
Версия: 1.3
Дата выхода: 10.01.2019
Описание плагина:
Мини-игра, в которой нужно наполнить шкалу с помощью нажатия клавиши подтверждения (Enter, пробел или Z). После первого нажатия шкала начинает опустошаться. Если она станет пустой - игрок проиграет.

Помощь в использовании плагина


Код плагина:
Code:
//============================================================================= // WhitePaper_PressXManyTimes.js //============================================================================= /*: * @plugindesc Мини-игра, в которой нужно наполнить шкалу с помощью нажатия клавиши подтверждения (Enter, пробел или Z). После первого нажатия шкала начинает опустошаться. Если она станет пустой - игрок проиграет. * @author WhitePaper * * @param Win variable ID * @desc Номер переменной, в которую сохраняется результат мини-игры (по умолчанию 1) * @default 1 * @type variable * * @param Power variable ID * @desc Номер переменной, которая опередяет уровень наполнения шкалы за нажатие в процентах (по умолчанию 3) * @default 3 * @type variable * * @help Мини-игра, в которой нужно наполнить шкалу с помощью нажатия клавиши * подтверждения (Enter, пробел или Z). После первого нажатия шкала начинает * опустошаться. Если она станет пустой - игрок проиграет. * * В Win variable ID сохраняется результат мини-игры: * 1 - победа * -1 - поражение * * В Power variable ID определяется уровень наполнения шкалы за нажатие клавиши. * Значение в процентах. * Например: * 100 - шкала полностью заполняется * 20 - шкала заполняется на 20% * Шкала убавляется на 1 процент каждый кадр. * * Команды плагина: * PressXCall - вызывает мини-игру * * */ var params = PluginManager.parameters('WhitePaper_PressXManyTimes'); var powerId = params['Power variable ID']; var winId = params['Win variable ID']; Window_Base.prototype.drawPressXGauge = function(x, y, width, rate, color1, color2) { var fillW = Math.floor(width * rate); var gaugeY = y + this.lineHeight() * 2 - 8; var height = 100; this.contents.fillRect(x, gaugeY, width, height, this.gaugeBackColor()); this.contents.gradientFillRect(x, gaugeY, fillW, height, color1, color2); }; var Game_Interpreter_plugincommand = Game_Interpreter.prototype.pluginCommand; Game_Interpreter.prototype.pluginCommand = function(command, args) { Game_Interpreter_plugincommand.call(this, command, args); if(command === 'PressXCall') { SceneManager.push(Scene_PressX); } }; function Window_PressX() { this.initialize.apply(this, arguments); h = 0; okPress = 0; POWER = $gameVariables.value(powerId) * 0.01; }; Window_PressX.prototype = Object.create(Window_Base.prototype); Window_PressX.prototype.constructor = Window_PressX; Window_PressX.prototype.update = function() { if (h >=0.01) { h -= 0.01; }; this.contents.clear(); this.drawPressXGauge(0, 0, 500, h, this.hpGaugeColor1(), this.hpGaugeColor2()); if (Input.isRepeated('ok')) { this.onButtonOk(); }; if (h >= 1){ $gameVariables.setValue(winId, 1); SceneManager.pop(); //return 1; }; if (okPress !== 0 && h <= 0.01){ $gameVariables.setValue(winId, -1); SceneManager.pop(); }; }; Window_PressX.prototype.onButtonOk = function() { this.contents.clear(); h +=POWER; okPress = 1; if (h >= 1) { h = 1; } this.drawPressXGauge(0, 0, 500, h, this.hpGaugeColor1(), this.hpGaugeColor2()); }; function Scene_PressX() { this.initialize.apply(this, arguments); }; Scene_PressX.prototype = Object.create(Scene_MenuBase.prototype); Scene_PressX.prototype.constructor = Scene_PressX; Scene_PressX.prototype.initialize = function() { Scene_MenuBase.prototype.initialize.call(this); }; Scene_PressX.prototype.create = function() { Scene_MenuBase.prototype.create.call(this); this.createWindow(); }; Scene_PressX.prototype.createWindow = function() { this._pressX = new Window_PressX(Graphics.boxWidth / 2 - 250,Graphics.boxHeight / 2 - 60, 500, 120); this.addWindow(this._pressX); }; Scene_Menu.prototype.start = function() { Scene_MenuBase.prototype.start.call(this); };

Также можно скачать с Google Диск .
Последнее редактирование: 6 года 6 дн. назад пользователем WhitePaper.
Спасибо сказали: Dmy, idavollr, Seibur, DK, Yros, yuryol, Doctor_Bug, akito66, PringOva, 2Oth_Century_boi

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

Оратор 1 место в Готв 3 место Готв 2 место Учитель Композитор Победитель конкурса Организатор конкурсов
Больше
7 года 4 мес. назад - 7 года 4 мес. назад #108325 от yuryol
yuryol ответил в теме [MV] WhitePaper_PressXManyTimes
Code:
var params = PluginManager.parameters('WhitePaper_PressXManyTimes'); var powerId = params['Power variable ID']; var winId = params['Win variable ID'];

можно переписать так (просто вдруг не знаешь):
Code:
var params = PluginManager.parameters('WhitePaper_PressXManyTimes'), powerId = params['Power variable ID'] winId = params['Win variable ID'];



drawPressXGauge - единственная функция которая с верблюжьим названием. может ее тоже в змеинный переписать? и название плагина тоже может?
кстати в самом мукере тоже по-разному пишут. кто-нибудь знает почему? типа змеинный для классов, для остального верблюжий? или глобальные змеинным?


а так всё нравится, написано понятно и лаконично :blush:
Последнее редактирование: 7 года 4 мес. назад пользователем yuryol.
Спасибо сказали: Noxmils

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

Программист Ruby Ветеран Даритель Стимкея Оратор Программист JavaScript
Больше
7 года 4 мес. назад #108328 от Lekste
Lekste ответил в теме [MV] WhitePaper_PressXManyTimes
Насколько заметил, в мейкере переменные верблюжий, типы с заглавных, а подчеркивание отделяет категорию в именах типа (Window, Scene, alias и т д).
Спасибо сказали: yuryol

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

Больше
6 года 1 мес. назад - 6 года 1 мес. назад #116101 от Leprikon01
Leprikon01 ответил в теме [MV] WhitePaper_PressXManyTimes
У меня возникло несколько проблем совместимости. Во первых, если расположить плагин после DKTools, то получим ошибку как в на скрине.

А если в игре используется плагин YEP_PictureCommonEvents, то при его использовании одновременно запускается кликер.
Подскажите как исправить или где взять альтернативу.

Обновлено:
Все оказалось хуже и тупее. :ohmy: WhitePaper_PressXManyTimes срабатывает на ЛЮБУЮ команду плагина даже ПУСТУЮ.
Последнее редактирование: 6 года 1 мес. назад пользователем Leprikon01.

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

Писатель 3 место Проект месяца 3 место Разработчик Проект месяца 2 место
Больше
6 года 1 мес. назад #116106 от WhitePaper
WhitePaper ответил в теме [MV] WhitePaper_PressXManyTimes
Исправлено.
Спасибо сказали: Leprikon01, DK

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

Больше
6 года 1 мес. назад #116107 от Leprikon01
Leprikon01 ответил в теме [MV] WhitePaper_PressXManyTimes

WhitePaper пишет: Исправлено.

Да! Теперь все работает.

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

Больше
6 года 6 дн. назад - 6 года 6 дн. назад #116699 от Leprikon01
Leprikon01 ответил в теме [MV] WhitePaper_PressXManyTimes
Пытаюсь подружить плагин с ALOE_VirtualButtons. Так вот, проблема в том что там надо указать сцену в которой надо показать кнопку. Тоесть ["Scene_Title","Scene_Map","Scene_ChainCommand"] Посмотрел ваш код я нашел только Scene_PressX Но при вводе этого в плагин получаю то что на скрине. Что надо ввести чтобы кнопка появилась?
Последнее редактирование: 6 года 6 дн. назад пользователем Leprikon01.

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

Писатель 3 место Проект месяца 3 место Разработчик Проект месяца 2 место
Больше
6 года 6 дн. назад #116702 от WhitePaper
WhitePaper ответил в теме [MV] WhitePaper_PressXManyTimes
Исправлено.
Спасибо сказали: Leprikon01, DK

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

Больше
6 года 6 дн. назад #116705 от Leprikon01
Leprikon01 ответил в теме [MV] WhitePaper_PressXManyTimes
Работает!

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

Разработчик Программист JavaScript Проект месяца 3 место Проект месяца 1 место Проект месяца 2 место Учитель Оратор Ветеран Даритель Стимкея 2 место Программист Ruby Паладин
Больше
6 года 6 дн. назад #116708 от DK
DK ответил в теме [MV] WhitePaper_PressXManyTimes

Leprikon01 пишет: У меня возникло несколько проблем совместимости. Во первых, если расположить плагин после DKTools, то получим ошибку как в на скрине.


А если в игре используется плагин YEP_PictureCommonEvents, то при его использовании одновременно запускается кликер.
Подскажите как исправить или где взять альтернативу.

Обновлено:
Все оказалось хуже и тупее. :ohmy: WhitePaper_PressXManyTimes срабатывает на ЛЮБУЮ команду плагина даже ПУСТУЮ.


Добавил обработку пустой команды плагина, теперь будет вылезать ошибка, если пусто (так делать нельзя вообще), спасибо.
Спасибо сказали: Leprikon01

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

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