cover photo

Aristarx13

Личное сообщение
Добавить в друзья
Aristarx13

Обо мне

Общая информация

  • Пол

  • Дата рождения

    13/05/1980
  • Обо мне

    Разрабатываю игры в Rpg Maker MV/MZ. Увлекаюсь пиксель-артом. Изучаю Javascript. Занимаюсь переводом игр на движке мейкера.

Контактная информация

Образование

Регистрация
23.04.2020 17:27
Последний вход
9 час. 26 мин. назад
  • Aristarx13 ответил(а) в теме 'Помогите найти данные паки!' форума.

    Осталась последняя картинка, то есть та, что первая. И это,... нет, не Stardew Valley как может показаться вначале, хотя сходство есть. Это пак для игрового редактора Bakin под названием: PixelScapes Forest Pack.
    Ссылка на магазин Steam:
    store.steampowered.com/app/2996360/RPG_D...rest_Pack/?l=russian

    Bakin.jpg

    Подробнее...

  • Aristarx13 ответил(а) в теме 'Магазин - как убрать Купить Продать Отмена? [MZ]' форума.

    Уточнение:
    Если предполагается редактирование основных файлов проекта из папки js, то это настоятельно не рекомендуется. Дело в том, что можно напортачить, и забыть где делал правки. Другое дело плагины и скрипты, их можно отключать.

    Теперь по проблеме.

    1.
    Отключить вкладки легко даже скриптом перед командой Магазин.
    Например:

    Window_ShopCommand.prototype.maxCols = function() {
    return NaN;
    };
    Но это даст при входе конструкцию из пустых окон. Только после нажатия Enter (или другой подтверждающей клавиши) появятся товары. Требуется больше кода. Поэтому лучше использовать конкретные, небольшие, целевые плагины без лишних наворотов, так как это повышает вероятность конфликта с другими плагинами.

    2.
    Я написал код, который решает эту проблему, создавая другую, явную из вопроса: А куда девать ненужный товар? Выбрасывать? Тем не менее вот он этот код:
    (() => {

    //Fast Buy Shop - магазин быстрой покупки.

    // Количество колонок для главных вкладок магазина
    // Чтобы удалить вкладку «Купить» введите: return NaN
    Window_ShopCommand.prototype.maxCols = function() {
    return 1;
    };

    // Убираем ненужные вкладки, оставляем только "Купить"
    Window_ShopCommand.prototype.makeCommandList = function() {
    // Заменяем текст на вкладке "Купить" значением переменной.
    // Перед командой события вызывающего Магазин, введите скрипт,
    // например: $gameVariables.setValue(10, "Магазин «Пятёрочка»");
    const commandText = $gameVariables.value(10); // Берём значение из переменной, к примеру, с индексом 10.
    this.addCommand(commandText, "buy");
    };

    // При старте сразу активируем окно покупки
    Scene_Shop.prototype.start = function() {
    //this._commandWindow.hide();
    Scene_MenuBase.prototype.start.call(this);
    this.commandBuy(); // Сразу запускаем обработку "Купить"
    };

    // Выход из списка покупного товара сразу на карту
    Scene_Shop.prototype.onBuyCancel = function() {
    return SceneManager.goto(Scene_Map);
    };

    // Убираем скрытие окна покупок при вызове команды "Купить"
    const _commandBuy = Scene_Shop.prototype.commandBuy;
    Scene_Shop.prototype.commandBuy = function() {
    _commandBuy.call(this);
    this._buyWindow.show();
    this._buyWindow.activate(); // Активируем окно покупок
    this._statusWindow.show();
    this._commandWindow.deactivate();
    };
    })();

    Я допустил некоторую вольность в концепции, и объясню почему.
    После удаления вкладок, остаётся пустое, некрасивое окно, которое, кстати, тоже можно удалить, раскомментировав 21 строку ( //this._commandWindow.hide(); ). В результате в верхнем ряду останется только денежное окно (наши наличные), которое смотрится не очень симметрично.
    Поэтому я советую не удалять пустое окошко, а заполнить его значением выбранной вами переменной. Да, я предлагаю пожертвовать одной из 5000 переменных.
    Логика следующая:
    - подключаем указанный (большой) код как плагин;
    - в событии, перед командой «Магазин» вводим команду «Скрипт» и в ней прописываем, например, такой скрипт с переменной: $gameVariables.setValue(10, "Магазин «Пятёрочка»");
    - в плагине убеждаемся, что на 8 строке прописано: return 1; а на 21 строке, команда //this._commandWindow.hide(); как здесь закомментированна;
    - заходим в игру и убеждаемся, что теперь у магазина появилось название.
    Примечание:
    - в приведённом коде-плагине установлена переменная с индексом 10. Вы можете использовать другой номер переменной, но тогда в плагине на 15 строке ( const commandText = $gameVariables.value(10); ) нужно 10-ку поменять на используемый вами номер переменной;
    - так как в переменную можно ввести разные типы данных (но чаще число или в данном случае строку), то это значение и будет выведено в командном окне для вкладок;
    - если вы решили использовать для разных магазинов разные названия, то скрипт с переменной нужно прописывать перед каждым вызовом команды «Магазин», редактируя лишь строчное значение (имя магазина). Строка в переменной всегда заключается в кавычки (лапки).

    3.
    Альтернативное решение (вдруг пригодится).
    Как-то раз, просматривая один японский, на данный момент уже пол-года как не существующий мейкерский сайт ( tm.lucky-duet.com ) я наткнулся на пост неизвестного мейкериста с ником youtu. Он выложил свой плагин, даже не поставив в нём своё авторство, вольно разрешающий использовать плагин в коммерческих и любых других целях. Это плагин (для MZ) позволяет при заходе в магазин сразу видеть товары для покупки, а переместив курсор на вкладку продажи, - и предметы для продажи тоже. Но для перемещения по списку товаров требовалось нажатие подтверждающей клавиши (например Enter) и тогда видимые изначально товары становились подсвеченными и активными для выбора. В настройке плагина можно было скрыть показ клавиши «Отмена».
    Ниже прилагаю локализованный на русский (с японского) код плагина.
    //=============================================================================
    // ShopDisplay.js
    //
    // @PUBLIC DOMAIN
    //
    // Version
    // 1.0.0 2025/01/02
    //
    //=============================================================================

    /*:
    * @plugindesc При входе в Магазин сразу видны товары для покупки.
    * @target MZ
    *
    * @param Скрыть вкладку Отмена
    * @desc Удаление вкладки «Отмена».
    * @type boolean
    * @default false
    *
    * @help
    * Во вкладках Магазина (Купить, Продать или Отмена) отображается каждое
    * соответствующее окно.
    * Вы можете свободно использовать, изменять и распространять его, как в
    * коммерческих, так и в некоммерческих целях. Кредит не требуется.
    *
    */

    (() => {

    const parameters = PluginManager.parameters('ShopDisplay');
    const DisableCancel = Boolean(parameters === 'true');

    //キャンセル消去
    Window_ShopCommand.prototype.maxCols = function() {
    if(DisableCancel){
    return 2;
    } else {
    return 3;
    }
    };

    Window_ShopCommand.prototype.makeCommandList = function() {
    this.addCommand(TextManager.buy, "buy");
    this.addCommand(TextManager.sell, "sell", !this._purchaseOnly);
    if(!DisableCancel){
    this.addCommand(TextManager.cancel, "cancel");
    }
    };

    //選択中項目監視
    Scene_Shop.prototype.update = function() {
    Scene_MenuBase.prototype.update.call(this);
    this.commandIndexCheck();
    };

    Scene_Shop.prototype.commandIndexCheck = function() {
    if (this._commandWindow && this._commandWindow.active) {
    if (this._commandWindow.index() == 0) {
    this._categoryWindow.hide();
    this._sellWindow.hide();
    this._buyWindow.show();
    this._statusWindow.show();
    }
    if (this._commandWindow.index() == 1) {
    this._buyWindow.hide();
    this._statusWindow.hide();
    this._categoryWindow.show();
    this._sellWindow.show();
    };
    if (this._commandWindow.index() == 2) {
    this._categoryWindow.hide();
    this._sellWindow.hide();
    this._buyWindow.hide();
    this._statusWindow.hide();
    this._dummyWindow.show();
    };
    }
    };


    //ウィンドウ表示調整
    const _Scene_Shop_prototype_createDummyWindow = Scene_Shop.prototype.createDummyWindow
    Scene_Shop.prototype.createDummyWindow = function() {
    _Scene_Shop_prototype_createDummyWindow.call(this);
    this._dummyWindow.hide();
    };

    const _Scene_Shop_prototype_commandBuy = Scene_Shop.prototype.commandBuy
    Scene_Shop.prototype.commandBuy = function() {
    _Scene_Shop_prototype_commandBuy.call(this);
    this._categoryWindow.hide();
    this._sellWindow.hide();
    };

    const Scene_Shop_prototype_commandSell = Scene_Shop.prototype.commandSell
    Scene_Shop.prototype.commandSell = function() {
    Scene_Shop_prototype_commandSell.call(this);
    this._buyWindow.hide();
    this._statusWindow.hide();
    };

    const _Scene_Shop_prototype_onBuyCancel = Scene_Shop.prototype.onBuyCancel
    Scene_Shop.prototype.onBuyCancel = function() {
    _Scene_Shop_prototype_onBuyCancel.call(this);
    this._dummyWindow.hide();
    this._buyWindow.show();
    this._statusWindow.show();
    };

    const _Scene_Shop_prototype_onCategoryCancel = Scene_Shop.prototype.onCategoryCancel
    Scene_Shop.prototype.onCategoryCancel = function() {
    _Scene_Shop_prototype_onCategoryCancel.call(this);
    this._dummyWindow.hide();
    this._categoryWindow.show();
    this._sellWindow.show();
    };

    })();


    Подробнее...

  • ajir поблагодарил Aristarx13 в теме Где публикуете игры?
  • Aristarx13 ответил(а) в теме 'Где публикуете игры?' форума.

    ajir пишет:

    Сегодня узнал о существовании следующего архива игр:
    Aristarx13 пишет:
    На самом деле «Ракушка» доступна, но только на Нейтралке в Мейкерском наследии, там где Архив Русских Игр, сделанных на RPG-Maker'е:
    rmaker.ru/games/Rakushka.rar

    Сам архив:
    ajir пишет:
    Архивъ мейкеръских игръ
    Списокъ всѣхъ игръ
    Файловъ въ каталогѣ: 150
    rmaker.ru/games/

    Здесь страница, где эти игры. Присутствуют скриншоты, описание и ссылки под спойлером с именем автора игры.
    Архив Русских Игр, сделанных на RPG-Maker'е
    rpgmaker.su/f90/Архив-Русских-Игр-сделанных-на-rpg-makerе-1478/


    Подробнее...

  • Aristarx13 ответил(а) в теме 'Пропуск сообщений в битве [MZ]' форума.

    Можно сократить функции processVictory и processDefeat из файла rmmz_managers.js, чтобы убрать победные и проигрышные сообщения:
    Рид и его партия побеждает!
    20 Опыта получено!
    10 Зол. найдено!


    Тогда битва завершится сразу после гибели последнего противника или героя, а достижения битвы (опыт и золото), в случае победы, зачтутся.

    Код можно подключить как плагин:

    //DisableBattleMessages.js
    
    //Ваши скрипты
    BattleManager.displayStartMessages = function() {};
    Window_BattleLog.prototype.addText = function() {};
    
    //Фрагмент кода из rmmz_managers.js (победное сообщение и награды закомментированны)
     BattleManager.processVictory = function() {
         $gameParty.removeBattleStates();
         $gameParty.performVictory();
         this.playVictoryMe();
         this.replayBgmAndBgs();
         this.makeRewards();
         //this.displayVictoryMessage();
         //this.displayRewards();
         this.gainRewards();
         this.endBattle(0);
    };
    
    //Фрагмент кода из rmmz_managers.js (сообщение о поражении партии закомментированно)
    BattleManager.processDefeat = function() {
        //this.displayDefeatMessage();
        this.playDefeatMe();
        if (this._canLose) {
            this.replayBgmAndBgs();
        } else {
            AudioManager.stopBgm();
        }
        this.endBattle(2);
    };


    Подробнее...

  • ajir поблагодарил Aristarx13 в теме Дневник "Сказки моря"
  • LelyLow поблагодарил Aristarx13 в теме Дневник "Сказки моря"
  • Aristarx13 ответил(а) в теме 'Дневник "Сказки моря"' форума.

    На самом деле «Ракушка» доступна, но только на Нейтралке в Мейкерском наследии, там где Архив Русских Игр, сделанных на RPG-Maker'е:
    rmaker.ru/games/Rakushka.rar

    Подробнее...

  • Aristarx13 ответил(а) в теме 'Ошибка this.create layout window is not a function' форума.

    Если я правильно понимаю, то проект делается в Rpg maker MZ? Если да, то есть 2 предложения:
    1) Проверьте в окне управления плагинами порядок подключенных в списке плагинов (чтобы так же как и прошлом проекте);
    2) Сравните версию ядра нового проекта (в новом проекте оно будет последней версии) с версией старого, и если различаются, то в новом, понизьте до значения прошлого проекта. Напомню, что доступ к опции ядра осуществляется из главного окна программы (где настраиваем карту и события) → в верхней панели меню: Игра → Обновить Corescript... → Версия для перезаписи.

    Плагин делал Moghunter изначально для Rpg maker MV. А после выхода MZ в том же 2020 году, автор перенёс его на этот новый движок. С тех пор MZ часто обновлялся и повысил версию почти в 2 раза. Поэтому 2 пункт даже более вероятен.

    Ошибка «this.create layout window is not a function» в плагине MOG_BattleHud.js возникает, когда функция, которую пытается вызвать плагин, не является функцией. Это сообщение может появляться при подключении плагина в проекте RPG Maker, например, при запуске боя.

    Подробнее...

  • AnnTenna поблагодарил Aristarx13 в теме Меню экипировки [MZ]
  • Aristarx13 установлена новая Профиль обложка профиля

    2 мес. назад

  • Aristarx13 установлена новая Профиль обложка профиля

    2 мес. назад

  • Aristarx13 ответил(а) в теме 'Меню экипировки [MZ]' форума.

    Начнём по порядку. Чтобы подсказать, какой плагины в пректе править, надо знать какие они у вас установлены. Поэтому пока предложу свои варианты плагинов.
    1-й плагин на параметры можно взять от Caethyril (Change params shown on StatusEquip scenes) на сайте steamcommunity.com/app/1096900/discussio...3875966763776176985/ . Плагин делался на скорою руку, и не имеет настроек. Его надо редактировать в удобном вам блокноте. В нём вы увидите:
    //=============================================================================
    //Идентификаторы параметров от 0 до 7:
    //0 - Макс. HP, 1 - Макс. MP, 2 - Атака, 3 - Защита, 4 - Маг. атака,
    //5 - Маг. защита, 6 - Ловкость, 7 - Удача.
    //=============================================================================
    // Состояние
    const PARAM_IDS = [2, 3, 4, 5, 6, 7];
    //=============================================================================
    // Экипировка
    const PARAM_IDS2 = [2, 3, 4];
    //=============================================================================

    Первый блок показывает цифровые идентификаторы параметров от 0 до 7 (итого 8 параметров). Кстати, в игре первые два парамнтра скрыты, но с помощью плагина их можно показать.
    Второй блок - это Окно «Состояние». В квадратных скобках перечислены номера-идентификаторы указанных выше параметров. Их можно редактировать, если хотите сократить число параметров окна Состояния или поменять их очерёдность (т.е. перечислить цифры в другом порядке).
    Третий блок подобен второму, но редактирует параметры в окне Экипировки.
    На сайте в коде представлен только один массив (цифры в скобках), который одинаково настраивает оба окна (Состояние и Экипировка). С указанного разрешения Caethyril я сделал индивидуальное разделение. Плагин прилагаю.

    2-й плагин: ARX_Remove_TP_bar_MainMenu.js я написал сам, т.к не нашёл подобного в сети.
    Плагин убирает шкалу TP в главном окне меню и его дочернем «Состояние». При этом TP остаётся в Битве, т.к. там это оправдано. Плагин также настроек не имеет, но и настраивать его не нужно. Плагин прилагаю.

    Подробнее...

Группы

Участник не состоит в группах.