设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3284|回复: 26
打印 上一主题 下一主题

[有事请教] (已解决)MV汉化版物品图鉴崩溃问题

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1830
在线时间
314 小时
注册时间
2021-11-7
帖子
165
1
发表于 2021-12-17 20:52:33 | 显示全部楼层
本帖最后由 夏虫沉默 于 2021-12-17 21:19 编辑

我也没用过这个插件,不过为什么complete(完成)道具图鉴 会在  open(打开)道具图鉴的前面,你可以试着交换一下两者的顺序,或者只保留打开道具图鉴--ItemBook open
我试了一下ItemBook complete解锁全图鉴,ItemBook open打开图鉴,这个顺序是没有问题,可以正常使用,可能是和某个插件冲突了,你可以按下F12查看下问题
欲速春风山劝阻,不得恰恰不得呼。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1830
在线时间
314 小时
注册时间
2021-11-7
帖子
165
2
发表于 2021-12-18 18:13:53 | 显示全部楼层
本帖最后由 夏虫沉默 于 2021-12-19 12:01 编辑

可能是二者内部的变量名冲突了,导致取不到属性name的值;
偶然发现ItemBook里有一个item.meta.book的属性,设置为'no'时,该物品就不会出现在图鉴里,看了下帮助文档,原来这个也有注明,在备注(meta)栏使用标签<book:no>
欲速春风山劝阻,不得恰恰不得呼。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1830
在线时间
314 小时
注册时间
2021-11-7
帖子
165
3
发表于 2021-12-18 19:54:05 | 显示全部楼层
本帖最后由 夏虫沉默 于 2021-12-19 10:35 编辑

你可以打开itembook.js的272行,或者直接在浏览器的console点击对应的行数都可以看到有异常的代码;;
我试了一下,只导入插件YEP_CoreEngine和YEP_X_CoreUpdatesOpt,使用插件命令ItemBook complete和ItemBook open是可以正常使用和打开的,可能是其他插件修改了$dataItems数组;
你可以试着在Window_ItemBookIndex.prototype.refresh里面插入以下代码在 item = $dataItems;下面一行,(大概在272行左右)
JAVASCRIPT 代码复制
  1. if(item==null){
  2.         continue;
  3. }
  4. console.log(item.name);//查看物品的名字

不出意外的话,应该可以看到类似这样的效果
欲速春风山劝阻,不得恰恰不得呼。
回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1830
在线时间
314 小时
注册时间
2021-11-7
帖子
165
4
发表于 2021-12-21 20:11:10 | 显示全部楼层
本帖最后由 夏虫沉默 于 2021-12-22 09:13 编辑

只有两类人会用记事本修改代码,要么是大佬,要么是新手。然后顺便把F12打开console显示的内容也截图下。之前加入的4行代码,你还需要在item=$dataWeapons的下面添加1次,在item=$dataArmors下面添加1次,总计就是3次,一个是物品,一个是武器,一个是防具如果有想法的话,还可以把一个物品图鉴分成3个碎片,刚开始只有查看防具图鉴,拿到另外2个碎片后,升级成完全的图鉴
欲速春风山劝阻,不得恰恰不得呼。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1830
在线时间
314 小时
注册时间
2021-11-7
帖子
165
5
发表于 2021-12-21 21:25:22 | 显示全部楼层
本帖最后由 夏虫沉默 于 2021-12-22 12:07 编辑

这个要等我多测试下这个插件进一步怎么使用再说。如果要调试,都是要看浏览器的开发者模式,也就是F12打开的模式,其中的console就是控制台窗口,通过console.log()方法可以在控制台打印指定的变量或者字符串。
JAVASCRIPT 代码复制
  1. //在js语言中使用两条斜杆注释代码,注释的部分不会运行,主要作用是方便阅读
  2.  
  3. if(item==null){///这段代码的if关键字是条件判断,如果满足什么条件,那么执行。。。代码
  4.         continue;//当用于for循环体中时,continue会让代码运行直接跳转到for的第三段
  5. ///如果没学过编程的话,continue可以理解为,假如我们在排队买票(for循环)上车,有时候会看到前面的人没带身份证导致买不了票(if(item==null)),一般售票员会喊‘下一个’,这就是continue;
  6. }
  7. console.log(item.name);//在F12调试console窗口打印物品的名字
  8.  
  9.  
  10.   for (i = 1; i < $dataItems.length; i++) {
  11.             item = $dataItems[i];
  12.                         if(item==null){
  13.                                 continue;
  14.                         }
  15.                         console.log(item.meta.book);
  16.             if (item.name && item.itypeId === 1 && item.meta.book !== 'no') {
  17.                 this._list.push(item);
  18.             }
  19.         }
  20.  
  21. ///这段代码的for关键字是一个循环,当满足条件的时候,则执行。。。循环体代码,类似的也可以使用while关键字(当满足条件的时候,则执行。。。循环体代码)
  22. //与while循环不同的是,for(;;)中间有2个英文的分号;将()里的语句分成了3段,
  23. ///第一段是初始化(i=1----定义了一个变量i,并让他的初始值为1),
  24. ///第二段是条件(i < $dataItems.length----当i的值小于数据库里物品的个数时执行),
  25. ///第三段是每次循环最后执行的语句(i++的意思是----(先使用i的值,然后让)i的值+1,例如i的值是1,那么i++之后,i的值就是2)
  26.  
  27. //其他的就不多说了,有这个概念就可以了
欲速春风山劝阻,不得恰恰不得呼。
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-14 13:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表