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

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

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

Писатель 3 место Проект месяца 3 место Разработчик Проект месяца 2 место
Больше
5 года 3 мес. назад #121345 от WhitePaper
Доброго.
sp и xp параметры героя/героини можно узнать с помощью кода:
Code:
$gameActors.actor(1).eva
где 1 - номер героя/героини, eva - название sp (xp) параметра.

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

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

Учитель
Больше
5 года 3 мес. назад - 5 года 3 мес. назад #121368 от Morok
Немного не то, когда составлял вопрос даже не думал что могу увести так далеко. По сути вывод данных идёт на экран статуса персонажа, так же как и обычные параметры. Я пробовал сделать по примеру стандартного вызова (он под спойлером).

ВНИМАНИЕ: Спойлер!


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

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

Писатель 3 место Проект месяца 3 место Разработчик Проект месяца 2 место
Больше
5 года 3 мес. назад #121398 от WhitePaper
Написала вариант реализации:
Code:
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

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

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