| 赞 | 4 |
| VIP | |
| 好人卡 | |
| 积分 | 10 |
| 经验 | |
| 最后登录 | 2025-10-15 |
| 在线时间 | 319 小时 |
- 梦石
- 0
- 星屑
- 963
- 在线时间
- 319 小时
- 注册时间
- 2011-8-31
- 回帖
- 86

|
楼主 |
发表于 2023-2-6 19:49:30
|
显示全部楼层
天一教主 发表于 2023-2-6 08:20
$gameMap._interpreter.pluginCommand('命令',['参数组(要一个数组)'])
$gameMap._interpreter.pluginCo ...
这个貌似不行啊,我试了个可以看到结果的命令:
>地图永久漂浮文字 : 漂浮文字[1] : 修改内容文本 : 文本[这是一段文字]
改成:
$gameMap._interpreter.pluginCommand('>地图永久漂浮文字',['漂浮文字[120]','修改内容文本','文本[12122121]']) 是不行的。
我看了下插件源码,改了下:
$gameMap._interpreter.pluginCommand(">地图永久漂浮文字",["漂浮文字[",120,"]","修改内容文本","文本[","asdasd","]"])
貌似">地图永久漂浮文字"和["漂浮文字[",120,"]"都能识别出来了,但后面的指令没有识别,没有效果。
大神再帮我看看问题出在哪里?
相关源码如下:
var _drill_GFPT_pluginCommand = Game_Interpreter.prototype.pluginCommand
Game_Interpreter.prototype.pluginCommand = function(command, args) {
_drill_GFPT_pluginCommand.call(this, command, args);
if(command === ">地图永久漂浮文字"){
/*-----------------对象获取------------------*/
var text_id = null;
if(args.length >= 2){
text_id = String(args[1]);
text_id = text_id.replace("漂浮文字[","");
text_id = text_id.replace("]","");
text_id = Number(text_id);
if( text_id != null && args.length >= 6 ){
var type = String(args[3]);
var temp1 = String(args[5]);
if( type == "修改内容文本" ){
var data = $gameSystem._drill_GFPT_dataTank[ text_id ];
if( this.drill_GFPT_isDataExist( text_id ) == false ){ return; }
if( temp1.indexOf("字符串[") != -1 ){
if( Imported.Drill_CoreOfString ){
temp1 = temp1.replace("字符串[","");
temp1 = temp1.replace("]","");
temp1 = $gameStrings.value( Number(temp1) );
data['context'] = temp1;
if( $gameTemp._drill_GFPT_windowTank[ text_id ] != null ){
$gameTemp._drill_GFPT_windowTank[ text_id ].drill_refreshMessageFromData();
}
}else{
alert( "【Drill_GaugeFloatingPermanentText.js 地图UI - 永久漂浮文字】\n" +
"缺少 字符串核心 插件,插件指令执行失败。");
}
}else{
var data_str = ""; //(支持空格的多行结构)
for(var m = 5; m < args.length ; m++ ){
data_str += String(args[ m ]);
if( m < args.length-1 ){ data_str += " "; }
}
data_str = data_str.replace("文本[","");
data_str = data_str.replace(/\]$/,""); //(去掉末尾的])
data['context'] = data_str;
if( $gameTemp._drill_GFPT_windowTank[ text_id ] != null ){
$gameTemp._drill_GFPT_windowTank[ text_id ].drill_refreshMessageFromData();
}
}
}
}
|
|