Project1

标题: 使用控制字符时,怎么把n换成变量? [打印本页]

作者: nevin999    时间: 2017-11-20 15:50
标题: 使用控制字符时,怎么把n换成变量?
比如对话时 \I[n], 是显示第n号的图标;或者YEP物品核心插件,\ii[n] 是显示包括图标的物品名
我先做物品选择处理, 物品的ID带入变量1
然后对话时,显示变量1的图标,应该怎么实现啊?


简单来说,就是想把 \I[n],里面的n, 换成变量1的值。


谢谢大佬们了

作者: wabcmcc    时间: 2017-11-20 17:07
對話時用 \V [變量ID]
作者: 芯☆淡茹水    时间: 2017-11-20 20:13
本帖最后由 芯☆淡茹水 于 2017-11-20 20:34 编辑

下面估摸着写的,需要测试下。
显示以变量值为物品ID的图标,就在对话框写:\IV[变量ID]


JAVASCRIPT 代码复制
  1. Window_Base.prototype.obtainItemParam = function(textState) {
  2.     var data = textState.text.slice(textState.index).match(/^\[(\d+)]/);
  3.     if (!data || !$gameVariables.value(+RegExp.$1) || !$dataItems[$gameVariables.value(+RegExp.$1)]) return '';
  4.     textState.index += data[0].length;
  5.     return $dataItems[$gameVariables.value(+RegExp.$1)].iconIndex;
  6. };
  7. var XrDate_WBprocessEscapeCharacter = Window_Base.prototype.processEscapeCharacter;
  8. Window_Base.prototype.processEscapeCharacter = function(code, textState) {
  9.     XrDate_WBprocessEscapeCharacter.call(this,code,textState);
  10.     if (code === 'IV') this.processDrawIcon(this.obtainItemParam(textState), textState);
  11. };







欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1