Project1

标题: 请问大佬们有没有mz用的自动读取姓名框的插件啊 [打印本页]

作者: xuechen19940302    时间: 2023-10-3 02:44
标题: 请问大佬们有没有mz用的自动读取姓名框的插件啊
我下载了NameBoxNoUse和VisuMZ_1_MessageCore插件。前面的那个插件不兼容mz,后面那个插件取消了直接读取姓名的功能。

我想要那种,嗯,比如我在对话框里输入【\N(张三)】,然后就自动生成了姓名框【张三】这样的插件。

不知道有没有大佬知道这样的插件,或者我能不能有偿悬赏哪位大佬帮我把NameBoxNoUse这个插件改成mz兼容的?不知道这样的工作量,大概需要花费多少呢....
作者: sunhihi    时间: 2023-10-3 08:51
NameBoxNoUse 應該是MZ插件
怎麼會不相容
你是不是沒掛PluginCommonBase.js ?
作者: xuechen19940302    时间: 2023-10-3 14:02
sunhihi 发表于 2023-10-3 08:51
NameBoxNoUse 應該是MZ插件
怎麼會不相容
你是不是沒掛PluginCommonBase.js ?

大佬您好!我新开了一个档只挂了这两个插件,然后也是没有生效....是不是我翻译器有问题,理解错了这个插件的作用啊?
作者: xuechen19940302    时间: 2023-10-3 14:05
sunhihi 发表于 2023-10-3 08:51
NameBoxNoUse 應該是MZ插件
怎麼會不相容
你是不是沒掛PluginCommonBase.js ?

应该是我理解错了这个插件的功能,我想的是新出来一个框框来的。
作者: pkeasygod    时间: 2023-10-3 14:54
MV有这功能是因为没有名称栏
现在MZ有了却不用
作者: xuechen19940302    时间: 2023-10-3 15:44
pkeasygod 发表于 2023-10-3 14:54
MV有这功能是因为没有名称栏
现在MZ有了却不用

文本多的话,我挨个手动复制,会比较害怕有误差。
作者: pkeasygod    时间: 2023-10-3 16:03
给你两个傻瓜式方法减少误差

一,
对话框开始输入777
再去/data/Mapxxx.json搜
{"code":101,"indent":0,"parameters":["",0,0,2,""]},{"code":401,"indent":0,"parameters":[ "777
取代为
{"code":101,"indent":0,"parameters":["",0,0,2,"张三"]},{"code":401,"indent":0,"parameters" :["

二,
把文字输入成变量 $gameVariables.setValue(11, '张三');
名字栏直接打 \v[11]
作者: sunhihi    时间: 2023-10-3 21:54
xuechen19940302 发表于 2023-10-3 14:05
应该是我理解错了这个插件的功能,我想的是新出来一个框框来的。

這個插件是隱藏名稱框
將姓名列在文本第一行
很明顯你理解錯了
作者: xuechen19940302    时间: 2023-10-10 08:08
pkeasygod 发表于 2023-10-3 16:03
给你两个傻瓜式方法减少误差

一,

谢谢大佬!
作者: 小秋橙    时间: 2023-10-10 13:26
MV没有姓名框,因此如果把姓名写在第一行就会导致只有三行实际可用空间。因此有人为MV提供了类似MZ的姓名框插件,但是就需要把姓名写在正文里。
楼主的需求类似上面所说的后者,也就是“把姓名写在姓名框里不太方便,希望写在正文里”,因此实现思路如下:
  1. // Show Text
  2. Game_Interpreter.prototype.command101 = function(params) {
  3.     if ($gameMessage.isBusy()) {
  4.         return false;
  5.     }
  6.     $gameMessage.setFaceImage(params[0], params[1]);
  7.     $gameMessage.setBackground(params[2]);
  8.     $gameMessage.setPositionType(params[3]);
  9.     // 这里是 rmmz_objects.js 第9800行,关于params[4]的设置从原本所在的这里被挪到了下面,请注意
  10.     while (this.nextEventCode() === 401) {
  11.         // Text data
  12.         this._index++;
  13.         let s = this.currentCommand().parameters[0];
  14.         if (!params[4] && s.startsWith('\\N[')) { // 如果某一行以 \N[姓名] 开头,并且本对话还没有设置姓名
  15.             params[4] = s.substring(4, s.indexOf(']')); // 那么就把这个姓名作为设置
  16.             s = s.substring(s.indexOf(']') + 1); // 当然原对话就要从 ] 的下一个字开始
  17.         } // 以上几行是修改后的内容
  18.         $gameMessage.add(s);
  19.     }
  20.     $gameMessage.setSpeakerName(params[4]); // 设置姓名框延迟到这里执行
  21.     switch (this.nextEventCode()) {
  22.         ...... // 这里省略
  23.     }
  24.     this.setWaitMode("message");
  25.     return true;
  26. };
复制代码

作者: xuechen19940302    时间: 2023-10-12 16:59
小秋橙 发表于 2023-10-10 13:26
MV没有姓名框,因此如果把姓名写在第一行就会导致只有三行实际可用空间。因此有人为MV提供了类似MZ的姓名框 ...

哇谢谢大佬!




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