查看: 5453|回复: 10

[已经解决] 请js语言的老师进来看一下

[复制链接]
梦石
0
星屑
1005
在线时间
212 小时
注册时间
2011-11-23
回帖
76
发表于 2016-6-25 13:29:45 | 显示全部楼层 |阅读模式

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

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

×
前段时间提问时获得了一段JS脚本,但是不知道是没空登录论坛还是什么原因,脚本发布者没有回复更多我提问的一些小细节。
这段脚本如下,我想问下,这个“ ◆ 插入自定义参数 (新建)”地方的变量应该是在哪个位置进行声明?,我在尝试放置了几个可能的位置后提示我“MLC.CREATE is undefined”。大概的意思好像是未赋值,是我使用方法不对吗?

[pre lang="javascript" line="1"]/*
===================================================================================================================
◆ 插入自定义参数 (新建)
===================================================================================================================
*/
var MLC          =  {};                                             /* 创建变量 */   
MLC.CREATE       =  Scene_Menu.prototype.create;                    /* 代入函数 */
MLC.CCW          =  Scene_Menu.prototype.createCommandWindow;       /* 代入函数 */
MLC.LoadName     =  '读取'                                          /* 创建变量 */

/*
===================================================================================================================
◆ 在菜单场景内创建窗口 (重写)  <来源:rpg_scenes.js —— Scene_Menu >
===================================================================================================================
*/
Scene_Menu.prototype.create = function() {
        MLC.CREATE.call(this);                   /* 调入原函数(Scene_Menu.prototype.create) */
        this._commandWindow.visible =  true;     /* 设置选项窗口的可视状态 */
        this._goldWindow.visible    =  false;    /* 设置金币窗口的可视状态 */
        this._statusWindow.visible  =  false;    /* 设置角色窗口的可视状态 */
};

/*
===================================================================================================================
◆ 制作指令选单 (重写)  <来源:rpg_windows.js —— Window_MenuCommand >
===================================================================================================================
*/
Window_MenuCommand.prototype.makeCommandList = function() {        /* 以下排序与菜单场景的排版顺序同步 */
    this.addMainCommands();                                        /* 原文 */
    this.addFormationCommand();                                    /* 原文 */
    this.addOriginalCommands();                                    /* 原文 */  
    this.addOptionsCommand();                                      /* 原文 */   
    this.addSaveCommand();                                         /* 原文 */
        this.addLoadCommand(MLC.LoadName);                             /* 新增 '读取' 指令项 */
    this.addGameEndCommand();                                      /* 原文 */   
};

/*
===================================================================================================================
◆ 在菜单场景内增加'读取'指令项 (新建)  <衔接位置:rpg_windows.js —— Window_MenuCommand >
===================================================================================================================
*/
Window_MenuCommand.prototype.addLoadCommand = function(name) {
    this.addCommand(name, 'load', true);                        /* 增加指令 */   
};

/*
===================================================================================================================
◆ 绑定菜单的'读取'事件 (新建)  <衔接位置:rpg_scenes.js —— Scene_Menu >
===================================================================================================================
*/
Scene_Menu.prototype.createCommandWindow = function() {
        MLC.CCW.call(this);                                                   /* 调入 */
        this._commandWindow.setHandler('load', this.commandLoad.bind(this));  /* 绑定 */
};

/*
===================================================================================================================
◆ 执行'读取'命令 (新建)  <衔接位置:rpg_scenes.js —— Scene_Menu >
===================================================================================================================
*/
Scene_Menu.prototype.commandLoad = function(){  
        Scene_Title.prototype.commandContinue.call(this);        /* 调用标题画面的读档方法 */
};
[/pre]
梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
回帖
1464
发表于 2016-6-27 20:46:14 | 显示全部楼层
然而不懂你的问题是什么,
看起来这是一个菜单里添加 读取 选项 的插件

MLC.LoadName     =  '读取'                                          /* 创建变量 */
回复

使用道具 举报

梦石
0
星屑
50
在线时间
81 小时
注册时间
2016-1-6
回帖
145
发表于 2016-6-27 21:06:01 | 显示全部楼层
这段代码没毛病啊,保存成脚本文件运行后效果有效,也没有报错,你是不是保存脚本的文本格式不对
回复

