查看: 3077|回复: 2

[有事请教] 使用控制字符时,怎么把n换成变量?

[复制链接]
梦石
0
星屑
189
在线时间
37 小时
注册时间
2011-4-22
回帖
11
发表于 2017-11-20 15:50:26 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
比如对话时 \I[n], 是显示第n号的图标;或者YEP物品核心插件,\ii[n] 是显示包括图标的物品名
我先做物品选择处理, 物品的ID带入变量1
然后对话时,显示变量1的图标,应该怎么实现啊?


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


谢谢大佬们了
梦石
0
星屑
16261
在线时间
4014 小时
注册时间
2015-9-14
回帖
1322

开拓者

发表于 2017-11-20 17:07:33 | 显示全部楼层
對話時用 \V [變量ID]
https://rpg.blue/data/attachment/album/202003/28/021323lltgrsvfytfwuya5.gif
回复

使用道具 举报

梦石
0
星屑
34462
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2017-11-20 20:13:02 | 显示全部楼层
本帖最后由 芯☆淡茹水 于 2017-11-20 20:34 编辑

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


[pre lang="javascript"]Window_Base.prototype.obtainItemParam = function(textState) {
    var data = textState.text.slice(textState.index).match(/^\[(\d+)]/);
    if (!data || !$gameVariables.value(+RegExp.$1) || !$dataItems[$gameVariables.value(+RegExp.$1)]) return '';
    textState.index += data[0].length;
    return $dataItems[$gameVariables.value(+RegExp.$1)].iconIndex;
};
var XrDate_WBprocessEscapeCharacter = Window_Base.prototype.processEscapeCharacter;
Window_Base.prototype.processEscapeCharacter = function(code, textState) {
    XrDate_WBprocessEscapeCharacter.call(this,code,textState);
    if (code === 'IV') this.processDrawIcon(this.obtainItemParam(textState), textState);
};[/pre]

xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部