Войти на сайт

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

ТЕМА: [MV, MZ] GRB_Non Battler Actors (убр.героя из боя)

[MV, MZ] GRB_Non Battler Actors (убр.героя из боя) 6 года 2 мес. назад #105851

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2478
  • 2 место Даритель СтимкеяОраторУчительПрограммист RubyПроект месяца 3 местоВетеранПаладинРазработчикПоддержка Фонда
Плагин GRB_NonBattlerActors для RPG Maker MV и MZ позволяет исключить некоторых персонажей из битвы.

Плагин можно скачать здесь: GRB_NonBattlerActors.js
Полный код плагина [ Нажмите, чтобы развернуть ]


Герои будут ходить с партией по карте, но в битве участвовать не будут.

Чтобы отметить героя или героиню как недоступного в битве, добавьте в его заметки один из таких кодов:

<не в битве>

Доступны также коды на других языках: <non-battler>, <не ў бітве>, <не в битві>

Например, если сделать так, то Гарольд будет ходить по карте, но не будет участвовать в битве:

garold-non-battler.png


Кроме того, плагин позволяет включать/выключать персонажей из битвы переключателем. Если переключатель включён — персонаж будет доступен в битве, если выключен — недоступен:

<боевой переключатель: 1>

Или на других языках: <battler switch: 1>, <баявы пераключальнік: 1>, <бойовий перемикач: 1>

Вместо 1 укажите номер переключателя. Когда этот переключатель включён, герой будет появляться в битве. Когда выключен — не будет.


Идею плагина я взял из поста какого-то Сергея ВКонтакте — спасибо ему!
Последнее редактирование: 3 года 7 мес. назад от Dmy. Причина: поменял предупреждение про Блокнот, т.к. новые версии Блокнота поддерживают UTF-8 без BOM
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Leprikon01, DK, Cabbit, VarVarKa, Kirillkrm, Aiaz Marx, NeKotZima, SeaWolf, Maximka68, Alx_Yago

[MV] GRB_Non Battler Actors (убрать героев из боя) 6 года 2 мес. назад #105862

  • Doctor_Bug
  • Doctor_Bug аватар
  • Вне сайта
  • Светлый дракон
  • Из горизонта события! ▪_■
  • Сообщений: 573
  • Спасибо получено: 896
  • Программист RubyВетеранПроект месяца 3 место3 место3 место в КодировкеПроект месяца 1 место
Интересный плагин. А что будет если в пати все будут выключены? Выдаст ошибку?
Баг изучает Godot Engine. А слушает эту музыку ~~> Мое сердце
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

[MV] GRB_Non Battler Actors (убрать героев из боя) 6 года 2 мес. назад #105865

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2478
  • 2 место Даритель СтимкеяОраторУчительПрограммист RubyПроект месяца 3 местоВетеранПаладинРазработчикПоддержка Фонда
Doctor_Bug пишет:
А что будет если в пати все будут выключены? Выдаст ошибку?
Битва начнётся и сразу же закончится. Это стандартное поведение MV, я это не менял.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Doctor_Bug

[MV] GRB_Non Battler Actors (убрать героев из боя) 6 года 2 мес. назад #105866

  • Фред Канниг
  • Фред Канниг аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 455
  • Спасибо получено: 204
  • Поддержка Фонда
Dmy пишет:
Битва начнётся и сразу же закончится.
В чью пользу?
Администратор запретил публиковать записи гостям.

[MV] GRB_Non Battler Actors (убрать героев из боя) 6 года 2 мес. назад #105867

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2478
  • 2 место Даритель СтимкеяОраторУчительПрограммист RubyПроект месяца 3 местоВетеранПаладинРазработчикПоддержка Фонда
Фред Канниг пишет:
В чью пользу?
Ни в чью. Это будет считаться побегом (по крайней мере если в переменную записывать «Счёт побегов», то он после такой битвы увеличится на 1), но текста о побеге не будет, просто битва закончится.

Если надо, можно это поменять на проигрыш, это можно сделать вот таким скриптом:
(function () {
 
    var BattleManager_checkBattleEnd = BattleManager.checkBattleEnd;
    BattleManager.checkBattleEnd = function() {
        if (this._phase && $gameParty.isEmpty()) {
            this.processDefeat();
            return true;
        }
        return BattleManager_checkBattleEnd.call(this);
    }
 
    var Game_Party_name = Game_Party.prototype.name;
    Game_Party.prototype.name = function () {
        var numBattleMembers = this.allMembers().length;
        if (numBattleMembers === 0) {
            return '';
        } else if (numBattleMembers === 1) {
            return this.leader().name();
        } else {
            return TextManager.partyName.format(this.leader().name());
        }
    };
 
})();

[Как и сам плагин, этот код передан в общественное достояние согласно CC0.]
Последнее редактирование: 6 года 2 мес. назад от Dmy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Cabbit, Doctor_Bug, Фред Канниг

[MV] GRB_Non Battler Actors (убрать героев из боя) 4 года 3 мес. назад #118994

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2478
  • 2 место Даритель СтимкеяОраторУчительПрограммист RubyПроект месяца 3 местоВетеранПаладинРазработчикПоддержка Фонда
Проверил плагин в MZ, всё работает. Менять код плагина не пришлось.

(Я таки сделал два изменения: добавил строку @target, чтобы MZ не выдавал предупреждений о возможной несовместимости, и @url.)
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: yuryol, Cabbit, VarVarKa, Alx_Yago
Модераторы: NeKotZima
Время создания страницы: 0.267 секунд