使用道具 举报

梦石
0
星屑
1005
在线时间
212 小时
注册时间
2011-11-23
回帖
76
 楼主| 发表于 2016-6-28 09:11:39 | 显示全部楼层
seedj13 发表于 2016-6-27 21:06
这段代码没毛病啊,保存成脚本文件运行后效果有效,也没有报错,你是不是保存脚本的文本格式不对 ...

只是不知道这个新变量应该在何处创建,因为对js并不熟悉,所以在调试的时候总是提示什么MLC未赋值(未创建)或者“too much recursion”
回复

使用道具 举报

梦石
0
星屑
1005
在线时间
212 小时
注册时间
2011-11-23
回帖
76
 楼主| 发表于 2016-6-28 09:15:53 | 显示全部楼层
seedj13 发表于 2016-6-27 21:06
这段代码没毛病啊,保存成脚本文件运行后效果有效,也没有报错,你是不是保存脚本的文本格式不对 ...

不知道老师能否将已经写好的两个文件发到rkjspb@163.com邮箱里面,抱歉变成一个伸手党,只是因为不会js编程(不熟悉其操作),这段代码又急着用,已经快研究了一周了也总是出现错误,我想看看这些代码是如何写的,我是否有错误的地方
回复

使用道具 举报

梦石
0
星屑
1005
在线时间
212 小时
注册时间
2011-11-23
回帖
76
 楼主| 发表于 2016-6-28 09:49:56 | 显示全部楼层
汪汪 发表于 2016-6-27 20:46
然而不懂你的问题是什么,
看起来这是一个菜单里添加 读取 选项 的插件

具体老师可以看下这个帖子https://rpg.blue/thread-394258-1-1.html
我不知道这个MLC变量应该在具体哪个位置创建,还请老师指教
回复

使用道具 举报

梦石
0
星屑
50
在线时间
81 小时
注册时间
2016-1-6
回帖
145
发表于 2016-6-28 13:05:22 | 显示全部楼层
我觉得你好像是方向错了,你是不是没用脚本插件加载啊?
这是脚本文件:http://pan.baidu.com/s/1jHVBKVk
把脚本放在你的项目文件夹下,这个位置

然后打开软件的工具里的插件管理,如图:

空白处右键添加新的脚本

设置成如图

运行效果如下
回复

使用道具 举报

梦石
0
星屑
50
在线时间
81 小时
注册时间
2016-1-6
回帖
145
发表于 2016-6-28 13:07:56 | 显示全部楼层
正常情况下是不会有人问把声明放在哪个位置的,因为你发的代码本身就是一个完整的脚本代码,所以我估计你是完全不知道脚本插件加载这个功能,而是把这段代码插入到原始代码文件中去了,是吧?
回复

使用道具 举报

梦石
0
星屑
4623
在线时间
1207 小时
注册时间
2016-4-7
回帖
944

开拓者

发表于 2016-6-28 14:11:04 | 显示全部楼层
这个mlc就是干了以前RGSS时代的赋值别名的活,把Scene_Menu实例的create和createCommandWindow两个方法别名,然后在重新定义了一下
和
class Scene_Menu
  alias :mlc :create
  def create
  mlc
  ...
  end
end
所以这段脚本应该放在Scene_Menu定义之后实例之前
反正你只要丢进脚本加载器里就没啥问题『这个就和VA的main之上,其余脚本之下一样,一般那个位置有个说明就叫“插入脚本”』
附庸的附庸不是我的附庸,女儿的女儿还是我的女儿。CK2沉迷ing
回复

使用道具 举报

梦石
0
星屑
1005
在线时间
212 小时
注册时间
2011-11-23
回帖
76
 楼主| 发表于 2016-6-28 18:03:48 | 显示全部楼层
seedj13 发表于 2016-6-27 21:06
这段代码没毛病啊,保存成脚本文件运行后效果有效,也没有报错,你是不是保存脚本的文本格式不对 ...

不用了,多谢老师提醒,发现原来可以通过插件方式调用,我真是太笨了
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部