查看: 4302|回复: 3

[有事请教] 求问如何自动为角色名增加边框和颜色

[复制链接]
梦石
30
星屑
12914
在线时间
2248 小时
注册时间
2020-1-17
回帖
197

RM创作大赛01组委会极短26评委极短24评委极短23评委极短22评委极短21获奖R考场第七期铜奖

发表于 2020-8-25 21:08:57 | 显示全部楼层 |阅读模式

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

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

×
萌新求问一下,如何自动为角色名增加边框与颜色

例如:
2020-8-25 20-50-59.png
变成
2020-8-25 20-51-14.png
因为我的文本都基本是完成的了,角色名都在第一行,没办法手动改了。于是我的想法是检索第一行的角色名,然后对名称一个个修改(毕竟角色也不多)。
其实没有接触过java……然后就从网上找了一些语句,改了改大概是这样的:
[pre lang="javascript"]temp= "哈罗德\n哈哈哈哈哈!"
textcopy = temp;
sizeoftextcopy = textcopy.indexOf('\n');
resulttext = textcopy.substring(0,sizeoftextcopy);
resulttext2 = textcopy.substring(0,sizeoftextcopy+1);
if (resulttext == "哈罗德"){
resulttext = "\\C[2]【哈罗德】\\C[0]"
}
textcopy = textcopy.replace(resulttext2,resulttext+"\n");
temp = textcopy
$gameMessage.add(temp)[/pre]
这个在事件的脚本中已经可以成功运行了,然而要搬到插件里的时候又有疑惑了……因为不知道要把这段代码放到哪里去,文件夹里面的js文件真的看晕了……
其实也有把别人的插件拿过来修改过,但是感觉就是乱改一通,也有很多问题。貌似在事件中\\C[2]是可以变成颜色的,但是不知道为什么换进去了就只能显示\C[2]而非变色。
于是求问一下,要实现自动为角色名增加边框和颜色的功能,要怎么修改插件呢?
梦石
8
星屑
6315
在线时间
1177 小时
注册时间
2019-6-22
回帖
313

极短25参与极短24获奖极短23参与

发表于 2020-8-27 16:39:09 | 显示全部楼层
试试这个?https://www.jianshu.com/p/e4fdcf3b09cf
YEP.73 – Message Macros

点评

其实这个插件还是需要使用\m[]来进行替换的,我的文本已经差不多完成了,替换起来还是很麻烦的……不过还是谢谢了  发表于 2020-8-27 19:59
无言。
作品:
UN1L3αSH : http://rpg.blue/thread-494672-1-3.html
回复

使用道具 举报

梦石
30
星屑
12914
在线时间
2248 小时
注册时间
2020-1-17
回帖
197

RM创作大赛01组委会极短26评委极短24评委极短23评委极短22评委极短21获奖R考场第七期铜奖

 楼主| 发表于 2020-8-27 20:05:51 | 显示全部楼层
本帖最后由 越青 于 2020-8-27 21:37 编辑

自己尝试找了一会儿终于找到Window_Message了,
然后试着在Window_Message.prototype.startMessage里面强行插入了上面那段代码……改了改大概是这样的。
[pre lang="javascript"]Window_Message.prototype.startMessage = function() {
    this._textState = {};
    this._textState.index = 0;

var textcopy = this.convertEscapeCharacters($gameMessage.allText());
var sizeoftextcopy = textcopy.indexOf('\n');
var resulttext = textcopy.substring(0,sizeoftextcopy);
var resulttext2 = textcopy.substring(0,sizeoftextcopy+1);
if (resulttext == "哈罗德"){
resulttext = "\\c[2]【哈罗德】\\c[0]";
textcopy = textcopy.replace(resulttext2,resulttext+"\n");
}
    this._textState.text = textcopy;
    this.newPage(this._textState);
    this.updatePlacement();
    this.updateBackground();
    this.open();
};[/pre]
但是还是存在着颜色不能显示的问题,实际显示的还是\C[]而非颜色的修改。
到底是出了什么问题呢?
==============================================
自己改了一下,发现13行改成这句就可以了
this._textState.text = this.convertEscapeCharacters(textcopy);
虽然从头到尾不知道自己写的代码是什么意思,但是能用就好
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部