- Сообщений: 86
- Спасибо получено: 73
[MZ] Вывод на экран функций sp\xe param?
5 года 3 мес. назад #121344
от Morok
Morok создал тему: [MZ] Вывод на экран функций sp\xe param?
Доброго времени суток, подскажите пожалуйста есть ли способ вывода на экран значений из функций sp\xe параметров?
Заранее благодарю за любую наводку.
Code:
// EVAsion rate
eva: {
get: function() {
return this.xparam(1);
},
configurable: true
},
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
5 года 3 мес. назад #121345
от WhitePaper
WhitePaper ответил в теме [MZ] Вывод на экран функций sp\xe param?
Доброго.
sp и xp параметры героя/героини можно узнать с помощью кода:
где 1 - номер героя/героини, eva - название sp (xp) параметра.
Не совсем понимаю, что имеется в виду под вывести на экран.
Можно вывести это значение в команде "Показать текст".
Для этого нужно дать переменной значение
и потом вывести значение этой переменной в тексте.
К сожалению, переменные, которые редактируются ивентами, не поддерживают дробные числа. Поэтому нужно превратить дробное число в строку, если пользоваться этим методом. Поэтому и дописываем часть "" + .
sp и xp параметры героя/героини можно узнать с помощью кода:
Code:
$gameActors.actor(1).eva
Не совсем понимаю, что имеется в виду под вывести на экран.
Можно вывести это значение в команде "Показать текст".
Для этого нужно дать переменной значение
Code:
"" + $gameActors.actor(1).eva
К сожалению, переменные, которые редактируются ивентами, не поддерживают дробные числа. Поэтому нужно превратить дробное число в строку, если пользоваться этим методом. Поэтому и дописываем часть "" + .
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
5 года 3 мес. назад - 5 года 3 мес. назад #121368
от Morok
Morok ответил в теме [MZ] Вывод на экран функций sp\xe param?
Немного не то, когда составлял вопрос даже не думал что могу увести так далеко. По сути вывод данных идёт на экран статуса персонажа, так же как и обычные параметры. Я пробовал сделать по примеру стандартного вызова (он под спойлером).
В итоге он не понимает самих данных "xparam" и "sparam", либо я просто сам себя запутал.
Но спасибо большое за данные по проверке значения.
ВНИМАНИЕ: Спойлер!
Code:
Window_StatusParams.prototype.drawItem = function(index) {
const rect = this.itemLineRect(index);
const paramId = index + 2;
const name = TextManager.param(paramId);
const value = this._actor.param(paramId);
this.changeTextColor(ColorManager.systemColor());
this.drawText(name, rect.x, rect.y, 160);
this.resetTextColor();
this.drawText(value, rect.x + 160, rect.y, 60, "right");
};
В итоге он не понимает самих данных "xparam" и "sparam", либо я просто сам себя запутал.
Но спасибо большое за данные по проверке значения.
Последнее редактирование: 5 года 3 мес. назад пользователем Morok.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
5 года 3 мес. назад #121398
от WhitePaper
WhitePaper ответил в теме [MZ] Вывод на экран функций sp\xe param?
Написала вариант реализации:
В общем, сделала максимальное количество "предметов" (параметров, которые выводятся в окно) равным 26. А внутри отрисовки "предмета" - проверки на значения индекса, в зависимости от которых выводится значение разных категорий параметров.
И пришлось вводить список названий sp (xp) параметров, ибо в "Терминах" это не предусмотрено.
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) параметров, ибо в "Терминах" это не предусмотрено.

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