Войти на сайт

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

ТЕМА: [MZ] Вывод на экран функций sp\xe param?

[MZ] Вывод на экран функций sp\xe param? 3 года 2 мес. назад #121344

  • Morok
  • Morok аватар
  • Вне сайта
  • Бывалый
  • Сообщений: 86
  • Спасибо получено: 73
  • Учитель
Доброго времени суток, подскажите пожалуйста есть ли способ вывода на экран значений из функций sp\xe параметров?
// EVAsion rate
    eva: {
        get: function() {
            return this.xparam(1);
        },
        configurable: true
    },
Заранее благодарю за любую наводку.
Администратор запретил публиковать записи гостям.

[MZ] Вывод на экран функций sp\xe param? 3 года 2 мес. назад #121345

  • WhitePaper
  • WhitePaper аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 378
  • Спасибо получено: 996
  • Проект месяца 2 местоПисатель 3 местоРазработчикПроект месяца 3 место
Доброго.
sp и xp параметры героя/героини можно узнать с помощью кода:
$gameActors.actor(1).eva
где 1 - номер героя/героини, eva - название sp (xp) параметра.

Не совсем понимаю, что имеется в виду под вывести на экран.
Можно вывести это значение в команде "Показать текст".
Для этого нужно дать переменной значение
"" + $gameActors.actor(1).eva
и потом вывести значение этой переменной в тексте.
К сожалению, переменные, которые редактируются ивентами, не поддерживают дробные числа. Поэтому нужно превратить дробное число в строку, если пользоваться этим методом. Поэтому и дописываем часть "" + .
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: yuryol, Morok

[MZ] Вывод на экран функций sp\xe param? 3 года 2 мес. назад #121368

  • Morok
  • Morok аватар
  • Вне сайта
  • Бывалый
  • Сообщений: 86
  • Спасибо получено: 73
  • Учитель
Немного не то, когда составлял вопрос даже не думал что могу увести так далеко. По сути вывод данных идёт на экран статуса персонажа, так же как и обычные параметры. Я пробовал сделать по примеру стандартного вызова (он под спойлером).

ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


В итоге он не понимает самих данных "xparam" и "sparam", либо я просто сам себя запутал.
Но спасибо большое за данные по проверке значения.
Последнее редактирование: 3 года 2 мес. назад от Morok.
Администратор запретил публиковать записи гостям.

[MZ] Вывод на экран функций sp\xe param? 3 года 2 мес. назад #121398

  • WhitePaper
  • WhitePaper аватар
  • Вне сайта
  • Просветлённый
  • Сообщений: 378
  • Спасибо получено: 996
  • Проект месяца 2 местоПисатель 3 местоРазработчикПроект месяца 3 место
Написала вариант реализации:
const xparams = ["HIT", "EVA", "CRI", "CEV", "MEV", "MRF", "CNT", "HRG", "MRG", "TRG"];
const sparams = ["TGR", "GRD", "REC", "PHA", "MCR", "TCR", "PDR", "MDR", "FDR", "EXR"];
 
const statusParamsMaxCols = 4;
const statusParamsMaxItems = 26;
const statusParamsNameWidth = 120;
 
Window_StatusParams.prototype.maxCols = function() {
    return statusParamsMaxCols;
};
 
Window_StatusParams.prototype.maxItems = function() {
    return statusParamsMaxItems;
};
Window_StatusParams.prototype.drawItem = function(index) {
    const rect = this.itemLineRect(index);
    if (index < 6){
        const paramId = index + 2;
        var name = TextManager.param(paramId);
        var value = this._actor.param(paramId);
    } else if (index < 16){
        const paramId = index - 6
        var name = xparams[paramId];
        var value = this._actor.xparam(paramId);
    } else {
        const paramId = index - 16;
        var name = sparams[paramId];
        var value = this._actor.sparam(paramId);
    }
    this.changeTextColor(ColorManager.systemColor());
    this.drawText(name, rect.x, rect.y, statusParamsNameWidth);
    this.resetTextColor();
    this.drawText(value, rect.x + statusParamsNameWidth, rect.y, 60, "right");
};
 
Scene_Status.prototype.statusParamsHeight = function() {
    return this.calcWindowHeight(Math.ceil(statusParamsMaxItems / statusParamsMaxCols), false);
};
 
Scene_Status.prototype.statusParamsWidth = function() {
    return Graphics.boxWidth;
};

В общем, сделала максимальное количество "предметов" (параметров, которые выводятся в окно) равным 26. А внутри отрисовки "предмета" - проверки на значения индекса, в зависимости от которых выводится значение разных категорий параметров.

И пришлось вводить список названий sp (xp) параметров, ибо в "Терминах" это не предусмотрено. :\

Скриншот результата [ Нажмите, чтобы развернуть ]
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy, Alx_Yago
Модераторы: NeKotZima
Время создания страницы: 0.268 секунд